mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -3,10 +3,15 @@
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- **[CIS]** Reservierungen im Stundenplan prüft nun die Verfügbarkeit des Raums im Stundenplandev
|
||||
- **[FAS]** Projektarbeiten können als Final markiert werden
|
||||
- **[FAS]** Verwaltung von Rechnungsadressen
|
||||
- **[CIS]** Mitarbeiter und Studierende können nach dem Login im CIS zur Passwortänderung umgeleitet werden wenn dieses seit über einem Jahr nicht geändert wurde
|
||||
- **[FAS]** Bei Statuswechsel von Studierenden können Gründe für den Statuswechsel angegeben werden
|
||||
|
||||
### CHANGED
|
||||
- **[CORE]** Berechtigungsprüfung wurde angepasst damit deaktiverte Benutzer keine Berechtigungen mehr haben
|
||||
|
||||
## [3.2]
|
||||
|
||||
### Added
|
||||
|
||||
@@ -58,9 +58,7 @@ $autoload['packages'] = array();
|
||||
|
|
||||
| $autoload['libraries'] = array('user_agent' => 'ua');
|
||||
*/
|
||||
|
||||
//$autoload['libraries'] = array();
|
||||
$autoload['libraries'] = array('Session', 'FHC_Auth', 'TemplateLib');
|
||||
$autoload['libraries'] = array('Session', 'FHC_Auth');
|
||||
|
||||
/*
|
||||
| -------------------------------------------------------------------
|
||||
|
||||
Regular → Executable
+2
-1
@@ -8,6 +8,7 @@ $config['email_number_to_sent'] = 1000; // Number of emails to sent each time se
|
||||
$config['email_number_per_time_range'] = 1; // Number of emails to sent before pause
|
||||
$config['email_time_range'] = 1; // Length of the pause in seconds
|
||||
$config['email_from_system'] = 'no-reply@technikum-wien.at';
|
||||
$config['alias_from_system'] = 'No Reply';
|
||||
|
||||
// Smtp: if the CI email library has to connect to a smtp server
|
||||
// Mail: if the system is setup to send emails with the standard php mail function
|
||||
@@ -28,4 +29,4 @@ $config['wordwrap'] = true; // {unwrap}http://example.com/a_long_link_that_shoul
|
||||
$config['wrapchars'] = 76; // Character count to wrap at.
|
||||
$config['mailtype'] = 'html'; // html or text
|
||||
$config['priority'] = 3; // Email Priority. 1 = highest. 5 = lowest. 3 = normal
|
||||
$config['validate'] = false; // If true then the email address will be validated
|
||||
$config['validate'] = false; // If true then the email address will be validated
|
||||
|
||||
Regular → Executable
+34
-5
@@ -14,6 +14,10 @@
|
||||
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* NOTE: in this controller is not possible to include/call everything
|
||||
* that automatically call the authentication system, like the most of models or libraries
|
||||
*/
|
||||
class ViewMessage extends CI_Controller
|
||||
{
|
||||
/**
|
||||
@@ -22,27 +26,52 @@ class ViewMessage extends CI_Controller
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
// Loading config file message
|
||||
$this->config->load('message');
|
||||
|
||||
// Load model MessageToken_model
|
||||
|
||||
// Load model MessageToken_model, not calling the authentication system
|
||||
$this->load->model('system/MessageToken_model', 'MessageTokenModel');
|
||||
}
|
||||
|
||||
/**
|
||||
* Using the MessageTokenModel instead of MessageLib to allow
|
||||
* viewing the message without prompting the login
|
||||
*/
|
||||
public function toHTML($token)
|
||||
{
|
||||
$msg = $this->MessageTokenModel->getMessageByToken($token);
|
||||
|
||||
|
||||
if ($msg->error)
|
||||
{
|
||||
show_error($msg->retval);
|
||||
}
|
||||
|
||||
|
||||
if (is_array($msg->retval) && count($msg->retval) > 0)
|
||||
{
|
||||
$setReadMessageStatusByToken = $this->MessageTokenModel->setReadMessageStatusByToken($token);
|
||||
|
||||
if (isError($setReadMessageStatusByToken))
|
||||
{
|
||||
show_error($msg->$setReadMessageStatusByToken);
|
||||
}
|
||||
|
||||
$sender_id = $msg->retval[0]->sender_id;
|
||||
$receiver_id = $msg->retval[0]->receiver_id;
|
||||
$sender = $this->MessageTokenModel->getSenderData($sender_id);
|
||||
|
||||
// To decide how to change the redirection
|
||||
$isEmployee = $this->MessageTokenModel->isEmployee($receiver_id);
|
||||
if (!is_bool($isEmployee) && isError($isEmployee))
|
||||
{
|
||||
show_error($isEmployee);
|
||||
}
|
||||
|
||||
$data = array (
|
||||
'sender_id' => $sender_id,
|
||||
'sender' => $sender->retval[0],
|
||||
'message' => $msg->retval[0],
|
||||
'isEmployee' => $isEmployee,
|
||||
'href' => APP_ROOT . $this->config->item('redirect_view_message_url') . $token
|
||||
);
|
||||
|
||||
|
||||
@@ -89,17 +89,15 @@ class Studiengang2 extends APIv1_Controller
|
||||
$person_id = $this->get('person_id');
|
||||
$studiensemester_kurzbz = $this->get('studiensemester_kurzbz');
|
||||
$titel = $this->get('titel');
|
||||
$status_kurzbz = $this->get('status_kurzbz');
|
||||
|
||||
if (isset($person_id) && isset($studiensemester_kurzbz) && isset($titel) && isset($status_kurzbz))
|
||||
if (isset($person_id) && isset($studiensemester_kurzbz) && isset($titel))
|
||||
{
|
||||
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
|
||||
|
||||
$result = $this->StudiengangModel->getAppliedStudiengang(
|
||||
$person_id,
|
||||
$studiensemester_kurzbz,
|
||||
$titel,
|
||||
$status_kurzbz
|
||||
$titel
|
||||
);
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
|
||||
@@ -7,7 +7,13 @@ class Messages extends VileSci_Controller
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loads the message library
|
||||
$this->load->library('MessageLib');
|
||||
|
||||
// Loads the widget library
|
||||
$this->load->library('WidgetLib');
|
||||
|
||||
$this->load->model('person/Person_model', 'PersonModel');
|
||||
}
|
||||
|
||||
|
||||
@@ -7,8 +7,13 @@ class Phrases extends FHC_Controller
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loads the phrases library
|
||||
$this->load->library('PhrasesLib');
|
||||
|
||||
// Loads the widget library
|
||||
$this->load->library('WidgetLib');
|
||||
|
||||
// Loads helper message to manage returning messages
|
||||
$this->load->helper('message');
|
||||
}
|
||||
|
||||
@@ -1,212 +0,0 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Users extends VileSci_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loads helper message to manage returning messages
|
||||
$this->load->helper('message');
|
||||
|
||||
// Load the library to use the widgets
|
||||
$this->load->library('TemplateLib');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$studiengang = $this->input->post('studiengang');
|
||||
$studiensemester = $this->input->post('studiensemester');
|
||||
$gruppe = $this->input->post('gruppe');
|
||||
$reihungstest = $this->input->post('reihungstest');
|
||||
$stufe = $this->input->post('stufe');
|
||||
|
||||
$returnUsers = null;
|
||||
if ($studiengang != null || $studiensemester != null || $gruppe!= null
|
||||
|| $reihungstest != null || $stufe != null)
|
||||
{
|
||||
$returnUsers = $this->_getUsers($studiengang, $studiensemester, $gruppe, $reihungstest, $stufe);
|
||||
}
|
||||
|
||||
$users = null;
|
||||
if (hasData($returnUsers))
|
||||
{
|
||||
$users = $returnUsers->retval;
|
||||
}
|
||||
|
||||
// Gruppen
|
||||
$this->load->model('organisation/Gruppe_model', 'GruppeModel');
|
||||
$this->GruppeModel->addOrder('beschreibung');
|
||||
$gruppen = $this->GruppeModel->loadWhere(array('aktiv' => true, 'aufnahmegruppe' => true));
|
||||
if (hasData($gruppen))
|
||||
{
|
||||
// Adding an empty element at the beginning
|
||||
$emptyElement = new stdClass();
|
||||
$emptyElement->gruppe_kurzbz = '-1';
|
||||
$emptyElement->beschreibung = 'Select a group...';
|
||||
array_unshift($gruppen->retval, $emptyElement);
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error($gruppen->retval);
|
||||
}
|
||||
|
||||
// Stufe
|
||||
$this->load->model('crm/Reihungstest_model', 'ReihungstestModel');
|
||||
$this->ReihungstestModel->addSelect('DISTINCT ON(stufe) stufe, stufe AS beschreibung');
|
||||
$this->ReihungstestModel->addOrder('stufe');
|
||||
$stufen = $this->ReihungstestModel->loadWhere('stufe IS NOT NULL');
|
||||
if (hasData($stufen))
|
||||
{
|
||||
// Adding an empty element at the beginning
|
||||
$emptyElement = new stdClass();
|
||||
$emptyElement->stufe = '-1';
|
||||
$emptyElement->beschreibung = 'Select a stufe...';
|
||||
array_unshift($stufen->retval, $emptyElement);
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error($stufen->retval);
|
||||
}
|
||||
|
||||
if ($returnUsers == null || isSuccess($returnUsers))
|
||||
{
|
||||
$viewData = array(
|
||||
'studiengang' => $studiengang,
|
||||
'studiensemester' => $studiensemester,
|
||||
'gruppe' => $gruppe,
|
||||
'reihungstest' => $reihungstest,
|
||||
'stufe' => $stufe,
|
||||
'users' => $users,
|
||||
'gruppen' => $gruppen->retval,
|
||||
'stufen' => $stufen->retval
|
||||
);
|
||||
|
||||
$this->load->view('system/users', $viewData);
|
||||
}
|
||||
else if (isError($returnUsers))
|
||||
{
|
||||
show_error($returnUsers->retval);
|
||||
}
|
||||
}
|
||||
|
||||
public function linkToStufe()
|
||||
{
|
||||
$prestudentIdArray = $this->input->post('prestudent_id');
|
||||
$stufe = $this->input->post('stufe');
|
||||
|
||||
// Load model PrestudentstatusModel
|
||||
$this->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
|
||||
|
||||
$result = $this->PrestudentstatusModel->updateStufe($prestudentIdArray, $stufe);
|
||||
|
||||
if (isSuccess($result))
|
||||
{
|
||||
$href = str_replace("/system/Users/linkToStufe", "/system/Users", $_SERVER["REQUEST_URI"]);
|
||||
echo "<div>Data correctly saved - <a href=\"" . $href . "\">Back</a></div>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<div>Error occurred while saving data, please contact the administrator.</div>";
|
||||
}
|
||||
}
|
||||
|
||||
public function linkToAufnahmegruppe()
|
||||
{
|
||||
$prestudentIdArray = $this->input->post('prestudent_id');
|
||||
$aufnahmegruppe = $this->input->post('aufnahmegruppe');
|
||||
|
||||
// Load model PrestudentstatusModel
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
|
||||
$result = $this->PrestudentModel->updateAufnahmegruppe($prestudentIdArray, $aufnahmegruppe);
|
||||
|
||||
if (isSuccess($result))
|
||||
{
|
||||
$href = str_replace("/system/Users/linkToAufnahmegruppe", "/system/Users", $_SERVER["REQUEST_URI"]);
|
||||
echo "<div>Data correctly saved - <a href=\"" . $href . "\">Back</a></div>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<div>Error occurred while saving data, please contact the administrator.</div>";
|
||||
}
|
||||
}
|
||||
|
||||
private function _getUsers($studiengang, $studiensemester, $gruppe, $reihungstest, $stufe)
|
||||
{
|
||||
// Load model prestudentm_model
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
|
||||
$this->PrestudentModel->addSelect(
|
||||
'DISTINCT ON(p.person_id, prestudent_id) p.person_id,
|
||||
prestudent_id,
|
||||
p.nachname,
|
||||
p.vorname,
|
||||
p.geschlecht,
|
||||
p.gebdatum,
|
||||
k.kontakt AS email,
|
||||
sg.kurzbzlang,
|
||||
sg.bezeichnung,
|
||||
sg.orgform_kurzbz,
|
||||
sgt.bezeichnung AS typ,
|
||||
s.bezeichnung AS studienplan,
|
||||
ps.rt_stufe,
|
||||
aufnahmegruppe_kurzbz,
|
||||
rtp.punkte'
|
||||
);
|
||||
|
||||
$this->PrestudentModel->addJoin('public.tbl_rt_person rtp', 'person_id');
|
||||
$this->PrestudentModel->addJoin('public.tbl_person p', 'person_id', 'LEFT');
|
||||
$this->PrestudentModel->addJoin(
|
||||
'(
|
||||
SELECT person_id,
|
||||
kontakt
|
||||
FROM public.tbl_kontakt
|
||||
WHERE zustellung = TRUE
|
||||
AND kontakttyp = \'email\'
|
||||
ORDER BY kontakt_id DESC
|
||||
) k',
|
||||
'person_id',
|
||||
'LEFT'
|
||||
);
|
||||
$this->PrestudentModel->addJoin('public.tbl_prestudentstatus ps', 'prestudent_id');
|
||||
$this->PrestudentModel->addJoin('lehre.tbl_studienplan s', 's.studienplan_id = ps.studienplan_id');
|
||||
$this->PrestudentModel->addJoin('lehre.tbl_studienordnung so', 'studienordnung_id');
|
||||
$this->PrestudentModel->addJoin('public.tbl_studiengang sg', 'sg.studiengang_kz = so.studiengang_kz');
|
||||
$this->PrestudentModel->addJoin('public.tbl_studiengangstyp sgt', 'typ');
|
||||
|
||||
$this->PrestudentModel->addOrder('p.person_id', 'ASC');
|
||||
$this->PrestudentModel->addOrder('prestudent_id', 'ASC');
|
||||
|
||||
$parametersArray = array('p.aktiv' => true, 'ps.status_kurzbz' => 'Interessent');
|
||||
|
||||
if ($studiengang != null && $studiengang != '-1')
|
||||
{
|
||||
$parametersArray['sg.studiengang_kz'] = $studiengang;
|
||||
}
|
||||
|
||||
if ($studiensemester != null && $studiensemester != '-1')
|
||||
{
|
||||
$parametersArray['ps.studiensemester_kurzbz'] = $studiensemester;
|
||||
}
|
||||
|
||||
if ($gruppe != null && $gruppe != '-1')
|
||||
{
|
||||
$parametersArray['aufnahmegruppe_kurzbz'] = $gruppe;
|
||||
}
|
||||
|
||||
if ($reihungstest != null && $reihungstest != '-1')
|
||||
{
|
||||
$parametersArray['rtp.rt_id'] = $reihungstest;
|
||||
}
|
||||
|
||||
if ($stufe != null && $stufe != '-1')
|
||||
{
|
||||
$parametersArray['ps.rt_stufe'] = $stufe;
|
||||
}
|
||||
|
||||
return $this->PrestudentModel->loadWhere($parametersArray);
|
||||
}
|
||||
}
|
||||
+121
-85
@@ -1,108 +1,122 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Templates extends FHC_Controller
|
||||
class Vorlage extends VileSci_Controller
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loads the vorlage library
|
||||
$this->load->library('VorlageLib');
|
||||
|
||||
// Loads the widget library
|
||||
$this->load->library('WidgetLib');
|
||||
}
|
||||
|
||||
|
||||
public function index()
|
||||
{
|
||||
$this->load->view('system/templates.php');
|
||||
$this->load->view('system/vorlage/templates.php');
|
||||
}
|
||||
|
||||
|
||||
public function table()
|
||||
{
|
||||
$mimetype = $this->input->post('mimetype', TRUE);
|
||||
$mimetype = $this->input->post('mimetype');
|
||||
|
||||
if (is_null($mimetype))
|
||||
$mimetype = 'text/html';
|
||||
if ($mimetype == '')
|
||||
$mimetype = null;
|
||||
|
||||
$vorlage = $this->vorlagelib->getVorlageByMimetype($mimetype);
|
||||
|
||||
if ($vorlage->error)
|
||||
show_error($vorlage->retval);
|
||||
//var_dump($vorlage);
|
||||
|
||||
$data = array
|
||||
(
|
||||
$data = array (
|
||||
'mimetype' => $mimetype,
|
||||
'vorlage' => $vorlage->retval
|
||||
);
|
||||
$v = $this->load->view('system/templatesList.php', $data);
|
||||
|
||||
$v = $this->load->view('system/vorlage/templatesList.php', $data);
|
||||
}
|
||||
|
||||
|
||||
public function view($vorlage_kurzbz = null)
|
||||
{
|
||||
if (empty($vorlage_kurzbz))
|
||||
exit;
|
||||
if (empty($vorlage_kurzbz)) exit;
|
||||
|
||||
$vorlagentext = $this->vorlagelib->getVorlagetextByVorlage($vorlage_kurzbz);
|
||||
|
||||
if ($vorlagentext->error)
|
||||
show_error($vorlagentext->retval);
|
||||
//var_dump($vorlagentext);
|
||||
|
||||
$data = array
|
||||
(
|
||||
$data = array (
|
||||
'vorlage_kurzbz' => $vorlage_kurzbz,
|
||||
'vorlagentext' => $vorlagentext->retval
|
||||
);
|
||||
$v = $this->load->view('system/templatetextList.php', $data);
|
||||
|
||||
$v = $this->load->view('system/vorlage/templatetextList.php', $data);
|
||||
}
|
||||
|
||||
|
||||
public function edit($vorlage_kurzbz = null)
|
||||
{
|
||||
if (empty($vorlage_kurzbz))
|
||||
exit;
|
||||
if (empty($vorlage_kurzbz)) exit;
|
||||
|
||||
$vorlage = $this->vorlagelib->getVorlage($vorlage_kurzbz);
|
||||
//var_dump($vorlage);
|
||||
|
||||
if ($vorlage->error)
|
||||
show_error($vorlage->retval);
|
||||
|
||||
if (count($vorlage->retval) != 1)
|
||||
show_error('Nachricht nicht vorhanden! ID: '.$vorlage_kurzbz);
|
||||
|
||||
$data = array
|
||||
(
|
||||
|
||||
$data = array (
|
||||
'vorlage' => $vorlage->retval[0]
|
||||
);
|
||||
//var_dump($data['message']);
|
||||
$v = $this->load->view('system/templatesEdit', $data);
|
||||
|
||||
$v = $this->load->view('system/vorlage/templatesEdit', $data);
|
||||
}
|
||||
|
||||
public function write($vorlage_kurzbz = null)
|
||||
{
|
||||
$data = array
|
||||
(
|
||||
$data = array (
|
||||
'subject' => 'TestSubject',
|
||||
'body' => 'TestDevelopmentBodyText'
|
||||
);
|
||||
$v = $this->load->view('system/messageWrite', $data);
|
||||
);
|
||||
|
||||
$v = $this->load->view('system/vorlage/messageWrite', $data);
|
||||
}
|
||||
|
||||
public function save()
|
||||
{
|
||||
$vorlage_kurzbz = $this->input->post('vorlage_kurzbz', TRUE);
|
||||
$data['bezeichnung'] = $this->input->post('bezeichnung', TRUE);
|
||||
$data['anmerkung'] = $this->input->post('anmerkung', TRUE);
|
||||
$data['mimetype'] = $this->input->post('mimetype', TRUE);
|
||||
$data['attribute'] = $this->input->post('attribute', TRUE);
|
||||
$vorlage_kurzbz = $this->input->post('vorlage_kurzbz');
|
||||
|
||||
$data = array(
|
||||
'bezeichnung' => $this->input->post('bezeichnung'),
|
||||
'anmerkung' => $this->input->post('anmerkung'),
|
||||
'mimetype' => $this->input->post('mimetype'),
|
||||
'attribute' => $this->input->post('attribute')
|
||||
);
|
||||
|
||||
$vorlage = $this->vorlagelib->saveVorlage($vorlage_kurzbz, $data);
|
||||
|
||||
if ($vorlage->error)
|
||||
show_error($vorlage->retval);
|
||||
|
||||
$vorlage_kurzbz = $vorlage->retval;
|
||||
|
||||
redirect('/system/Templates/edit/'.$vorlage_kurzbz);
|
||||
|
||||
redirect('/system/vorlage/edit/'.$vorlage_kurzbz);
|
||||
}
|
||||
|
||||
|
||||
public function newText()
|
||||
{
|
||||
$vorlage_kurzbz = $this->input->post('vorlage_kurzbz', true);
|
||||
$vorlage_kurzbz = $this->input->post('vorlage_kurzbz');
|
||||
|
||||
$this->load->model('organisation/Organisationseinheit_model', 'OrganisationseinheitModel');
|
||||
$this->OrganisationseinheitModel->addLimit(1);
|
||||
$this->OrganisationseinheitModel->addOrder('oe_kurzbz');
|
||||
|
||||
$resultOE = $this->OrganisationseinheitModel->loadWhere(array('aktiv' => true, 'oe_parent_kurzbz' => null));
|
||||
|
||||
if ($resultOE->error)
|
||||
@@ -120,105 +134,127 @@ class Templates extends FHC_Controller
|
||||
);
|
||||
|
||||
$vorlagetext = $this->vorlagelib->insertVorlagetext($data);
|
||||
|
||||
if ($vorlagetext->error)
|
||||
show_error($vorlagetext->retval);
|
||||
|
||||
$vorlagestudiengang_id = $vorlagetext->retval;
|
||||
|
||||
redirect('/system/Templates/editText/'.$vorlagestudiengang_id);
|
||||
redirect('/system/vorlage/editText/'.$vorlagestudiengang_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error('No valid organisation unit found');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function editText($vorlagestudiengang_id)
|
||||
{
|
||||
$vorlagetext = $this->vorlagelib->getVorlagetextById($vorlagestudiengang_id);
|
||||
|
||||
if ($vorlagetext->error)
|
||||
show_error($vorlagetext->retval);
|
||||
|
||||
$data = $vorlagetext->retval[0];
|
||||
|
||||
|
||||
// Preview-Data
|
||||
$schema = $this->vorlagelib->getVorlage($data->vorlage_kurzbz);
|
||||
|
||||
$data->schema = $schema->retval[0]->attribute;
|
||||
|
||||
$this->load->view('system/templatetextEdit', $data);
|
||||
|
||||
$this->load->view('system/vorlage/templatetextEdit', $data);
|
||||
}
|
||||
|
||||
|
||||
public function linkDocuments($vorlagestudiengang_id)
|
||||
{
|
||||
$this->load->model('system/vorlagedokument_model');
|
||||
$return = $this->vorlagedokument_model->loadDokumenteFromVorlagestudiengang($vorlagestudiengang_id);
|
||||
$data = array();
|
||||
|
||||
$this->load->model('system/Vorlagedokument_model', 'VorlagedokumentModel');
|
||||
|
||||
$return = $this->VorlagedokumentModel->loadDokumenteFromVorlagestudiengang($vorlagestudiengang_id);
|
||||
|
||||
$data['documents'] = $return->retval;
|
||||
|
||||
$this->load->model('system/dokument_model');
|
||||
$this->dokument_model->addOrder("bezeichnung");
|
||||
$return = $this->dokument_model->load();
|
||||
|
||||
$this->load->model('system/Dokument_model', 'DokumentModel');
|
||||
$this->DokumentModel->addOrder('bezeichnung');
|
||||
|
||||
$return = $this->DokumentModel->load();
|
||||
|
||||
$data['allDocuments'] = $return->retval;
|
||||
|
||||
$data['vorlagestudiengang_id'] = $vorlagestudiengang_id;
|
||||
|
||||
$this->load->view('system/templateLinkDocuments', $data);
|
||||
|
||||
$this->load->view('system/vorlage/templateLinkDocuments', $data);
|
||||
}
|
||||
|
||||
|
||||
public function saveDocuments($vorlagestudiengang_id, $dokument_kurzbz, $sort)
|
||||
{
|
||||
$this->load->model('system/vorlagedokument_model');
|
||||
$insert = array();
|
||||
|
||||
$insert['vorlagestudiengang_id'] = $vorlagestudiengang_id;
|
||||
$insert['dokument_kurzbz'] = $dokument_kurzbz;
|
||||
$insert['sort'] = $sort;
|
||||
$this->vorlagedokument_model->insert($insert);
|
||||
$insert['sort'] = $sort;
|
||||
|
||||
$this->load->model('system/Vorlagedokument_model', 'VorlagedokumentModel');
|
||||
|
||||
$this->VorlagedokumentModel->insert($insert);
|
||||
}
|
||||
|
||||
|
||||
public function deleteDocumentLink($vorlagestudiengang_id)
|
||||
{
|
||||
$this->load->model('system/vorlagedokument_model');
|
||||
$this->vorlagedokument_model->delete($vorlagestudiengang_id);
|
||||
$this->load->model('system/Vorlagedokument_model', 'VorlagedokumentModel');
|
||||
|
||||
$this->VorlagedokumentModel->delete($vorlagestudiengang_id);
|
||||
}
|
||||
|
||||
|
||||
public function changeSort($vorlagestudiengang_id, $sort)
|
||||
{
|
||||
$this->load->model('system/vorlagedokument_model');
|
||||
$this->vorlagedokument_model->update($vorlagestudiengang_id, array("sort"=>$sort));
|
||||
$this->load->model('system/Vorlagedokument_model', 'VorlagedokumentModel');
|
||||
|
||||
$this->VorlagedokumentModel->update($vorlagestudiengang_id, array('sort' => $sort));
|
||||
}
|
||||
|
||||
|
||||
public function saveText()
|
||||
{
|
||||
$vorlagestudiengang_id = $this->input->post('vorlagestudiengang_id', TRUE);
|
||||
$data['studiengang_kz'] = $this->input->post('studiengang_kz', TRUE);
|
||||
$data['version'] = $this->input->post('version', TRUE);
|
||||
$data['oe_kurzbz'] = $this->input->post('oe_kurzbz', TRUE);
|
||||
$data = array(
|
||||
'studiengang_kz' => $this->input->post('studiengang_kz'),
|
||||
'version' => $this->input->post('version'),
|
||||
'oe_kurzbz' => $this->input->post('oe_kurzbz'),
|
||||
'aktiv' => $this->input->post('aktiv'),
|
||||
'text' => $this->input->post('text'),
|
||||
'vorlagestudiengang_id' => $this->input->post('vorlagestudiengang_id')
|
||||
);
|
||||
|
||||
if ($this->input->post('sprache') == '')
|
||||
$data['sprache'] = null;
|
||||
else
|
||||
$data['sprache'] = $this->input->post('sprache', TRUE);
|
||||
$data['sprache'] = $this->input->post('sprache');
|
||||
|
||||
if ($this->input->post('orgform_kurzbz') == '')
|
||||
$data['orgform_kurzbz'] = null;
|
||||
else
|
||||
$data['orgform_kurzbz'] = $this->input->post('orgform_kurzbz', TRUE);
|
||||
$data['text'] = $this->input->post('text', TRUE);
|
||||
$data['aktiv'] = $this->input->post('aktiv', TRUE);
|
||||
$vorlagetext = $this->vorlagelib->updateVorlagetext($vorlagestudiengang_id, $data);
|
||||
$data['orgform_kurzbz'] = $this->input->post('orgform_kurzbz');
|
||||
|
||||
$vorlagetext = $this->vorlagelib->updateVorlagetext($data['vorlagestudiengang_id'], $data);
|
||||
|
||||
if ($vorlagetext->error)
|
||||
show_error($vorlagetext->retval);
|
||||
$data['vorlagestudiengang_id'] = $vorlagestudiengang_id;
|
||||
redirect('/system/Templates/editText/'.$vorlagestudiengang_id);
|
||||
//$this->load->view('system/templatetextEdit', $data);
|
||||
|
||||
redirect('/system/vorlage/editText/'.$data['vorlagestudiengang_id']);
|
||||
}
|
||||
|
||||
|
||||
public function preview($vorlagestudiengang_id)
|
||||
{
|
||||
$formdata = $this->input->post('formdata', FALSE);
|
||||
$daten = json_decode($formdata, TRUE);
|
||||
$jsonDecodedForm = json_decode($this->input->post('formdata'), true);
|
||||
|
||||
$vorlagetext = $this->vorlagelib->getVorlagetextById($vorlagestudiengang_id);
|
||||
|
||||
if ($vorlagetext->error)
|
||||
show_error($vorlagetext->retval);
|
||||
$data = array
|
||||
(
|
||||
'text' => $this->vorlagelib->parseVorlagetext($vorlagetext->retval[0]->text, $daten)
|
||||
|
||||
$data = array(
|
||||
'text' => $this->vorlagelib->parseVorlagetext($vorlagetext->retval[0]->text, $jsonDecodedForm)
|
||||
);
|
||||
$this->load->view('system/templatetextPreview', $data);
|
||||
|
||||
$this->load->view('system/vorlage/templatetextPreview', $data);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class PrestudentMultiAssign extends VileSci_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loads helper message to manage returning messages
|
||||
$this->load->helper('message');
|
||||
|
||||
// Loads the widget library
|
||||
$this->load->library('WidgetLib');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$studiengang = $this->input->post('studiengang');
|
||||
$studiensemester = $this->input->post('studiensemester');
|
||||
$aufnahmegruppe = $this->input->post('aufnahmegruppe');
|
||||
$reihungstest = $this->input->post('reihungstest');
|
||||
$stufe = $this->input->post('stufe');
|
||||
|
||||
$returnUsers = null;
|
||||
if ($studiengang != null || $studiensemester != null || $aufnahmegruppe!= null
|
||||
|| $reihungstest != null || $stufe != null)
|
||||
{
|
||||
$returnUsers = $this->_getPrestudents($studiengang, $studiensemester, $aufnahmegruppe, $reihungstest, $stufe);
|
||||
}
|
||||
|
||||
$users = null;
|
||||
if (hasData($returnUsers))
|
||||
{
|
||||
$users = $returnUsers->retval;
|
||||
}
|
||||
|
||||
if ($returnUsers == null || isSuccess($returnUsers))
|
||||
{
|
||||
$viewData = array(
|
||||
'studiengang' => $studiengang,
|
||||
'studiensemester' => $studiensemester,
|
||||
'aufnahmegruppe' => $aufnahmegruppe,
|
||||
'reihungstest' => $reihungstest,
|
||||
'stufe' => $stufe,
|
||||
'users' => $users
|
||||
);
|
||||
|
||||
$this->load->view('system/aufnahme/prestudentMultiAssign', $viewData);
|
||||
}
|
||||
else if (isError($returnUsers))
|
||||
{
|
||||
show_error($returnUsers->retval);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* To assign a stufe to one or more prestudents
|
||||
*/
|
||||
public function linkToStufe()
|
||||
{
|
||||
$prestudentIdArray = $this->input->post('prestudent_id');
|
||||
$stufe = $this->input->post('stufe');
|
||||
|
||||
// Load model PrestudentstatusModel
|
||||
$this->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
|
||||
|
||||
$result = error("No valid parameters");
|
||||
if (isset($stufe) && isset($prestudentIdArray) && is_array($prestudentIdArray) && count($prestudentIdArray) >0)
|
||||
{
|
||||
$result = $this->PrestudentstatusModel->updateStufe($prestudentIdArray, $stufe);
|
||||
}
|
||||
|
||||
$this->output->set_header('Content-Type: application/json; charset=utf-8');
|
||||
|
||||
if (isSuccess($result))
|
||||
{
|
||||
echo '{"msg": "Data correctly saved"}';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '{"msg": "Error occurred while saving data, please contact the administrator"}';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* To assign one or more prestudents to a gruppe
|
||||
*/
|
||||
public function linkToAufnahmegruppe()
|
||||
{
|
||||
$prestudentIdArray = $this->input->post('prestudent_id');
|
||||
$aufnahmegruppe = $this->input->post('aufnahmegruppe');
|
||||
|
||||
// Load model PrestudentstatusModel
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
|
||||
$result = error("No valid parameters");
|
||||
if (isset($aufnahmegruppe) && isset($prestudentIdArray) && is_array($prestudentIdArray) && count($prestudentIdArray) >0)
|
||||
{
|
||||
$result = $this->PrestudentModel->updateAufnahmegruppe($prestudentIdArray, $aufnahmegruppe);
|
||||
}
|
||||
|
||||
$this->output->set_header('Content-Type: application/json; charset=utf-8');
|
||||
|
||||
if (isSuccess($result))
|
||||
{
|
||||
echo '{"msg": "Data correctly saved"}';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '{"msg": "Error occurred while saving data, please contact the administrator"}';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the prestudents using search parameters
|
||||
*/
|
||||
private function _getPrestudents($studiengang, $studiensemester, $aufnahmegruppe, $reihungstest, $stufe)
|
||||
{
|
||||
// Load model prestudentm_model
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
|
||||
if ($studiengang == '' || empty($studiengang))
|
||||
{
|
||||
$studiengang = null;
|
||||
}
|
||||
|
||||
if ($studiensemester == '' || empty($studiensemester))
|
||||
{
|
||||
$studiensemester = null;
|
||||
}
|
||||
|
||||
if ($aufnahmegruppe == '' || empty($aufnahmegruppe))
|
||||
{
|
||||
$aufnahmegruppe = null;
|
||||
}
|
||||
|
||||
if ($reihungstest == '' || empty($reihungstest))
|
||||
{
|
||||
$reihungstest = null;
|
||||
}
|
||||
|
||||
if ($stufe == '' || empty($stufe))
|
||||
{
|
||||
$stufe = null;
|
||||
}
|
||||
|
||||
return $this->PrestudentModel->getPrestudentMultiAssign(
|
||||
$studiengang,
|
||||
$studiensemester,
|
||||
$aufnahmegruppe,
|
||||
$reihungstest,
|
||||
$stufe
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,6 @@ class APIv1_Controller extends REST_Controller
|
||||
parent::__construct();
|
||||
|
||||
// Loads return messages
|
||||
$this->load->helper('Message');
|
||||
$this->load->helper('message');
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ class DB_Model extends FHC_Model
|
||||
const PGSQL_BOOLEAN_TRUE = 't';
|
||||
const PGSQL_BOOLEAN_FALSE = 'f';
|
||||
const MODEL_POSTFIX = '_model';
|
||||
const DEFAULT_SCHEMA = 'public';
|
||||
|
||||
protected $dbTable; // Name of the DB-Table for CI-Insert, -Update, ...
|
||||
protected $pk; // Name of the PrimaryKey for DB-Update, Load, ...
|
||||
@@ -226,6 +227,8 @@ class DB_Model extends FHC_Model
|
||||
* - Adding support for composed primary key
|
||||
* - Adding support for cascading side tables (useful?)
|
||||
*
|
||||
* NOTE: sub queries are not supported in the from clause
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function loadTree($mainTable, $sideTables, $where = null, $sideTablesAliases = null)
|
||||
@@ -246,13 +249,26 @@ class DB_Model extends FHC_Model
|
||||
$select = '';
|
||||
for ($t = 0; $t < count($tables); $t++)
|
||||
{
|
||||
$fields = $this->db->list_fields($tables[$t]); // list of the columns of the current table
|
||||
// Get the schema if it is specified
|
||||
$schemaAndTable = $this->getSchemaAndTable($tables[$t]);
|
||||
// Discard the schema, not needed in the next steps
|
||||
$tables[$t] = $schemaAndTable->table;
|
||||
|
||||
// List of the columns of the current table
|
||||
// NOTE: $this->db->list_fields($tables[$t]) doesn't work if there are two tables with
|
||||
// the same name in two different schemas, use this workaround
|
||||
$fields = array();
|
||||
if (isSuccess($lstColumns = $this->_list_columns($schemaAndTable->schema, $schemaAndTable->table)))
|
||||
{
|
||||
$fields = $lstColumns->retval;
|
||||
}
|
||||
|
||||
for ($f = 0; $f < count($fields); $f++)
|
||||
{
|
||||
// To avoid overwriting of the properties within the object returned by CI
|
||||
// will be given an alias to every column, that will be composed with the following schema
|
||||
// <table name>.<column name> AS <table_name>_<column name>
|
||||
$select .= $tables[$t] . '.' . $fields[$f] . ' AS ' . $tables[$t] . '_' . $fields[$f];
|
||||
$select .= $tables[$t] . '.' . $fields[$f]->column_name . ' AS ' . $tables[$t] . '_' . $fields[$f]->column_name;
|
||||
if ($f < count($fields) - 1) $select .= ', ';
|
||||
}
|
||||
|
||||
@@ -452,6 +468,26 @@ class DB_Model extends FHC_Model
|
||||
return success(true);
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------------------
|
||||
* Add one or more fields in the group by clause
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function addGroupBy($fields)
|
||||
{
|
||||
if (!isset($fields)
|
||||
|| (!is_array($fields) && !is_string($fields))
|
||||
|| (is_array($fields) && count($fields) == 0)
|
||||
|| (is_string($fields) && $fields == ''))
|
||||
{
|
||||
return error(FHC_MODEL_ERROR, FHC_MODEL_ERROR);
|
||||
}
|
||||
|
||||
$this->db->group_by($fields);
|
||||
|
||||
return success(true);
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------------------
|
||||
* Reset the query builder state
|
||||
*
|
||||
@@ -640,6 +676,32 @@ class DB_Model extends FHC_Model
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get schema and table name from the parameter
|
||||
* If no schema are specified it will returns the parameter as table name,
|
||||
* and the default schema as schema
|
||||
* Ex:
|
||||
* If the parameters is 'lehre.tbl_studienplan' it will returns the following object:
|
||||
* obj
|
||||
* |--->schema: lehre
|
||||
* |--->table: tbl_studienplan
|
||||
*/
|
||||
protected function getSchemaAndTable($schemaAndTable)
|
||||
{
|
||||
$result = new stdClass();
|
||||
$result->schema = DB_Model::DEFAULT_SCHEMA;
|
||||
$result->table = $schemaAndTable;
|
||||
|
||||
// If a schema is specified
|
||||
if (($pos = strpos($schemaAndTable, '.')) !== false)
|
||||
{
|
||||
$result->schema = substr($schemaAndTable, 0, $pos);
|
||||
$result->table = substr($schemaAndTable, $pos + 1);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the caller is entitled to perform this operation with this right
|
||||
*/
|
||||
@@ -651,9 +713,13 @@ class DB_Model extends FHC_Model
|
||||
substr(get_called_class(), -6) == DB_Model::MODEL_POSTFIX) ||
|
||||
$permission != PermissionLib::SELECT_RIGHT)
|
||||
{
|
||||
// If true is not returned, then an error has occurred
|
||||
if (($isEntitled = $this->isEntitled($this->dbTable, $permission, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
{
|
||||
// TODO: resetQuery
|
||||
// Before returning the object containing the error, reset the build query
|
||||
// This is for preventing that other parts of the query will be built before of the next execution
|
||||
$this->resetQuery();
|
||||
|
||||
return $isEntitled;
|
||||
}
|
||||
}
|
||||
@@ -751,4 +817,19 @@ class DB_Model extends FHC_Model
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Workaround of CI_DB_driver->_list_columns
|
||||
* CI_DB_driver->list_fields($tableName), that calls CI_DB_postgre_driver->_list_columns,
|
||||
* doesn't work if there are two tables with the same name in two different schemas
|
||||
*/
|
||||
private function _list_columns($schema, $table)
|
||||
{
|
||||
$query = 'SELECT column_name
|
||||
FROM information_schema.columns
|
||||
WHERE LOWER(table_schema) = ?
|
||||
AND LOWER(table_name) = ?';
|
||||
|
||||
return $this->execQuery($query, array(strtolower($schema), strtolower($table)));
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ class FHC_Controller extends CI_Controller
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->load->library('session');
|
||||
|
||||
$this->load->helper('fhcauth');
|
||||
}
|
||||
}
|
||||
Regular → Executable
+29
-23
@@ -8,13 +8,13 @@ if (! defined("BASEPATH")) exit("No direct script access allowed");
|
||||
class MailLib
|
||||
{
|
||||
private $sended; // Sended email counter
|
||||
|
||||
|
||||
// Properties for storing the configuration
|
||||
private $email_number_to_sent;
|
||||
private $email_number_per_time_range;
|
||||
private $email_time_range;
|
||||
private $email_from_system;
|
||||
|
||||
|
||||
/**
|
||||
* Class constructor
|
||||
*/
|
||||
@@ -22,26 +22,27 @@ class MailLib
|
||||
{
|
||||
// Set the counter to 0
|
||||
$this->sended = 0;
|
||||
|
||||
|
||||
// Get CI instance
|
||||
$this->ci =& get_instance();
|
||||
|
||||
|
||||
// The second parameter is used to avoiding name collisions in the config array
|
||||
$this->ci->config->load("mail", true);
|
||||
|
||||
|
||||
// CI Email library
|
||||
$this->ci->load->library("email");
|
||||
|
||||
|
||||
// Initializing email library with the loaded configurations
|
||||
$this->ci->email->initialize($this->ci->config->config["mail"]);
|
||||
|
||||
|
||||
// Set the configuration properties with the standard configuration values
|
||||
$this->email_number_to_sent = $this->getEmailCfgItem("email_number_to_sent");
|
||||
$this->email_number_per_time_range = $this->getEmailCfgItem("email_number_per_time_range");
|
||||
$this->email_time_range = $this->getEmailCfgItem("email_time_range");
|
||||
$this->email_from_system = $this->getEmailCfgItem("email_from_system");
|
||||
$this->alias_from_system = $this->getEmailCfgItem("alias_from_system");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sends a single email
|
||||
*/
|
||||
@@ -51,10 +52,15 @@ class MailLib
|
||||
if (is_null($from) || $from == "")
|
||||
{
|
||||
$from = $this->email_from_system;
|
||||
// If alias is not specified then use the standard one
|
||||
if (is_null($alias) || $alias == "")
|
||||
{
|
||||
$alias = $this->alias_from_system;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$this->ci->email->from($from, $alias);
|
||||
|
||||
|
||||
// Check if the email address of the debug recipient is a valid one
|
||||
$recipient = $to;
|
||||
$recipientCC = $cc;
|
||||
@@ -66,17 +72,17 @@ class MailLib
|
||||
$recipientCC = MAIL_DEBUG;
|
||||
$recipientBCC = MAIL_DEBUG;
|
||||
}
|
||||
|
||||
|
||||
$this->ci->email->to($recipient);
|
||||
if (!is_null($recipientCC)) $this->ci->email->cc($recipientCC);
|
||||
if (!is_null($recipientBCC)) $this->ci->email->bcc($recipientBCC);
|
||||
$this->ci->email->subject($subject);
|
||||
$this->ci->email->message($message);
|
||||
if (!empty($altMessage)) $this->ci->email->set_alt_message($altMessage);
|
||||
|
||||
|
||||
// Avoid printing on standard output ugly error messages
|
||||
$result = @$this->ci->email->send();
|
||||
|
||||
|
||||
// If the email was succesfully sended then increment the counter
|
||||
// and checks if it has to wait until the sending of the next
|
||||
if ($result)
|
||||
@@ -84,10 +90,10 @@ class MailLib
|
||||
$this->sended++;
|
||||
$this->wait();
|
||||
}
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* To ovveride the configurations
|
||||
*/
|
||||
@@ -113,7 +119,7 @@ class MailLib
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the current configuration
|
||||
*/
|
||||
@@ -124,25 +130,25 @@ class MailLib
|
||||
$cfg->email_number_per_time_range = $this->email_number_per_time_range;
|
||||
$cfg->email_time_range = $this->email_time_range;
|
||||
$cfg->email_from_system = $this->email_from_system;
|
||||
|
||||
|
||||
return $cfg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Validates an email address
|
||||
*/
|
||||
public function validateEmailAddress($emailAddress)
|
||||
{
|
||||
$valid = false;
|
||||
|
||||
|
||||
if (!empty($emailAddress))
|
||||
{
|
||||
$valid = filter_var($emailAddress, FILTER_VALIDATE_EMAIL);
|
||||
}
|
||||
|
||||
|
||||
return $valid;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks if it has to wait until the sending of the next
|
||||
*/
|
||||
@@ -153,7 +159,7 @@ class MailLib
|
||||
sleep($this->email_time_range); // Wait!!!
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets an item from the email configuration array
|
||||
*/
|
||||
@@ -161,4 +167,4 @@ class MailLib
|
||||
{
|
||||
return $this->ci->config->item($itemName, EMAIL_CONFIG_INDEX);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Regular → Executable
+90
-90
@@ -8,15 +8,15 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
class MessageLib
|
||||
{
|
||||
const MSG_INDX_PREFIX = 'message_';
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
// Get code igniter instance
|
||||
$this->ci =& get_instance();
|
||||
|
||||
|
||||
// Loads message configuration
|
||||
$this->ci->config->load('message');
|
||||
|
||||
|
||||
// CI Parser library
|
||||
$this->ci->load->library('parser');
|
||||
// Loads LogLib
|
||||
@@ -25,22 +25,22 @@ class MessageLib
|
||||
$this->ci->load->library('VorlageLib');
|
||||
// Loads Mail library
|
||||
$this->ci->load->library('MailLib');
|
||||
|
||||
|
||||
// Loading models
|
||||
$this->ci->load->model('system/Message_model', 'MessageModel');
|
||||
$this->ci->load->model('system/MsgStatus_model', 'MsgStatusModel');
|
||||
$this->ci->load->model('system/Recipient_model', 'RecipientModel');
|
||||
$this->ci->load->model('system/Attachment_model', 'AttachmentModel');
|
||||
|
||||
|
||||
// Loads fhc helper
|
||||
$this->ci->load->helper('fhc');
|
||||
// Loads helper message to manage returning messages
|
||||
$this->ci->load->helper('message');
|
||||
|
||||
|
||||
// Loads phrases
|
||||
$this->ci->lang->load('message');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* getMessage() - returns the spicified received message for a specified person
|
||||
*
|
||||
@@ -54,12 +54,12 @@ class MessageLib
|
||||
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
|
||||
if (empty($person_id))
|
||||
return $this->_error('', MSG_ERR_INVALID_RECIPIENTS);
|
||||
|
||||
|
||||
$msg = $this->ci->RecipientModel->getMessage($msg_id, $person_id);
|
||||
|
||||
|
||||
return $msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* getMessagesByUID() - will return all messages, including the latest status for specified user. It don´t returns Attachments.
|
||||
*
|
||||
@@ -70,12 +70,12 @@ class MessageLib
|
||||
{
|
||||
if (empty($uid))
|
||||
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
|
||||
|
||||
|
||||
$msg = $this->ci->RecipientModel->getMessagesByUID($uid, $all);
|
||||
|
||||
return $msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* getMessagesByPerson() - will return all messages, including the latest status for specified user. It don´t returns Attachments.
|
||||
*
|
||||
@@ -86,12 +86,12 @@ class MessageLib
|
||||
{
|
||||
if (empty($person_id))
|
||||
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
|
||||
|
||||
|
||||
$msg = $this->ci->RecipientModel->getMessagesByPerson($person_id, $all);
|
||||
|
||||
|
||||
return $msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* getSentMessagesByPerson() - Get all sent messages from a person identified by person_id
|
||||
*
|
||||
@@ -102,12 +102,12 @@ class MessageLib
|
||||
{
|
||||
if (empty($person_id))
|
||||
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
|
||||
|
||||
|
||||
$msg = $this->ci->MessageModel->getMessagesByPerson($person_id, $all);
|
||||
|
||||
|
||||
return $msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* getMessageByToken
|
||||
*
|
||||
@@ -118,7 +118,7 @@ class MessageLib
|
||||
{
|
||||
if (empty($token))
|
||||
return $this->_error('', MSG_ERR_INVALID_TOKEN);
|
||||
|
||||
|
||||
$result = $this->ci->RecipientModel->getMessageByToken($token);
|
||||
if (hasData($result))
|
||||
{
|
||||
@@ -132,7 +132,7 @@ class MessageLib
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// If not found then insert the read status
|
||||
if ($found == -1)
|
||||
{
|
||||
@@ -141,7 +141,7 @@ class MessageLib
|
||||
'person_id' => $result->retval[0]->receiver_id,
|
||||
'status' => MSG_STATUS_READ
|
||||
);
|
||||
|
||||
|
||||
$resultIns = $this->ci->MsgStatusModel->insert($statusKey);
|
||||
// If an error occured while writing on data base, then return it
|
||||
if (isError($resultIns))
|
||||
@@ -150,10 +150,10 @@ class MessageLib
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* getCountUnreadMessages
|
||||
*
|
||||
@@ -164,12 +164,12 @@ class MessageLib
|
||||
{
|
||||
if (!is_numeric($person_id))
|
||||
return $this->_error('', MSG_ERR_INVALID_RECIPIENTS);
|
||||
|
||||
|
||||
$msg = $this->ci->RecipientModel->getCountUnreadMessages($person_id);
|
||||
|
||||
|
||||
return $msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* updateMessageStatus() - will change status on message for particular user
|
||||
*
|
||||
@@ -184,18 +184,18 @@ class MessageLib
|
||||
{
|
||||
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
|
||||
}
|
||||
|
||||
|
||||
if (empty($person_id))
|
||||
{
|
||||
return $this->_error('', MSG_ERR_INVALID_USER_ID);
|
||||
}
|
||||
|
||||
|
||||
// Not use empty otherwise if status is 0 it returns an error
|
||||
if (!isset($status))
|
||||
{
|
||||
return $this->_error('', MSG_ERR_INVALID_STATUS_ID);
|
||||
}
|
||||
|
||||
|
||||
// Searches if the status is already present
|
||||
$result = $this->ci->MsgStatusModel->load(array($message_id, $person_id, $status));
|
||||
if (hasData($result))
|
||||
@@ -210,13 +210,13 @@ class MessageLib
|
||||
'person_id' => $person_id,
|
||||
'status' => $status
|
||||
);
|
||||
|
||||
|
||||
$result = $this->ci->MsgStatusModel->insert($statusKey);
|
||||
}
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* sendMessage() - sends new internal message. This function will create a new thread
|
||||
*
|
||||
@@ -227,9 +227,9 @@ class MessageLib
|
||||
{
|
||||
$sender_id = $this->ci->config->item('system_person_id');
|
||||
}
|
||||
|
||||
|
||||
$receivers = $this->_getReceivers($receiver_id, $oe_kurzbz);
|
||||
|
||||
|
||||
// If everything went ok
|
||||
if (isSuccess($receivers) && is_array($receivers->retval))
|
||||
{
|
||||
@@ -238,12 +238,12 @@ class MessageLib
|
||||
{
|
||||
$result = $this->_error($receivers->retval, MSG_ERR_OU_CONTACTS_NOT_FOUND);
|
||||
}
|
||||
|
||||
|
||||
// Looping on receivers
|
||||
for ($i = 0; $i < count($receivers->retval); $i++)
|
||||
{
|
||||
$receiver_id = $receivers->retval[$i]->person_id;
|
||||
|
||||
|
||||
// Checks if the receiver exists
|
||||
if ($this->_checkReceiverId($receiver_id))
|
||||
{
|
||||
@@ -289,10 +289,10 @@ class MessageLib
|
||||
{
|
||||
$result = $receivers;
|
||||
}
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* sendMessageVorlage() - sends new internal message using a template
|
||||
*
|
||||
@@ -309,9 +309,9 @@ class MessageLib
|
||||
{
|
||||
$sender_id = $this->ci->config->item('system_person_id');
|
||||
}
|
||||
|
||||
|
||||
$receivers = $this->_getReceivers($receiver_id, $oe_kurzbz);
|
||||
|
||||
|
||||
// If everything went ok
|
||||
if (isSuccess($receivers) && is_array($receivers->retval))
|
||||
{
|
||||
@@ -325,12 +325,12 @@ class MessageLib
|
||||
// Load reveiver data to get its relative language
|
||||
$this->ci->load->model('person/Person_model', 'PersonModel');
|
||||
}
|
||||
|
||||
|
||||
// Looping on receivers
|
||||
for ($i = 0; $i < count($receivers->retval); $i++)
|
||||
{
|
||||
$receiver_id = $receivers->retval[$i]->person_id;
|
||||
|
||||
|
||||
$result = $this->ci->PersonModel->load($receiver_id);
|
||||
if (hasData($result))
|
||||
{
|
||||
@@ -341,7 +341,7 @@ class MessageLib
|
||||
{
|
||||
$sprache = $result->retval[0]->sprache;
|
||||
}
|
||||
|
||||
|
||||
// Loads template data
|
||||
$result = $this->ci->vorlagelib->loadVorlagetext($vorlage_kurzbz, $oe_kurzbz, $orgform_kurzbz, $sprache);
|
||||
if (isSuccess($result))
|
||||
@@ -353,7 +353,7 @@ class MessageLib
|
||||
// Parses template text
|
||||
$parsedText = $this->ci->vorlagelib->parseVorlagetext($result->retval[0]->text, $data);
|
||||
$subject = $result->retval[0]->subject;
|
||||
|
||||
|
||||
// Save message
|
||||
$result = $this->_saveMessage($sender_id, $receiver_id, $subject, $parsedText, $relationmessage_id, $oe_kurzbz);
|
||||
// If no errors were occurred
|
||||
@@ -413,27 +413,27 @@ class MessageLib
|
||||
{
|
||||
$result = $receivers;
|
||||
}
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets all the messages from DB and sends them via email
|
||||
*/
|
||||
public function sendAll($numberToSent = null, $numberPerTimeRange = null, $email_time_range = null, $email_from_system = null)
|
||||
{
|
||||
$sent = true; // optimistic expectation
|
||||
|
||||
|
||||
// Gets standard configs
|
||||
$cfg = $this->ci->maillib->getConfigs();
|
||||
$cfg->email_number_to_sent = $numberToSent;
|
||||
$cfg->email_number_per_time_range = $numberPerTimeRange;
|
||||
$cfg->email_time_range = $email_time_range;
|
||||
$cfg->email_from_system = $email_from_system;
|
||||
|
||||
|
||||
// Overrides configs with the parameters
|
||||
$this->ci->maillib->overrideConfigs($cfg);
|
||||
|
||||
|
||||
// Gets a number ($this->ci->maillib->getMaxEmailToSent()) of unsent messages from DB
|
||||
// having EMAIL_KONTAKT_TYPE as relative contact type
|
||||
$result = $this->ci->RecipientModel->getMessages(
|
||||
@@ -468,7 +468,7 @@ class MessageLib
|
||||
{
|
||||
$this->ci->loglib->logError('Error while parsing the mail template');
|
||||
}
|
||||
|
||||
|
||||
// Using a template for the plain text email body
|
||||
$altBody = $this->ci->parser->parse(
|
||||
'templates/mailTXT',
|
||||
@@ -483,9 +483,9 @@ class MessageLib
|
||||
{
|
||||
$this->ci->loglib->logError('Error while parsing the mail template');
|
||||
}
|
||||
|
||||
// If the sender kontakt does not exist, then use system
|
||||
$sender = $this->ci->maillib->getConfigs()->email_from_system;
|
||||
|
||||
// If the sender kontakt does not exist, then system-sender is used if empty
|
||||
$sender = '';
|
||||
if (!is_null($result->retval[0]->sender) && $result->retval[0]->sender != '')
|
||||
{
|
||||
$sender = $result->retval[0]->sender;
|
||||
@@ -505,7 +505,7 @@ class MessageLib
|
||||
if (!$sent)
|
||||
{
|
||||
$this->ci->loglib->logError('Error while sending an email');
|
||||
// Writing errors in tbl_message_status
|
||||
// Writing errors in tbl_message_recipient
|
||||
$sme = $this->setMessageError(
|
||||
$result->retval[$i]->message_id,
|
||||
$result->retval[$i]->receiver_id,
|
||||
@@ -531,7 +531,7 @@ class MessageLib
|
||||
else
|
||||
{
|
||||
$this->ci->loglib->logError('This person does not have an email account');
|
||||
// Writing errors in tbl_message_status
|
||||
// Writing errors in tbl_message_recipient
|
||||
$sme = $this->setMessageError(
|
||||
$result->retval[$i]->message_id,
|
||||
$result->retval[$i]->receiver_id,
|
||||
@@ -557,17 +557,17 @@ class MessageLib
|
||||
$this->ci->loglib->logError('Something went wrong while getting data from DB');
|
||||
$sent = false;
|
||||
}
|
||||
|
||||
|
||||
return $sent;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets one message from DB and sends it via email
|
||||
*/
|
||||
public function sendOne($message_id, $subject = null, $body = null, $multiPartMime = true)
|
||||
{
|
||||
$sent = true; // optimistic expectation
|
||||
|
||||
|
||||
// Get a specific message from DB having EMAIL_KONTAKT_TYPE as relative contact type
|
||||
$result = $this->ci->RecipientModel->getMessages(
|
||||
EMAIL_KONTAKT_TYPE,
|
||||
@@ -603,7 +603,7 @@ class MessageLib
|
||||
// $body = $result->retval[0]->body;
|
||||
$this->ci->loglib->logError('Error while parsing the html mail template');
|
||||
}
|
||||
|
||||
|
||||
// Using a template for the plain text email body
|
||||
$altBody = $this->ci->parser->parse(
|
||||
'templates/mailTXT',
|
||||
@@ -623,14 +623,14 @@ class MessageLib
|
||||
{
|
||||
$bodyMsg = $altBody = $body;
|
||||
}
|
||||
|
||||
// If the sender kontakt does not exist, then use system
|
||||
$sender = $this->ci->maillib->getConfigs()->email_from_system;
|
||||
|
||||
// If the sender kontakt does not exist, then system-sender is used if empty
|
||||
$sender = '';
|
||||
if (!is_null($result->retval[0]->sender) && $result->retval[0]->sender != '')
|
||||
{
|
||||
$sender = $result->retval[0]->sender;
|
||||
}
|
||||
|
||||
|
||||
// Sending email
|
||||
$sent = $this->ci->maillib->send(
|
||||
$sender,
|
||||
@@ -697,21 +697,21 @@ class MessageLib
|
||||
$this->ci->loglib->logError('Something went wrong while getting data from DB');
|
||||
$sent = false;
|
||||
}
|
||||
|
||||
|
||||
return $sent;
|
||||
}
|
||||
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Private Functions from here out!
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
||||
/**
|
||||
* Update the table tbl_message_recipient
|
||||
*/
|
||||
private function _updateMessageRecipient($message_id, $receiver_id, $parameters)
|
||||
{
|
||||
$updated = false;
|
||||
|
||||
|
||||
// Changes the status of the message from unread to read
|
||||
$resultUpdate = $this->ci->RecipientModel->update(array($receiver_id, $message_id), $parameters);
|
||||
// Checks if errors were occurred
|
||||
@@ -719,20 +719,20 @@ class MessageLib
|
||||
{
|
||||
$updated = true;
|
||||
}
|
||||
|
||||
|
||||
return $updated;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Changes the status of the message from unsent to sent
|
||||
*/
|
||||
private function setMessageSent($message_id, $receiver_id)
|
||||
{
|
||||
$parameters = array('sent' => 'NOW()', 'sentinfo' => null);
|
||||
|
||||
|
||||
return $this->_updateMessageRecipient($message_id, $receiver_id, $parameters);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the sentInfo with the error
|
||||
*/
|
||||
@@ -742,12 +742,12 @@ class MessageLib
|
||||
{
|
||||
$sentInfo = $prevSentInfo . SENT_INFO_NEWLINE . $sentInfo;
|
||||
}
|
||||
|
||||
|
||||
$parameters = array('sent' => null, 'sentinfo' => $sentInfo);
|
||||
|
||||
|
||||
return $this->_updateMessageRecipient($message_id, $receiver_id, $parameters);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the receivers id that are enabled to read messages for that oe_kurzbz
|
||||
*/
|
||||
@@ -763,17 +763,17 @@ class MessageLib
|
||||
' AND funktion_kurzbz = \'' . $this->ci->config->item('assistent_function') . '\'' .
|
||||
' AND (NOW() BETWEEN COALESCE(datum_von, NOW()) AND COALESCE(datum_bis, NOW()))'
|
||||
);
|
||||
|
||||
|
||||
return $receivers;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the receivers id
|
||||
*/
|
||||
private function _getReceivers($receiver_id, $oe_kurzbz = null)
|
||||
{
|
||||
$receivers = null;
|
||||
|
||||
|
||||
// If no receiver_id is given...
|
||||
if (is_null($receiver_id))
|
||||
{
|
||||
@@ -793,10 +793,10 @@ class MessageLib
|
||||
$receivers = $this->_success(array(new stdClass()));
|
||||
$receivers->retval[0]->person_id = $receiver_id;
|
||||
}
|
||||
|
||||
|
||||
return $receivers;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks if the given receiver id is a valid person
|
||||
*/
|
||||
@@ -809,10 +809,10 @@ class MessageLib
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Save a message in DB
|
||||
**/
|
||||
@@ -820,7 +820,7 @@ class MessageLib
|
||||
{
|
||||
// Starts db transaction
|
||||
$this->ci->db->trans_start(false);
|
||||
|
||||
|
||||
// Save Message
|
||||
$msgData = array(
|
||||
'person_id' => $sender_id,
|
||||
@@ -852,9 +852,9 @@ class MessageLib
|
||||
$result = $this->ci->MsgStatusModel->insert($statusData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$this->ci->db->trans_complete();
|
||||
|
||||
|
||||
if ($this->ci->db->trans_status() === false || isError($result))
|
||||
{
|
||||
$this->ci->db->trans_rollback();
|
||||
@@ -865,10 +865,10 @@ class MessageLib
|
||||
$this->ci->db->trans_commit();
|
||||
$result = $this->_success($msg_id);
|
||||
}
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Wrapper for function error
|
||||
*/
|
||||
@@ -876,7 +876,7 @@ class MessageLib
|
||||
{
|
||||
return error($retval, $code, MessageLib::MSG_INDX_PREFIX);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Wrapper for function success
|
||||
*/
|
||||
@@ -884,12 +884,12 @@ class MessageLib
|
||||
{
|
||||
return success($retval, $code, MessageLib::MSG_INDX_PREFIX);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function parseMessageText($text, $data = array())
|
||||
{
|
||||
return $this->ci->parser->parse_string($text, $data, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,12 +126,24 @@ class PhrasesLib
|
||||
for ($i = 0; $i < count($result->retval); $i++)
|
||||
{
|
||||
// If no <p> tags required
|
||||
if ($blockTags == "no")
|
||||
if ($blockTags == 'no')
|
||||
{
|
||||
// Removes tags <p> and </p> from the beginning and from the end of the string
|
||||
$tmpText = $parser->textileThis($result->retval[$i]->text);
|
||||
$tmpText = substr($tmpText, 3, strlen($tmpText));
|
||||
$tmpText = substr($tmpText, 0, strlen($tmpText) - 4);
|
||||
$tmpText = $parser->textileThis($result->retval[$i]->text); // Parse
|
||||
|
||||
// Removes tags <p> and </p> from the beginning and from the end of the string if they are present
|
||||
// NOTE: Those tags are usually, but not always, added by the textile parser
|
||||
if (strlen($tmpText) >= 7)
|
||||
{
|
||||
if (substr($tmpText, 0, 3) == '<p>')
|
||||
{
|
||||
$tmpText = substr($tmpText, 3, strlen($tmpText));
|
||||
}
|
||||
if (substr($tmpText, -4, strlen($tmpText)) == '</p>')
|
||||
{
|
||||
$tmpText = substr($tmpText, 0, strlen($tmpText) - 4);
|
||||
}
|
||||
}
|
||||
|
||||
$result->retval[$i]->text = $tmpText;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -24,12 +24,10 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
if (!defined("BASEPATH"))
|
||||
exit("No direct script access allowed");
|
||||
if (!defined("BASEPATH")) exit("No direct script access allowed");
|
||||
|
||||
class TemplateLib
|
||||
class WidgetLib
|
||||
{
|
||||
|
||||
/* default values */
|
||||
private $_template = 'template';
|
||||
private $_parser = FALSE;
|
||||
@@ -181,9 +179,11 @@ class TemplateLib
|
||||
* Can be usefull to use straight from the template file
|
||||
* @param string $name
|
||||
* @param array $data
|
||||
* @param array $htmlArgs
|
||||
* @return Widget
|
||||
*/
|
||||
public function widget($name, $data = array()) {
|
||||
public function widget($name, $data = array(), $htmlArgs = array())
|
||||
{
|
||||
$class = str_replace('.php', '', trim($name, '/'));
|
||||
|
||||
// determine path and widget class name
|
||||
@@ -210,7 +210,7 @@ class TemplateLib
|
||||
show_error("Widget '" . $class . "' was not found.");
|
||||
}
|
||||
|
||||
return new $class($class, $data);
|
||||
return new $class($class, $data, $htmlArgs);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -335,7 +335,6 @@ class TemplateLib
|
||||
|
||||
class Partial
|
||||
{
|
||||
|
||||
protected $_ci, $_content, $_name, $_cache_ttl = 0, $_cached = false, $_identifier, $_trigger;
|
||||
protected $_args = array();
|
||||
|
||||
@@ -343,7 +342,8 @@ class Partial
|
||||
* Construct with optional parameters
|
||||
* @param array $args
|
||||
*/
|
||||
public function __construct($name, $args = array()) {
|
||||
public function __construct($name, $args = array())
|
||||
{
|
||||
$this->_ci = &get_instance();
|
||||
$this->_args = $args;
|
||||
$this->_name = $name;
|
||||
@@ -602,28 +602,196 @@ class Partial
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The mother of all widgets
|
||||
* it represent a generic HTML element
|
||||
*/
|
||||
class Widget extends Partial
|
||||
{
|
||||
// The name of the array present in the data array given to the view that will render this widget
|
||||
const HTML_ARG_NAME = 'HTML';
|
||||
const HTML_DEFAULT_VALUE = ''; // Default value of the html element
|
||||
const HTML_NAME = 'name'; // HTML name attribute
|
||||
const HTML_ID = 'id'; // HTML id attribute
|
||||
|
||||
/* (non-PHPdoc)
|
||||
* @see Partial::content()
|
||||
/**
|
||||
* It gets also the htmlArgs array as parameter, it will be used to set the HTML properties
|
||||
*/
|
||||
public function content() {
|
||||
if (!$this->_cached) {
|
||||
if (method_exists($this, 'display')) {
|
||||
// capture output
|
||||
ob_start();
|
||||
$this->display($this->_args);
|
||||
$buffer = ob_get_clean();
|
||||
|
||||
// if no content is produced but there was direct ouput we set
|
||||
// that output as content
|
||||
if (!$this->_content && $buffer) {
|
||||
$this->set($buffer);
|
||||
}
|
||||
}
|
||||
}
|
||||
public function __construct($name, $args, $htmlArgs = array())
|
||||
{
|
||||
parent::__construct($name, $args);
|
||||
|
||||
// Initialising HTML properties
|
||||
$this->_setHtmlProperties($htmlArgs);
|
||||
|
||||
return parent::content();
|
||||
// Loads helper message to manage returning messages
|
||||
$this->load->helper('message');
|
||||
}
|
||||
|
||||
/**
|
||||
* (non-PHPdoc)
|
||||
* @see Partial::content()
|
||||
*/
|
||||
public function content()
|
||||
{
|
||||
if (!$this->_cached)
|
||||
{
|
||||
if (method_exists($this, 'display'))
|
||||
{
|
||||
// capture output
|
||||
ob_start();
|
||||
$this->display($this->_args);
|
||||
$buffer = ob_get_clean();
|
||||
|
||||
// if no content is produced but there was direct ouput we set
|
||||
// that output as content
|
||||
if (!$this->_content && $buffer)
|
||||
{
|
||||
$this->set($buffer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return parent::content();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialising html properties, such as the id and name attributes of the HTML element
|
||||
*/
|
||||
private function _setHtmlProperties($htmlArgs)
|
||||
{
|
||||
if (isset($htmlArgs) && is_array($htmlArgs))
|
||||
{
|
||||
$this->_args[Widget::HTML_ARG_NAME] = array();
|
||||
|
||||
// Avoids that the elements of a same HTML page have the same name or id
|
||||
$randomIdentifier = uniqid(rand(0, 1000));
|
||||
|
||||
if (isset($htmlArgs[Widget::HTML_ID]) && trim($htmlArgs[Widget::HTML_ID]) != '')
|
||||
{
|
||||
$this->_args[Widget::HTML_ARG_NAME][Widget::HTML_ID] = $htmlArgs[Widget::HTML_ID];
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->_args[Widget::HTML_ARG_NAME][Widget::HTML_ID] = $randomIdentifier;
|
||||
}
|
||||
|
||||
if (isset($htmlArgs[Widget::HTML_NAME]) && trim($htmlArgs[Widget::HTML_NAME]) != '')
|
||||
{
|
||||
$this->_args[Widget::HTML_ARG_NAME][Widget::HTML_NAME] = $htmlArgs[Widget::HTML_NAME];
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->_args[Widget::HTML_ARG_NAME][Widget::HTML_NAME] = $randomIdentifier;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* It exends the Widget class to represent an HTML dropdown
|
||||
*/
|
||||
class DropdownWidget extends Widget
|
||||
{
|
||||
// The name of the element of the data array given to the view
|
||||
// this element is an array of elements to be place inside the dropdown
|
||||
const WIDGET_DATA_ELEMENTS_ARRAY_NAME = 'ELEMENTS_ARRAY';
|
||||
// Name of the property that will be used to store the value attribute of the option tag
|
||||
const ID_FIELD = 'id';
|
||||
// Name of the property that will be used to store the value between the option tags
|
||||
const DESCRIPTION_FIELD = 'description'; //
|
||||
// The name of the element of the data array given to the view
|
||||
// this element is used to tell what element of the dropdown is selected
|
||||
const SELECTED_ELEMENT = 'selectedElement'; //
|
||||
|
||||
private $elementsArray; // Array of elements to be place inside the dropdown
|
||||
|
||||
/**
|
||||
* Loads the dropdown view with all the elements to be displayed
|
||||
*/
|
||||
protected function loadDropDownView($widgetData)
|
||||
{
|
||||
$widgetData[DropdownWidget::WIDGET_DATA_ELEMENTS_ARRAY_NAME] = $this->elementsArray->retval;
|
||||
|
||||
if (!isset($widgetData[DropdownWidget::SELECTED_ELEMENT]))
|
||||
{
|
||||
$widgetData[DropdownWidget::SELECTED_ELEMENT] = Widget::HTML_DEFAULT_VALUE;
|
||||
}
|
||||
|
||||
$this->view('widgets/dropdown', $widgetData);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct select to the model used to load a list of elemets for this dropdown
|
||||
* @param model $model the model used to load elements
|
||||
* @param string $idName the name of the field that will used to be the value of the option tag
|
||||
* @param string $descriptionName the name of the field that will used to be displayed in the dropdown
|
||||
*/
|
||||
protected function addSelectToModel($model, $idName, $descriptionName)
|
||||
{
|
||||
$model->addSelect(
|
||||
sprintf(
|
||||
'%s AS %s, %s AS %s',
|
||||
$idName,
|
||||
DropdownWidget::ID_FIELD,
|
||||
$descriptionName,
|
||||
DropdownWidget::DESCRIPTION_FIELD
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the array used to populate the dropdown
|
||||
* @param array $elements list used to populate this dropdown
|
||||
* @param boolean $emptyElement if an empty element must be added at the beginning of the dropdown
|
||||
* @param string $stdDescription description of the empty element
|
||||
* @param string $noDataDescription description if no data are found
|
||||
* @param string $id value of the attribute value of the empty element
|
||||
*/
|
||||
protected function setElementsArray(
|
||||
$elements, $emptyElement = false, $stdDescription = '' , $noDataDescription = '' , $id = Widget::HTML_DEFAULT_VALUE
|
||||
)
|
||||
{
|
||||
if (isError($elements))
|
||||
{
|
||||
if (is_object($elements) && isset($elements->retval))
|
||||
{
|
||||
show_error($elements->retval);
|
||||
}
|
||||
else if (is_string($elements))
|
||||
{
|
||||
show_error($elements);
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error('Generic error occurred');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->elementsArray = $elements;
|
||||
|
||||
if ($emptyElement === true)
|
||||
{
|
||||
$this->addElementAtBeginning($stdDescription, $noDataDescription, $id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds an element to the beginning of the array
|
||||
*/
|
||||
protected function addElementAtBeginning($stdDescription, $noDataDescription, $id)
|
||||
{
|
||||
$element = new stdClass();
|
||||
$element->id = $id;
|
||||
$element->description = $stdDescription;
|
||||
|
||||
if (!hasData($this->elementsArray))
|
||||
{
|
||||
$element->description = $noDataDescription;
|
||||
}
|
||||
|
||||
array_unshift($this->elementsArray->retval, $element);
|
||||
}
|
||||
}
|
||||
@@ -74,4 +74,107 @@ class Prestudent_model extends DB_Model
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a list of prestudent with additional information:
|
||||
* - person_id
|
||||
* - name, surname, gender and birthday
|
||||
* - email
|
||||
* - studiengang and orgform
|
||||
* - studienplan
|
||||
* - stufe and aufnahmegruppe
|
||||
* - reihungstest score
|
||||
*/
|
||||
public function getPrestudentMultiAssign($studiengang = null, $studiensemester = null, $gruppe = null, $reihungstest = null, $stufe = null)
|
||||
{
|
||||
$this->addSelect(
|
||||
'p.person_id,
|
||||
prestudent_id,
|
||||
p.nachname,
|
||||
p.vorname,
|
||||
p.geschlecht,
|
||||
p.gebdatum,
|
||||
k.kontakt AS email,
|
||||
sg.kurzbzlang,
|
||||
sg.bezeichnung,
|
||||
sg.orgform_kurzbz,
|
||||
sgt.bezeichnung AS typ,
|
||||
s.bezeichnung AS studienplan,
|
||||
ps.rt_stufe,
|
||||
aufnahmegruppe_kurzbz,
|
||||
SUM(rtp.punkte) AS punkte'
|
||||
);
|
||||
|
||||
$this->addJoin('public.tbl_person p', 'person_id', 'LEFT');
|
||||
$this->addJoin(
|
||||
'(
|
||||
SELECT DISTINCT ON(person_id) person_id,
|
||||
kontakt
|
||||
FROM public.tbl_kontakt
|
||||
WHERE zustellung = TRUE
|
||||
AND kontakttyp = \'email\'
|
||||
ORDER BY person_id, kontakt_id DESC
|
||||
) k',
|
||||
'person_id',
|
||||
'LEFT'
|
||||
);
|
||||
$this->addJoin('public.tbl_prestudentstatus ps', 'prestudent_id');
|
||||
$this->addJoin('lehre.tbl_studienplan s', 's.studienplan_id = ps.studienplan_id');
|
||||
$this->addJoin('lehre.tbl_studienordnung so', 'studienordnung_id');
|
||||
$this->addJoin('public.tbl_studiengang sg', 'sg.studiengang_kz = so.studiengang_kz');
|
||||
$this->addJoin('public.tbl_studiengangstyp sgt', 'typ');
|
||||
|
||||
$this->addJoin('public.tbl_rt_person rtp', 'rtp.person_id = p.person_id AND rtp.studienplan_id = s.studienplan_id', 'LEFT');
|
||||
|
||||
$this->addOrder('p.person_id', 'ASC');
|
||||
$this->addOrder('prestudent_id', 'ASC');
|
||||
|
||||
$parametersArray = array('p.aktiv' => true, 'ps.status_kurzbz' => 'Interessent');
|
||||
|
||||
if ($studiengang != null)
|
||||
{
|
||||
$parametersArray['public.tbl_prestudent.studiengang_kz'] = $studiengang;
|
||||
}
|
||||
|
||||
if ($studiensemester != null)
|
||||
{
|
||||
$parametersArray['ps.studiensemester_kurzbz'] = $studiensemester;
|
||||
}
|
||||
|
||||
if ($gruppe != null)
|
||||
{
|
||||
$parametersArray['aufnahmegruppe_kurzbz'] = $gruppe;
|
||||
}
|
||||
|
||||
if ($reihungstest != null)
|
||||
{
|
||||
$parametersArray['rtp.rt_id'] = $reihungstest;
|
||||
}
|
||||
|
||||
if ($stufe != null)
|
||||
{
|
||||
$parametersArray['ps.rt_stufe'] = $stufe;
|
||||
}
|
||||
|
||||
$this->addGroupBy(
|
||||
array(
|
||||
'p.person_id',
|
||||
'prestudent_id',
|
||||
'p.nachname',
|
||||
'p.vorname',
|
||||
'p.geschlecht',
|
||||
'p.gebdatum',
|
||||
'k.kontakt',
|
||||
'sg.kurzbzlang',
|
||||
'sg.bezeichnung',
|
||||
'sg.orgform_kurzbz',
|
||||
'sgt.bezeichnung',
|
||||
's.bezeichnung',
|
||||
'ps.rt_stufe',
|
||||
'aufnahmegruppe_kurzbz'
|
||||
)
|
||||
);
|
||||
|
||||
return $this->loadWhere($parametersArray);
|
||||
}
|
||||
}
|
||||
@@ -11,32 +11,38 @@ class Organisationseinheit_model extends DB_Model
|
||||
$this->pk = 'oe_kurzbz';
|
||||
}
|
||||
|
||||
public function getRecursiveList($typ)
|
||||
public function getRecursiveList($typ = null)
|
||||
{
|
||||
$qry = "WITH RECURSIVE tree (oe_kurzbz, bezeichnung, path, organisationseinheittyp_kurzbz) AS
|
||||
(
|
||||
SELECT
|
||||
oe_kurzbz,
|
||||
bezeichnung||' ('||organisationseinheittyp_kurzbz||')' AS bezeichnung,
|
||||
oe_kurzbz||'|' AS path,
|
||||
organisationseinheittyp_kurzbz
|
||||
FROM tbl_organisationseinheit
|
||||
WHERE oe_parent_kurzbz IS NULL AND aktiv
|
||||
UNION ALL
|
||||
SELECT
|
||||
oe.oe_kurzbz,
|
||||
oe.bezeichnung||' ('||oe.organisationseinheittyp_kurzbz||')' AS bezeichnung,
|
||||
tree.path ||oe.oe_kurzbz||'|' AS path,
|
||||
oe.organisationseinheittyp_kurzbz
|
||||
FROM tree
|
||||
JOIN tbl_organisationseinheit oe ON (tree.oe_kurzbz=oe.oe_parent_kurzbz)
|
||||
$qry = "WITH RECURSIVE tree (oe_kurzbz, bezeichnung, path, organisationseinheittyp_kurzbz) AS (
|
||||
SELECT oe_kurzbz,
|
||||
bezeichnung || ' (' || organisationseinheittyp_kurzbz || ')' AS bezeichnung,
|
||||
oe_kurzbz || '|' AS path,
|
||||
organisationseinheittyp_kurzbz
|
||||
FROM tbl_organisationseinheit
|
||||
WHERE oe_parent_kurzbz IS NULL
|
||||
AND aktiv = true
|
||||
UNION ALL
|
||||
SELECT oe.oe_kurzbz,
|
||||
oe.bezeichnung || ' (' || oe.organisationseinheittyp_kurzbz || ')' AS bezeichnung,
|
||||
tree.path || oe.oe_kurzbz || '|' AS path,
|
||||
oe.organisationseinheittyp_kurzbz
|
||||
FROM tree JOIN tbl_organisationseinheit oe ON (tree.oe_kurzbz = oe.oe_parent_kurzbz)
|
||||
)
|
||||
SELECT oe_kurzbz AS value, substring(regexp_replace(path, '[A-z]+\|', '-','g')||bezeichnung,2) AS name, path FROM tree ";
|
||||
if (!empty($typ))
|
||||
$qry .= 'WHERE organisationseinheittyp_kurzbz IN ('.$typ.') ';
|
||||
$qry .= 'ORDER BY path;';
|
||||
|
||||
return $this->execQuery($qry);
|
||||
SELECT oe_kurzbz AS id,
|
||||
SUBSTRING(REGEXP_REPLACE(path, '[A-z]+\|', '-', 'g') || bezeichnung, 2) AS description
|
||||
FROM tree";
|
||||
|
||||
$parametersArray = array();
|
||||
|
||||
if (is_array($typ) && count($typ) > 0)
|
||||
{
|
||||
$parametersArray[] = $typ;
|
||||
$qry .= ' WHERE organisationseinheittyp_kurzbz IN ?';
|
||||
}
|
||||
|
||||
$qry .= ' ORDER BY path';
|
||||
|
||||
return $this->execQuery($qry, $parametersArray);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -116,9 +116,9 @@ class Studiengang_model extends DB_Model
|
||||
$this->addOrder('lehre.tbl_studienplan.studienplan_id');
|
||||
|
||||
$result = $this->loadTree(
|
||||
'tbl_studiengang',
|
||||
'public.tbl_studiengang',
|
||||
array(
|
||||
'tbl_studienplan'
|
||||
'lehre.tbl_studienplan'
|
||||
),
|
||||
array(
|
||||
'lehre.tbl_studienplan_semester.studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
@@ -158,10 +158,10 @@ class Studiengang_model extends DB_Model
|
||||
$this->addOrder('lehre.tbl_studienplan.studienplan_id');
|
||||
|
||||
$result = $this->loadTree(
|
||||
'tbl_studiengang',
|
||||
'public.tbl_studiengang',
|
||||
array(
|
||||
'tbl_studienplan',
|
||||
'tbl_akadgrad'
|
||||
'lehre.tbl_studienplan',
|
||||
'lehre.tbl_akadgrad'
|
||||
),
|
||||
'public.tbl_studiengang.aktiv = TRUE
|
||||
AND public.tbl_studiengang.onlinebewerbung = TRUE
|
||||
@@ -180,22 +180,23 @@ class Studiengang_model extends DB_Model
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*
|
||||
*/
|
||||
public function getAppliedStudiengang($person_id, $studiensemester_kurzbz, $titel, $status_kurzbz)
|
||||
public function getAppliedStudiengang($person_id, $studiensemester_kurzbz, $titel)
|
||||
{
|
||||
// Then join with table
|
||||
// Then join with table public.tbl_prestudent
|
||||
$this->addJoin('public.tbl_prestudent', 'studiengang_kz');
|
||||
// Join table
|
||||
// Join table public.tbl_prestudentstatus
|
||||
$this->addJoin('public.tbl_prestudentstatus', 'prestudent_id');
|
||||
// Then join with table
|
||||
// Then join with table lehre.tbl_studienplan
|
||||
$this->addJoin('lehre.tbl_studienplan', 'studienplan_id');
|
||||
// Then join with table
|
||||
// Then join with table public.tbl_notizzuordnung + public.tbl_notiz
|
||||
$this->addJoin(
|
||||
'(
|
||||
SELECT *
|
||||
FROM public.tbl_notizzuordnung INNER JOIN public.tbl_notiz n USING(notiz_id)
|
||||
WHERE n.titel = \''.$titel.'\') tbl_nn',
|
||||
SELECT public.tbl_notiz.*, public.tbl_notizzuordnung.prestudent_id
|
||||
FROM public.tbl_notiz JOIN public.tbl_notizzuordnung USING(notiz_id)
|
||||
WHERE titel = '.$this->escape($titel).
|
||||
') tbl_notiz',
|
||||
'prestudent_id',
|
||||
'LEFT'
|
||||
);
|
||||
@@ -204,17 +205,16 @@ class Studiengang_model extends DB_Model
|
||||
$this->addOrder('public.tbl_studiengang.bezeichnung');
|
||||
|
||||
$result = $this->loadTree(
|
||||
'tbl_studiengang',
|
||||
'public.tbl_studiengang',
|
||||
array(
|
||||
'tbl_prestudent',
|
||||
'tbl_prestudentstatus',
|
||||
'tbl_studienplan',
|
||||
'tbl_nn'
|
||||
'public.tbl_prestudent',
|
||||
'public.tbl_prestudentstatus',
|
||||
'lehre.tbl_studienplan',
|
||||
'public.tbl_notiz'
|
||||
),
|
||||
'public.tbl_prestudent.person_id = '.$person_id.
|
||||
' AND public.tbl_prestudentstatus.studiensemester_kurzbz = \''.$studiensemester_kurzbz.'\''.
|
||||
' AND (public.tbl_prestudentstatus.status_kurzbz = \'Interessent\' OR public.tbl_prestudentstatus.status_kurzbz = \'Bewerber\')'
|
||||
,
|
||||
'public.tbl_prestudent.person_id = '.$this->escape($person_id).
|
||||
' AND public.tbl_prestudentstatus.studiensemester_kurzbz = '.$this->escape($studiensemester_kurzbz).
|
||||
' AND (public.tbl_prestudentstatus.status_kurzbz = \'Interessent\' OR public.tbl_prestudentstatus.status_kurzbz = \'Bewerber\')',
|
||||
array(
|
||||
'prestudenten',
|
||||
'prestudentstatus',
|
||||
@@ -235,8 +235,6 @@ class Studiengang_model extends DB_Model
|
||||
return $isEntitled;
|
||||
if (($isEntitled = $this->isEntitled('lehre.tbl_studienplan', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
return $isEntitled;
|
||||
/*if (($isEntitled = $this->isEntitled('public.tbl_rt_studienplan', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
return $isEntitled;*/
|
||||
if (($isEntitled = $this->isEntitled('public.tbl_reihungstest', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
return $isEntitled;
|
||||
if (($isEntitled = $this->isEntitled('public.tbl_prestudentstatus', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
@@ -244,11 +242,6 @@ class Studiengang_model extends DB_Model
|
||||
if (($isEntitled = $this->isEntitled('public.tbl_prestudent', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
|
||||
return $isEntitled;
|
||||
|
||||
$this->addFrom(
|
||||
'(SELECT * FROM public.tbl_reihungstest LEFT JOIN public.tbl_rt_studienplan USING(reihungstest_id))',
|
||||
'tbl_reihungstest'
|
||||
);
|
||||
|
||||
$this->addJoin('lehre.tbl_studienordnung', 'studiengang_kz');
|
||||
|
||||
$this->addJoin('lehre.tbl_studienplan', 'studienordnung_id');
|
||||
@@ -257,11 +250,16 @@ class Studiengang_model extends DB_Model
|
||||
|
||||
$this->addJoin('public.tbl_prestudent', 'prestudent_id');
|
||||
|
||||
$this->addFrom(
|
||||
'(SELECT * FROM public.tbl_reihungstest LEFT JOIN public.tbl_rt_studienplan USING(reihungstest_id))',
|
||||
'tbl_reihungstest'
|
||||
);
|
||||
|
||||
$this->addOrder('tbl_studiengang.bezeichnung, tbl_reihungstest.stufe, tbl_reihungstest.datum');
|
||||
|
||||
return $this->loadTree(
|
||||
'tbl_studiengang',
|
||||
array('tbl_reihungstest'),
|
||||
'public.tbl_studiengang',
|
||||
array('public.tbl_reihungstest'),
|
||||
'tbl_prestudentstatus.status_kurzbz = \'Interessent\'
|
||||
AND (tbl_prestudentstatus.rt_stufe >= tbl_reihungstest.stufe OR tbl_reihungstest.stufe IS NULL)
|
||||
AND (tbl_prestudent.aufnahmegruppe_kurzbz = tbl_reihungstest.aufnahmegruppe_kurzbz OR tbl_reihungstest.aufnahmegruppe_kurzbz IS NULL)
|
||||
@@ -273,15 +271,15 @@ class Studiengang_model extends DB_Model
|
||||
tbl_reihungstest.max_teilnehmer,
|
||||
(
|
||||
SELECT SUM(arbeitsplaetze)
|
||||
FROM public.tbl_ort JOIN public.tbl_rt_ort USING(ort_kurzbz)
|
||||
WHERE rt_id = tbl_reihungstest.reihungstest_id
|
||||
FROM public.tbl_ort JOIN public.tbl_rt_ort USING(ort_kurzbz)
|
||||
WHERE rt_id = tbl_reihungstest.reihungstest_id
|
||||
)
|
||||
) - (
|
||||
SELECT COUNT(*)
|
||||
FROM public.tbl_rt_person
|
||||
WHERE rt_id = tbl_reihungstest.reihungstest_id
|
||||
FROM public.tbl_rt_person
|
||||
WHERE rt_id = tbl_reihungstest.reihungstest_id
|
||||
) > 0
|
||||
AND person_id = ' . $person_id,
|
||||
AND person_id = ' . $this->escape($person_id),
|
||||
array('reihungstest')
|
||||
);
|
||||
}
|
||||
|
||||
Regular → Executable
+168
-5
@@ -1,5 +1,9 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* This model was implemented to let to operate with messages
|
||||
* without authentication. It's ugly but useful.
|
||||
*/
|
||||
class MessageToken_model extends CI_Model
|
||||
{
|
||||
/**
|
||||
@@ -8,17 +12,17 @@ class MessageToken_model extends CI_Model
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
// Loads config file message
|
||||
$this->config->load('message');
|
||||
|
||||
|
||||
// Load return message helper
|
||||
$this->load->helper('message');
|
||||
|
||||
|
||||
// Loads the database object
|
||||
$this->load->database();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get a received message identified by token
|
||||
*/
|
||||
@@ -41,9 +45,168 @@ class MessageToken_model extends CI_Model
|
||||
) s ON (r.message_id = s.message_id AND r.person_id = s.person_id)
|
||||
WHERE r.token = ?
|
||||
LIMIT 1';
|
||||
|
||||
|
||||
$result = $this->db->query($sql, array(MSG_STATUS_DELETED, $token));
|
||||
|
||||
// If no errors occurred
|
||||
if ($result)
|
||||
{
|
||||
return success($result->result());
|
||||
}
|
||||
else
|
||||
{
|
||||
return error($this->db->error());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the status of a message to read. If the status of the message
|
||||
* is already read, than update updateamum
|
||||
*/
|
||||
public function setReadMessageStatusByToken($token)
|
||||
{
|
||||
$sql = 'SELECT r.message_id,
|
||||
m.person_id as sender_id,
|
||||
r.person_id as receiver_id,
|
||||
m.subject,
|
||||
m.body,
|
||||
m.insertamum,
|
||||
m.relationmessage_id,
|
||||
m.oe_kurzbz,
|
||||
s.status,
|
||||
s.statusinfo,
|
||||
s.insertamum as statusamum
|
||||
FROM public.tbl_msg_recipient r JOIN public.tbl_msg_message m USING (message_id)
|
||||
JOIN (
|
||||
SELECT * FROM public.tbl_msg_status WHERE status < ? ORDER BY insertamum DESC, status DESC
|
||||
) s ON (r.message_id = s.message_id AND r.person_id = s.person_id)
|
||||
WHERE r.token = ?
|
||||
LIMIT 1';
|
||||
|
||||
$msgs = $this->db->query($sql, array(MSG_STATUS_ARCHIVED, $token));
|
||||
|
||||
// If no errors occurred
|
||||
if ($msgs)
|
||||
{
|
||||
// If at least a record is present
|
||||
if (count($msgs->result()) > 0)
|
||||
{
|
||||
$msg = $msgs->result()[0];
|
||||
|
||||
$msgStatusResult = false; // pessimistic expectation
|
||||
|
||||
// If the status of the message is unread
|
||||
if ($msg->status == MSG_STATUS_UNREAD)
|
||||
{
|
||||
// Insert the read status
|
||||
$msgStatusResult = $this->db->insert(
|
||||
'public.tbl_msg_status',
|
||||
array(
|
||||
'message_id' => $msg->message_id,
|
||||
'person_id' => $msg->receiver_id,
|
||||
'status' => MSG_STATUS_READ,
|
||||
'statusinfo' => $msg->statusinfo,
|
||||
'insertamum' => 'NOW()',
|
||||
'insertvon' => null,
|
||||
'updateamum' => 'NOW()',
|
||||
'updatevon' => null
|
||||
)
|
||||
);
|
||||
}
|
||||
// If the status of the message is read
|
||||
else if ($msg->status == MSG_STATUS_READ)
|
||||
{
|
||||
// Update updateamum to current date
|
||||
$this->db->set('updateamum', 'NOW()');
|
||||
|
||||
$this->db->where('message_id', $msg->message_id);
|
||||
$this->db->where('person_id', $msg->receiver_id);
|
||||
$this->db->where('status', MSG_STATUS_READ);
|
||||
|
||||
$msgStatusResult = $this->db->update('public.tbl_msg_status');
|
||||
}
|
||||
|
||||
// If some of the previous DB manipulation (update or insert) has failed
|
||||
if (!$msgStatusResult)
|
||||
{
|
||||
return error($this->db->error());
|
||||
}
|
||||
}
|
||||
|
||||
return success($msgs->result());
|
||||
}
|
||||
else
|
||||
{
|
||||
return error($this->db->error());
|
||||
}
|
||||
|
||||
return success($result->result());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get data of the message sender
|
||||
*/
|
||||
public function getSenderData($person_id)
|
||||
{
|
||||
$sql = 'SELECT p.vorname,
|
||||
p.nachname,
|
||||
p.anrede,
|
||||
p.titelpost,
|
||||
p.titelpre,
|
||||
p.vornamen,
|
||||
m.mitarbeiter_uid
|
||||
FROM public.tbl_person p
|
||||
LEFT JOIN public.tbl_benutzer b USING(person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter m ON(b.uid = m.mitarbeiter_uid)
|
||||
WHERE p.person_id = ?';
|
||||
|
||||
$result = $this->db->query($sql, array($person_id));
|
||||
|
||||
// If no errors occurred
|
||||
if ($result)
|
||||
{
|
||||
return success($result->result());
|
||||
}
|
||||
else
|
||||
{
|
||||
return error($this->db->error());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function isEmployee($person_id)
|
||||
{
|
||||
$sql = 'SELECT m.mitarbeiter_uid
|
||||
FROM public.tbl_person p
|
||||
LEFT JOIN public.tbl_benutzer b USING(person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter m ON(b.uid = m.mitarbeiter_uid)
|
||||
WHERE p.person_id = ?
|
||||
AND b.aktiv = TRUE';
|
||||
|
||||
$result = $this->db->query($sql, array($person_id));
|
||||
|
||||
// If no errors occurred
|
||||
if ($result)
|
||||
{
|
||||
// If data are present
|
||||
if (is_array($result->result()) && count($result->result()) > 0)
|
||||
{
|
||||
$person = $result->result()[0];
|
||||
|
||||
// If it is an employee
|
||||
if ($person->mitarbeiter_uid != null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return error($this->db->error());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,323 @@
|
||||
<?php $this->load->view("templates/header", array("title" => "Users manager", "jquery" => true, "tablesort" => true, "jquery_checkboxes" => true, "jquery_custom" => true)); ?>
|
||||
|
||||
<body>
|
||||
<form id="usersFiltersForm" action="" method="post">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiengang_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $studiengang),
|
||||
array('name' => 'studiengang', 'id' => 'studiengangFilter')
|
||||
);
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $studiensemester),
|
||||
array('name' => 'studiensemester', 'id' => 'studiensemesterFilter')
|
||||
);
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Reihungstest_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $reihungstest,
|
||||
'studiengang' => $studiengang,
|
||||
'studiensemester' => $studiensemester
|
||||
),
|
||||
array('name' => 'reihungstest', 'id' => 'reihungstestFilter')
|
||||
);
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Aufnahmegruppe_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $aufnahmegruppe),
|
||||
array('name' => 'aufnahmegruppe', 'id' => 'aufnahmegruppeFilter')
|
||||
);
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Stufe_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $stufe),
|
||||
array('name' => 'stufe', 'id' => 'stufeFilter')
|
||||
);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<br>
|
||||
|
||||
<form id="linkUsersForm" action="" method="post">
|
||||
<?php
|
||||
if ($users != null)
|
||||
{
|
||||
?>
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Assign to:</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3px" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Stufe_widget',
|
||||
array('stufe' => $stufe),
|
||||
array('name' => 'stufe', 'id' => 'stufeAssign')
|
||||
);
|
||||
?>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td>
|
||||
<input type="button" id="linkToStufe" value="Assign this stufe">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Aufnahmegruppe_widget',
|
||||
array('aufnahmegruppe' => $aufnahmegruppe),
|
||||
array('name' => 'aufnahmegruppe', 'id' => 'aufnahmegruppeAssign')
|
||||
);
|
||||
?>
|
||||
<td> </td>
|
||||
<td>
|
||||
<input type="button" id="linkToGruppe" value="Assign to this group">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<?php
|
||||
if ($users != null)
|
||||
{
|
||||
?>
|
||||
<table id="t0" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th class="clm_prestudent_id header">Prestudent ID</th>
|
||||
<th class="clm_person_id header">Person ID</th>
|
||||
<th class="header headerSortDown">Vorname</th>
|
||||
<th>Nachname</th>
|
||||
<th>Geschlecht</th>
|
||||
<th>Studiengang</th>
|
||||
<th>OrgForm</th>
|
||||
<th>Studienplan</th>
|
||||
<th>Geburtsdatum</th>
|
||||
<th>Email</th>
|
||||
<th>Stufe</th>
|
||||
<th>Gruppe</th>
|
||||
<th>Punkte</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for ($i = 0; $i < count($users); $i++)
|
||||
{
|
||||
$user = $users[$i];
|
||||
?>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" name="prestudent_id[]" value="<?php echo $user->prestudent_id ?>">
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->prestudent_id; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->person_id; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->vorname; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->nachname; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->geschlecht; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->kurzbzlang; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->orgform_kurzbz; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->studienplan; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->gebdatum; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->email; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->rt_stufe; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->aufnahmegruppe_kurzbz; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $user->punkte; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'No users found.';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
$hrefLinkToStufe = str_replace("/system/aufnahme/PrestudentMultiAssign", "/system/aufnahme/PrestudentMultiAssign/linkToStufe", $_SERVER["REQUEST_URI"]);
|
||||
$hrefLinkToAufnahmegruppe = str_replace("/system/aufnahme/PrestudentMultiAssign", "/system/aufnahme/PrestudentMultiAssign/linkToAufnahmegruppe", $_SERVER["REQUEST_URI"]);
|
||||
?>
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
if ($("#linkToStufe"))
|
||||
{
|
||||
$("#linkToStufe").click(function() {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
url: "<?php echo $hrefLinkToStufe; ?>",
|
||||
data: $("#linkUsersForm").serialize(),
|
||||
success: function(data, textStatus, jqXHR) {
|
||||
alert(data.msg);
|
||||
$("#usersFiltersForm").submit();
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus + " - " + errorThrown + " - " + jqXHR.responseText);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if ($("#linkToGruppe"))
|
||||
{
|
||||
$("#linkToGruppe").click(function() {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
url: "<?php echo $hrefLinkToAufnahmegruppe; ?>",
|
||||
data: $("#linkUsersForm").serialize(),
|
||||
success: function(data, textStatus, jqXHR) {
|
||||
alert(data.msg);
|
||||
$("#usersFiltersForm").submit();
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus + " - " + errorThrown + " - " + jqXHR.responseText);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if ($('#studiengangFilter'))
|
||||
{
|
||||
$('#studiengangFilter').change(function() {
|
||||
$('#usersFiltersForm').submit();
|
||||
});
|
||||
}
|
||||
|
||||
if ($('#studiensemesterFilter'))
|
||||
{
|
||||
$('#studiensemesterFilter').change(function() {
|
||||
$('#usersFiltersForm').submit();
|
||||
});
|
||||
}
|
||||
|
||||
if ($('#aufnahmegruppeFilter'))
|
||||
{
|
||||
$('#aufnahmegruppeFilter').change(function() {
|
||||
$('#usersFiltersForm').submit();
|
||||
});
|
||||
}
|
||||
|
||||
if ($('#stufeFilter'))
|
||||
{
|
||||
$('#stufeFilter').change(function() {
|
||||
$('#usersFiltersForm').submit();
|
||||
});
|
||||
}
|
||||
|
||||
if ($('#reihungstestFilter'))
|
||||
{
|
||||
$('#reihungstestFilter').change(function() {
|
||||
$('#usersFiltersForm').submit();
|
||||
});
|
||||
}
|
||||
|
||||
$(".tablesorter").each(function(i, v) {
|
||||
$("#"+v.id).tablesorter(
|
||||
{
|
||||
widgets: ["zebra"],
|
||||
sortList: [[3,0],[4,0]],
|
||||
headers: {0: { sorter: false}}
|
||||
});
|
||||
|
||||
$("#toggle_"+v.id).on('click', function(e) {
|
||||
$("#"+v.id).checkboxes('toggle');
|
||||
e.preventDefault();
|
||||
if ($("input.chkbox:checked").size() > 0)
|
||||
$("#mailSendButton").html('Mail an markierte Personen senden');
|
||||
else
|
||||
$("#mailSendButton").html('Mail an alle senden');
|
||||
});
|
||||
|
||||
$("#uncheck_"+v.id).on('click', function(e) {
|
||||
$("#"+v.id).checkboxes('uncheck');
|
||||
e.preventDefault();
|
||||
if ($("input.chkbox:checked").size() > 0)
|
||||
$("#mailSendButton").html('Mail an markierte Personen senden');
|
||||
else
|
||||
$("#mailSendButton").html('Mail an alle senden');
|
||||
});
|
||||
|
||||
$("#"+v.id).checkboxes('range', true);
|
||||
});
|
||||
|
||||
$('.chkbox').change(function()
|
||||
{
|
||||
if ($("input.chkbox:checked").size() > 0)
|
||||
$("#mailSendButton").html('Mail an markierte Personen senden');
|
||||
else
|
||||
$("#mailSendButton").html('Mail an alle senden');
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
<?php $this->load->view("templates/footer"); ?>
|
||||
Regular → Executable
+57
-9
@@ -1,9 +1,57 @@
|
||||
<div>
|
||||
S: <?php echo $message->subject; ?>
|
||||
</div>
|
||||
<div>
|
||||
B: <?php echo $message->body; ?>
|
||||
</div>
|
||||
<div>
|
||||
<a href="<?php echo $href; ?>">Reply</a>
|
||||
</div>
|
||||
<?php $this->load->view("templates/header", array("title" => "Message viewer")); ?>
|
||||
|
||||
<body>
|
||||
<center>
|
||||
<br><br>
|
||||
<table width="70%;" style="border: solid 1px gray; background-color:white; padding:5px;">
|
||||
<tr style=''>
|
||||
<td style="width: 80px;">
|
||||
<b>From:</b>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $sender->vorname.' '.$sender->nachname; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 80px;">
|
||||
<b>Subject:</b>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $message->subject; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<b>Message:</b>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $message->body; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
if ($isEmployee === false)
|
||||
{
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="3" align="center" style="background-color:#dddddd; padding:5px;">
|
||||
<a href="<?php echo $href; ?>">Reply</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/footer"); ?>
|
||||
|
||||
@@ -18,7 +18,13 @@
|
||||
<div class="span4">
|
||||
<button type="submit">Send</button>
|
||||
|
||||
<?php echo $this->templatelib->widget("Vorlage_widget", array("title" => "Vorlage")); ?>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Vorlage_widget',
|
||||
null,
|
||||
array('name' => 'vorlage', 'id' => 'vorlageDnD')
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -34,19 +40,26 @@
|
||||
$url = str_replace("/system/Messages/reply", "/system/Messages/getVorlage", $_SERVER["REQUEST_URI"]);
|
||||
?>
|
||||
|
||||
function getVorlageText(vorlage_kurzbz)
|
||||
{
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: "<?php echo $url; ?>",
|
||||
data: {"vorlage_kurzbz": vorlage_kurzbz},
|
||||
success: function(data, textStatus, jqXHR) {
|
||||
tinyMCE.activeEditor.setContent(data.retval[0].text + "<?php echo $message->body; ?>");
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus + " - " + errorThrown);
|
||||
}
|
||||
});
|
||||
}
|
||||
$(document).ready(function() {
|
||||
if ($("#vorlageDnD"))
|
||||
{
|
||||
$("#vorlageDnD").change(function() {
|
||||
if (this.value != '')
|
||||
{
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: "<?php echo $url; ?>",
|
||||
data: {"vorlage_kurzbz": this.value},
|
||||
success: function(data, textStatus, jqXHR) {
|
||||
tinyMCE.activeEditor.setContent(data.retval[0].text + "<?php echo $message->body; ?>");
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus + " - " + errorThrown);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</html>
|
||||
|
||||
@@ -72,7 +72,13 @@
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<?php echo $this->templatelib->widget("Vorlage_widget", array("title" => "Vorlage")); ?>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Vorlage_widget',
|
||||
null,
|
||||
array('name' => 'vorlage', 'id' => 'vorlageDnD')
|
||||
);
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
@@ -186,6 +192,31 @@
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if ($("#vorlageDnD"))
|
||||
{
|
||||
$("#vorlageDnD").change(function() {
|
||||
if (this.value != '')
|
||||
{
|
||||
<?php
|
||||
$url = str_replace("/system/Messages/write", "/system/Messages/getVorlage", $_SERVER["REQUEST_URI"]);
|
||||
?>
|
||||
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: "<?php echo $url; ?>",
|
||||
data: {"vorlage_kurzbz": this.value},
|
||||
success: function(data, textStatus, jqXHR) {
|
||||
tinyMCE.get("bodyTextArea").setContent(data.retval[0].text);
|
||||
$("#subject").val(data.retval[0].subject);
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus + " - " + errorThrown);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function tinymcePreviewSetContent()
|
||||
@@ -222,25 +253,5 @@
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getVorlageText(vorlage_kurzbz)
|
||||
{
|
||||
<?php
|
||||
$url = str_replace("/system/Messages/write", "/system/Messages/getVorlage", $_SERVER["REQUEST_URI"]);
|
||||
?>
|
||||
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: "<?php echo $url; ?>",
|
||||
data: {"vorlage_kurzbz": vorlage_kurzbz},
|
||||
success: function(data, textStatus, jqXHR) {
|
||||
tinyMCE.get("bodyTextArea").setContent(data.retval[0].text);
|
||||
$("#subject").val(data.retval[0].subject);
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus + " - " + errorThrown);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
</html>
|
||||
@@ -11,11 +11,43 @@
|
||||
<table>
|
||||
<tr>
|
||||
<td>OE</td>
|
||||
<td><?php echo $this->templatelib->widget("organisationseinheit_widget", array('oe_kurzbz' => $orgeinheit_kurzbz)); ?></td>
|
||||
<td>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Organisationseinheit_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $orgeinheit_kurzbz),
|
||||
array('name' => 'organisationseinheit', 'id' => 'organisationseinheitDnD')
|
||||
);
|
||||
?>
|
||||
</td>
|
||||
<td>Preview</td>
|
||||
</tr>
|
||||
<tr><td>Orgform</td><td><?php echo $this->templatelib->widget("orgform_widget", array('orgform_kurzbz' => $orgform_kurzbz)); ?></td><td></td></tr>
|
||||
<tr><td>Sprache</td><td><?php echo $this->templatelib->widget("sprache_widget", array('sprache' => $sprache)); ?></td><td></td></tr>
|
||||
<tr>
|
||||
<td>Orgform</td>
|
||||
<td>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Orgform_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $orgform_kurzbz),
|
||||
array('name' => 'orgform', 'id' => 'orgformDnD')
|
||||
);
|
||||
?>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Sprache</td>
|
||||
<td>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Sprache_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $sprache),
|
||||
array('name' => 'sprache', 'id' => 'spracheDnD')
|
||||
);
|
||||
?>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr><td>Text</td><td><textarea name="text" style="width:500px; height:300px;" id="markitup"><?php echo $text ?></textarea></td>
|
||||
<td valign="top">
|
||||
<div id="textile-preview" style="width:500px; height:300px; border: 1px solid gray; overflow: auto;"></div>
|
||||
@@ -35,7 +67,7 @@
|
||||
</td></tr>
|
||||
<?php
|
||||
// This is an example to show that you can load stuff from inside the template file
|
||||
//echo $this->templatelib->widget("tinymce_widget", array('name' => 'text', 'text' => $text));
|
||||
//echo $this->widgetlib->widget("tinymce_widget", array('name' => 'text', 'text' => $text));
|
||||
?>
|
||||
<tr><td colspan="2" align="right"><button type="submit">Save</button></td></tr>
|
||||
</table>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
App: aufnahme
|
||||
<?php
|
||||
// This is an example to show that you can load stuff from inside the template file
|
||||
//echo $this->templatelib->widget("mimetype_widget", array('mimetype' => $mimetype));
|
||||
//echo $this->widgetlib->widget("mimetype_widget", array('mimetype' => $mimetype));
|
||||
?>
|
||||
<button type="submit">Filter</button>
|
||||
</form>
|
||||
|
||||
@@ -1,289 +0,0 @@
|
||||
<?php $this->load->view("templates/header", array("title" => "Users manager", "jquery" => true, "tablesort" => true, "jquery_checkboxes" => true, "jquery_custom" => true)); ?>
|
||||
|
||||
<body>
|
||||
<div>
|
||||
<form id="usersFiltersForm" action="" method="post">
|
||||
<?php
|
||||
echo $this->templatelib->widget(
|
||||
'Usersfilters_widget',
|
||||
array(
|
||||
'studiengang' => $studiengang,
|
||||
'studiensemester' => $studiensemester,
|
||||
'gruppe' => $gruppe,
|
||||
'reihungstest' => $reihungstest,
|
||||
'stufe' => $stufe
|
||||
)
|
||||
);
|
||||
?>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<form id="linkUsersForm" action="" method="post">
|
||||
<?php
|
||||
if ($users != null)
|
||||
{
|
||||
?>
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Assign to:</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3px" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<select name="stufe">
|
||||
<?php foreach($stufen as $v): ?>
|
||||
<?php
|
||||
$selected = '';
|
||||
if ($v->stufe == $selectedStufe)
|
||||
{
|
||||
$selected = 'selected';
|
||||
}
|
||||
?>
|
||||
<option value="<?php echo $v->stufe; ?>" <?php echo $selected; ?>>
|
||||
<?php echo $v->beschreibung; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td>
|
||||
<input type="button" id="linkToStufe" value="Assign this stufe">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<select name="aufnahmegruppe">
|
||||
<?php foreach($gruppen as $v): ?>
|
||||
<?php
|
||||
$selected = '';
|
||||
if ($v->gruppe_kurzbz == $selectedGruppe)
|
||||
{
|
||||
$selected = 'selected';
|
||||
}
|
||||
?>
|
||||
<option value="<?php echo $v->gruppe_kurzbz; ?>" <?php echo $selected; ?>>
|
||||
<?php echo $v->beschreibung; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<td> </td>
|
||||
<td>
|
||||
<input type="button" id="linkToGruppe" value="Assign to this group">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div>
|
||||
<?php
|
||||
if ($users != null)
|
||||
{
|
||||
?>
|
||||
<table id="t0" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th class="clm_prestudent_id header">Prestudent ID</th>
|
||||
<th class="clm_person_id header">Person ID</th>
|
||||
<th class="header headerSortDown">Vorname</th>
|
||||
<th>Nachname</th>
|
||||
<th>Geschlecht</th>
|
||||
<th>Studiengang</th>
|
||||
<th>OrgForm</th>
|
||||
<th>Studienplan</th>
|
||||
<th>Geburtsdatum</th>
|
||||
<th>Email</th>
|
||||
<th>Stufe</th>
|
||||
<th>Gruppe</th>
|
||||
<th>Punkte</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for ($i = 0; $i < count($users); $i++)
|
||||
{
|
||||
$user = $users[$i];
|
||||
|
||||
echo "<tr>";
|
||||
|
||||
echo "<td>";
|
||||
echo '<input type="checkbox" name="prestudent_id[]" value="' . $user->prestudent_id . '">';
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->prestudent_id;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->person_id;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->vorname;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->nachname;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->geschlecht;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->kurzbzlang;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->orgform_kurzbz;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->studienplan;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->gebdatum;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->email;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->rt_stufe;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->aufnahmegruppe_kurzbz;
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $user->punkte;
|
||||
echo "</td>";
|
||||
|
||||
echo "</tr>";
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'No users found.';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
$hrefLinkToStufe = str_replace("/system/Users", "/system/Users/linkToStufe", $_SERVER["REQUEST_URI"]);
|
||||
$hrefLinkToAufnahmegruppe = str_replace("/system/Users", "/system/Users/linkToAufnahmegruppe", $_SERVER["REQUEST_URI"]);
|
||||
?>
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
if ($("#linkToStufe"))
|
||||
{
|
||||
$("#linkToStufe").click(function() {
|
||||
if ($("#linkUsersForm"))
|
||||
{
|
||||
$("#linkUsersForm").attr("action", "<?php echo $hrefLinkToStufe; ?>");
|
||||
$("#linkUsersForm").submit();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if ($("#linkToGruppe"))
|
||||
{
|
||||
$("#linkToGruppe").click(function() {
|
||||
if ($("#linkUsersForm"))
|
||||
{
|
||||
$("#linkUsersForm").attr("action", "<?php echo $hrefLinkToAufnahmegruppe; ?>");
|
||||
$("#linkUsersForm").submit();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(".tablesorter").each(function(i, v) {
|
||||
$("#"+v.id).tablesorter(
|
||||
{
|
||||
widgets: ["zebra"],
|
||||
sortList: [[3,0],[4,0]],
|
||||
headers: {0: { sorter: false}}
|
||||
});
|
||||
|
||||
$("#toggle_"+v.id).on('click', function(e) {
|
||||
$("#"+v.id).checkboxes('toggle');
|
||||
e.preventDefault();
|
||||
if ($("input.chkbox:checked").size() > 0)
|
||||
$("#mailSendButton").html('Mail an markierte Personen senden');
|
||||
else
|
||||
$("#mailSendButton").html('Mail an alle senden');
|
||||
});
|
||||
|
||||
$("#uncheck_"+v.id).on('click', function(e) {
|
||||
$("#"+v.id).checkboxes('uncheck');
|
||||
e.preventDefault();
|
||||
if ($("input.chkbox:checked").size() > 0)
|
||||
$("#mailSendButton").html('Mail an markierte Personen senden');
|
||||
else
|
||||
$("#mailSendButton").html('Mail an alle senden');
|
||||
});
|
||||
|
||||
$("#"+v.id).checkboxes('range', true);
|
||||
});
|
||||
|
||||
$('.chkbox').change(function()
|
||||
{
|
||||
if ($("input.chkbox:checked").size() > 0)
|
||||
$("#mailSendButton").html('Mail an markierte Personen senden');
|
||||
else
|
||||
$("#mailSendButton").html('Mail an alle senden');
|
||||
});
|
||||
});
|
||||
|
||||
function studiengangSelected(value)
|
||||
{
|
||||
submitUsersFiltersForm();
|
||||
}
|
||||
|
||||
function studiensemesterSelected(value)
|
||||
{
|
||||
submitUsersFiltersForm();
|
||||
}
|
||||
|
||||
function reihungstestSelected(value)
|
||||
{
|
||||
submitUsersFiltersForm();
|
||||
}
|
||||
|
||||
function gruppeSelected(value)
|
||||
{
|
||||
submitUsersFiltersForm();
|
||||
}
|
||||
|
||||
function stufeSelected(value)
|
||||
{
|
||||
submitUsersFiltersForm();
|
||||
}
|
||||
|
||||
function submitUsersFiltersForm()
|
||||
{
|
||||
document.getElementById("usersFiltersForm").submit();
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
<?php $this->load->view("templates/footer"); ?>
|
||||
+4
-4
@@ -2,17 +2,17 @@
|
||||
<html lang="de_AT">
|
||||
|
||||
<head>
|
||||
<title>VileSci - Templates</title>
|
||||
<title>VileSci - Vorlage</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
</head>
|
||||
|
||||
<frameset rows="30%,*">
|
||||
<frame src="Templates/table" id="TemplatesTop" name="TemplatesTop" frameborder="0" />
|
||||
<frame src="Templates/edit" id="TemplatesBottom" name="TemplatesBottom" frameborder="0" />
|
||||
<frame src="Vorlage/table" id="VorlageTop" name="VorlageTop" frameborder="0" />
|
||||
<frame src="Vorlage/edit" id="VorlageBottom" name="VorlageBottom" frameborder="0" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
<a href="TemplatesList">Use without frames</a>
|
||||
<a href="VorlageList">Use without frames</a>
|
||||
</body>
|
||||
</noframes>
|
||||
</frameset>
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'TemplateEdit', 'jsoneditor' => true));
|
||||
$this->load->view('templates/header', array('title' => 'VorlageEdit', 'jsoneditor' => true));
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
@@ -8,9 +8,9 @@
|
||||
Bezeichnung: <input type="text" name="bezeichnung" value="<?php echo $vorlage->bezeichnung; ?>" />
|
||||
Anmerkung: <input type="text" name="anmerkung" value="<?php echo $vorlage->anmerkung; ?>" /><br/>
|
||||
|
||||
MimeType:<?php echo $this->templatelib->widget("mimetype_widget", array('mimetype' => $vorlage->mimetype)); ?>
|
||||
MimeType:<?php echo $this->widgetlib->widget("mimetype_widget", array('mimetype' => $vorlage->mimetype)); ?>
|
||||
|
||||
Attribute: <?php echo $this->templatelib->widget("jsoneditor_widget", array('json' => $vorlage->attribute)); ?>
|
||||
Attribute: <?php echo $this->widgetlib->widget("jsoneditor_widget", array('json' => $vorlage->attribute)); ?>
|
||||
|
||||
<input type="hidden" name="attribute" id="attribute" value="<?=$vorlage->attribute?>" />
|
||||
<input type="hidden" name="vorlage_kurzbz" value="<?php echo $vorlage->vorlage_kurzbz; ?>" />
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'TemplatesList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '4:{sorter:false}'));
|
||||
$this->load->view('templates/header', array('title' => 'VorlageList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '4:{sorter:false}'));
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
@@ -8,7 +8,7 @@
|
||||
MimeType
|
||||
<?php
|
||||
// This is an example to show that you can load stuff from inside the template file
|
||||
echo $this->templatelib->widget("mimetype_widget", array('mimetype' => $mimetype));
|
||||
echo $this->widgetlib->widget("mimetype_widget", array('mimetype' => $mimetype));
|
||||
?>
|
||||
<button type="submit">Filter</button>
|
||||
</form>
|
||||
@@ -23,7 +23,7 @@ MimeType
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($vorlage as $v): ?>
|
||||
<tr><td><a href="edit/<?php echo $v->vorlage_kurzbz; ?>" target="TemplatesBottom"><?php echo $v->vorlage_kurzbz; ?></a></td>
|
||||
<tr><td><a href="edit/<?php echo $v->vorlage_kurzbz; ?>" target="VorlageBottom"><?php echo $v->vorlage_kurzbz; ?></a></td>
|
||||
<td><?php echo $v->bezeichnung; ?></td>
|
||||
<td><?php echo $v->anmerkung; ?></td>
|
||||
<td><?php echo $v->mimetype; ?></td>
|
||||
+30
-8
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'TemplateEdit', 'tinymce' => true, 'jsonforms' => true));
|
||||
$this->load->view('templates/header', array('title' => 'VorlageEdit', 'tinymce' => true, 'jsonforms' => true));
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
@@ -7,22 +7,44 @@
|
||||
<h2>Vorlagetext: <?=$vorlagestudiengang_id?></h2>
|
||||
<!--StudiengangKZ: <?=$studiengang_kz?>-->
|
||||
<form method="post" action="../saveText/<?=$vorlagestudiengang_id?>">
|
||||
OE:<?php echo $this->templatelib->widget("organisationseinheit_widget", array('oe_kurzbz' => $oe_kurzbz, 'typ' => "'Erhalter','Studienzentrum','Studiengang','Lehrgang'")); ?>
|
||||
Sprache:<?php echo $this->templatelib->widget("sprache_widget", array('sprache' => $sprache)); ?>
|
||||
OrgForm:<?php echo $this->templatelib->widget("orgform_widget", array('orgform' => $orgform_kurzbz)); ?>
|
||||
|
||||
OE: <?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Organisationseinheit_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $oe_kurzbz,
|
||||
'typ' => array('Erhalter', 'Studienzentrum', 'Studiengang', 'Lehrgang')
|
||||
),
|
||||
array('name' => 'organisationseinheit', 'id' => 'organisationseinheitDnD')
|
||||
);
|
||||
?>
|
||||
Sprache: <?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Sprache_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $sprache),
|
||||
array('name' => 'sprache', 'id' => 'spracheDnD')
|
||||
);
|
||||
?>
|
||||
OrgForm: <?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Orgform_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $orgform_kurzbz),
|
||||
array('name' => 'orgform', 'id' => 'orgformDnD')
|
||||
);
|
||||
?>
|
||||
Version: <input type="text" name="version" value="<?php echo $version; ?>" size="1" />
|
||||
Aktiv: <input type="text" name="aktiv" value="<?php echo $aktiv; ?>" size="1" />
|
||||
<input type="hidden" name="vorlagestudiengang_id" value="<?php echo $vorlagestudiengang_id; ?>" />
|
||||
<input type="hidden" name="studiengang_kz" value="<?php echo $studiengang_kz; ?>" />
|
||||
<?php
|
||||
// This is an example to show that you can load stuff from inside the template file
|
||||
echo $this->templatelib->widget("tinymce_widget", array('name' => 'text', 'text' => $text));
|
||||
echo $this->widgetlib->widget("tinymce_widget", array('name' => 'text', 'text' => $text));
|
||||
?>
|
||||
<button type="submit">Save</button>
|
||||
</form>
|
||||
<hr/><h2>Preview-Data</h2>
|
||||
<form method="post" action="../preview/<?=$vorlagestudiengang_id?>" target="TemplatePreview">
|
||||
<?php echo $this->templatelib->widget("jsonforms_widget", array('id' => 'dataform', 'schema' => $schema)); ?>
|
||||
<form method="post" action="../preview/<?=$vorlagestudiengang_id?>" target="VorlagePreview">
|
||||
<?php echo $this->widgetlib->widget("jsonforms_widget", array('id' => 'dataform', 'schema' => $schema)); ?>
|
||||
<input type="hidden" name="formdata" id="formdata" value="" />
|
||||
<button type="submit" onclick="getFormdata(this.form);">Preview</button>
|
||||
</form>
|
||||
@@ -38,6 +60,6 @@
|
||||
}
|
||||
</script>
|
||||
|
||||
<iframe name="TemplatePreview" width="100%" src=""/>
|
||||
<iframe name="VorlagePreview" width="100%" src=""/>
|
||||
</body>
|
||||
</html>
|
||||
+7
-7
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'TemplatetextList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '7:{sorter:false},8:{sorter:false},9:{sorter:false}'));
|
||||
$this->load->view('templates/header', array('title' => 'VorlagetextList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '7:{sorter:false},8:{sorter:false},9:{sorter:false}'));
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Vorlagentext - <?php echo $vorlage_kurzbz; ?></h2>
|
||||
<form method="post" action="../newtext" target="TemplatesBottom">
|
||||
<form method="post" action="../newtext" target="VorlageBottom">
|
||||
<input type="hidden" name="vorlage_kurzbz" value="<?php echo $vorlage_kurzbz; ?>"/>
|
||||
<button type="submit">Neu</button>
|
||||
</form>
|
||||
@@ -28,16 +28,16 @@
|
||||
<tbody>
|
||||
<?php foreach ($vorlagentext as $v): ?>
|
||||
<tr>
|
||||
<td><a href="../edittext/<?php echo $v->vorlagestudiengang_id; ?>" target="TemplatesBottom"><?php echo $v->vorlagestudiengang_id; ?></a></td>
|
||||
<td><a href="../edittext/<?php echo $v->vorlagestudiengang_id; ?>" target="TemplatesBottom"><?php echo $v->vorlage_kurzbz; ?></a></td>
|
||||
<td><a href="../edittext/<?php echo $v->vorlagestudiengang_id; ?>" target="VorlageBottom"><?php echo $v->vorlagestudiengang_id; ?></a></td>
|
||||
<td><a href="../edittext/<?php echo $v->vorlagestudiengang_id; ?>" target="VorlageBottom"><?php echo $v->vorlage_kurzbz; ?></a></td>
|
||||
<td><?php echo $v->version; ?></td>
|
||||
<td><?php echo $v->oe_kurzbz; ?></td>
|
||||
<td></td>
|
||||
<td><?php echo implode(',', $v->berechtigung); ?></td>
|
||||
<td><?php echo $v->anmerkung_vorlagestudiengang; ?></td>
|
||||
<td><?php echo $v->aktiv; ?></td>
|
||||
<td><a href="../editText/<?php echo $v->vorlagestudiengang_id; ?>" target="TemplatesBottom">Edit Text</a></td>
|
||||
<td><a href="../linkDocuments/<?php echo $v->vorlagestudiengang_id; ?>" target="TemplatesBottom">Edit Documents</a></td>
|
||||
<td><a href="../editText/<?php echo $v->vorlagestudiengang_id; ?>" target="VorlageBottom">Edit Text</a></td>
|
||||
<td><a href="../linkDocuments/<?php echo $v->vorlagestudiengang_id; ?>" target="VorlageBottom">Edit Documents</a></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
@@ -47,4 +47,4 @@
|
||||
|
||||
<?php
|
||||
$this->load->view('templates/footer');
|
||||
?>
|
||||
?>
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
<?php
|
||||
echo $text;
|
||||
?>
|
||||
?>
|
||||
@@ -0,0 +1,14 @@
|
||||
<select id="<?php echo ${Widget::HTML_ARG_NAME}[Widget::HTML_ID]; ?>" name="<?php echo ${Widget::HTML_ARG_NAME}[Widget::HTML_NAME]; ?>">
|
||||
<?php foreach(${DropdownWidget::WIDGET_DATA_ELEMENTS_ARRAY_NAME} as $element): ?>
|
||||
<?php
|
||||
$selected = '';
|
||||
if ($element->{DropdownWidget::ID_FIELD} == ${DropdownWidget::SELECTED_ELEMENT})
|
||||
{
|
||||
$selected = 'selected';
|
||||
}
|
||||
?>
|
||||
<option value="<?php echo $element->{DropdownWidget::ID_FIELD}; ?>" <?php echo $selected; ?>>
|
||||
<?php echo $element->{DropdownWidget::DESCRIPTION_FIELD}; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
@@ -1,7 +0,0 @@
|
||||
<select name="<?php echo $htmltagname; ?>">
|
||||
<?php foreach($items as $item): ?>
|
||||
<option value="<?php echo $item['value']; ?>" <?php if ($item['selected']) echo 'selected'?>>
|
||||
<?php echo $item['name']; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
@@ -1,7 +0,0 @@
|
||||
<select name="<?php echo $htmltagname; ?>">
|
||||
<?php foreach($items as $item): ?>
|
||||
<option value="<?php echo $item['value']; ?>" <?php if ($item['selected']) echo 'selected'?>>
|
||||
<?php echo $item['name']; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
@@ -1,7 +0,0 @@
|
||||
<select name="<?php echo 'sprache'; ?>">
|
||||
<?php foreach($items as $item): ?>
|
||||
<option value="<?php echo $item['sprache']; ?>" <?php if ($item['selected']) echo 'selected'?>>
|
||||
<?php echo $item['sprache']; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
@@ -1,107 +0,0 @@
|
||||
<?php
|
||||
if (isset($errors) && is_array($errors) && count($errors) > 0)
|
||||
{
|
||||
?>
|
||||
<div class="errors">
|
||||
<?php foreach($errors as $e): ?>
|
||||
<?php echo $e->retval; ?><br>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<select id="studiengang" name="studiengang">
|
||||
<?php foreach($studiengaenge as $v): ?>
|
||||
<?php
|
||||
$selected = '';
|
||||
if ($v->studiengang_kz == $selectedStudiengang)
|
||||
{
|
||||
$selected = 'selected';
|
||||
}
|
||||
?>
|
||||
<option value="<?php echo $v->studiengang_kz; ?>" <?php echo $selected; ?> onClick="studiengangSelected(this.value)">
|
||||
<?php
|
||||
if ($v->studiengang_kz == '-1')
|
||||
{
|
||||
echo $v->kurzbzlang;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $v->kurzbzlang . ' (' . $v->bezeichnung . ')';
|
||||
}
|
||||
?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<select id="studiensemester" name="studiensemester">
|
||||
<?php foreach($studiensemester as $v): ?>
|
||||
<?php
|
||||
$selected = '';
|
||||
if ($v->studiensemester_kurzbz == $selectedStudiensemester)
|
||||
{
|
||||
$selected = 'selected';
|
||||
}
|
||||
?>
|
||||
<option value="<?php echo $v->studiensemester_kurzbz; ?>" <?php echo $selected; ?> onClick="studiensemesterSelected(this.value)">
|
||||
<?php echo $v->beschreibung; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<select id="reihungstest" name="reihungstest">
|
||||
<?php foreach($reihungstest as $v): ?>
|
||||
<?php
|
||||
$selected = '';
|
||||
if ($v->reihungstest_id == $selectedReihungstest)
|
||||
{
|
||||
$selected = 'selected';
|
||||
}
|
||||
?>
|
||||
<option value="<?php echo $v->reihungstest_id; ?>" <?php echo $selected; ?> onClick="reihungstestSelected(this.value)">
|
||||
<?php echo $v->beschreibung; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<select id="gruppe" name="gruppe">
|
||||
<?php foreach($gruppen as $v): ?>
|
||||
<?php
|
||||
$selected = '';
|
||||
if ($v->gruppe_kurzbz == $selectedGruppe)
|
||||
{
|
||||
$selected = 'selected';
|
||||
}
|
||||
?>
|
||||
<option value="<?php echo $v->gruppe_kurzbz; ?>" <?php echo $selected; ?> onClick="gruppeSelected(this.value)">
|
||||
<?php echo $v->beschreibung; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</td>
|
||||
<td colspan="2">
|
||||
<select id="stufe" name="stufe">
|
||||
<?php foreach($stufen as $v): ?>
|
||||
<?php
|
||||
$selected = '';
|
||||
if ($v->stufe == $selectedStufe)
|
||||
{
|
||||
$selected = 'selected';
|
||||
}
|
||||
?>
|
||||
<option value="<?php echo $v->stufe; ?>" <?php echo $selected; ?> onClick="stufeSelected(this.value)">
|
||||
<?php echo $v->beschreibung; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -1,16 +0,0 @@
|
||||
<select name="vorlage">
|
||||
<?php foreach($vorlage as $v): ?>
|
||||
<option value="<?php echo $v->vorlage_kurzbz; ?>" onClick="getVorlageText(this.value)">
|
||||
<?php
|
||||
if ($v->vorlage_kurzbz == '-1')
|
||||
{
|
||||
echo $v->bezeichnung;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $v->vorlage_kurzbz . (isset($v->bezeichnung) ? " - " . $v->bezeichnung : "");
|
||||
}
|
||||
?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
class Aufnahmegruppe_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
// Gruppen
|
||||
$this->load->model('organisation/Gruppe_model', 'GruppeModel');
|
||||
$this->GruppeModel->addOrder('beschreibung');
|
||||
|
||||
$this->addSelectToModel($this->GruppeModel, 'gruppe_kurzbz', 'beschreibung');
|
||||
|
||||
$this->setElementsArray(
|
||||
$this->GruppeModel->loadWhere(array('aktiv' => true, 'aufnahmegruppe' => true)),
|
||||
true,
|
||||
'Select a group...',
|
||||
'No aufnahmegruppe found'
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
class Organisationseinheit_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
$this->load->model('organisation/Organisationseinheit_model', 'OrganisationseinheitModel');
|
||||
|
||||
if (isset($widgetData['typ']))
|
||||
$typ = $widgetData['typ'];
|
||||
else
|
||||
$typ = null;
|
||||
|
||||
// NOTE: no need to call addSelectToModel because getRecursiveList already returns
|
||||
// the correct names of the fields
|
||||
|
||||
$this->setElementsArray($this->OrganisationseinheitModel->getRecursiveList($typ));
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
class Orgform_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
$this->load->model('codex/Orgform_model', 'OrgFormModel');
|
||||
$this->OrgFormModel->addOrder('bezeichnung');
|
||||
|
||||
$this->addSelectToModel($this->OrgFormModel, 'orgform_kurzbz', 'bezeichnung');
|
||||
|
||||
$this->setElementsArray($this->OrgFormModel->load());
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
class Reihungstest_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
$this->load->model('crm/Reihungstest_model', 'ReihungstestModel');
|
||||
$this->ReihungstestModel->addOrder('datum', 'DESC');
|
||||
|
||||
$this->addSelectToModel($this->ReihungstestModel, 'reihungstest_id', 'CONCAT(datum, \' \', uhrzeit, \' \', anmerkung)');
|
||||
|
||||
$parametersArray = array();
|
||||
// If the parameters studiengang or studiensemester are given and are not empty
|
||||
if (isset($widgetData) && is_array($widgetData)
|
||||
&& ((isset($widgetData['studiengang']) && !empty($widgetData['studiengang']))
|
||||
|| (isset($widgetData['studiensemester']) && !empty($widgetData['studiensemester']))))
|
||||
{
|
||||
if ($widgetData['studiengang'] != null)
|
||||
{
|
||||
$parametersArray['studiengang_kz'] = $widgetData['studiengang'];
|
||||
}
|
||||
if ($widgetData['studiensemester'] != null)
|
||||
{
|
||||
$parametersArray['studiensemester_kurzbz'] = $widgetData['studiensemester'];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// To NOT select anything
|
||||
// Set 0 = 1 in the where clause of the query
|
||||
$parametersArray['0'] = '1';
|
||||
}
|
||||
|
||||
$this->setElementsArray(
|
||||
$this->ReihungstestModel->loadWhere($parametersArray),
|
||||
true,
|
||||
'Select a reihungstest...',
|
||||
'No reihungstest found'
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
class Sprache_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
$this->load->model('system/Sprache_model', 'SpracheModel');
|
||||
$this->SpracheModel->addOrder('sprache');
|
||||
|
||||
$this->addSelectToModel($this->SpracheModel, 'sprache', 'sprache');
|
||||
|
||||
$this->setElementsArray($this->SpracheModel->load());
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
class Studiengang_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
// Studiengaenge
|
||||
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
|
||||
$this->StudiengangModel->addOrder('kurzbzlang');
|
||||
|
||||
$this->addSelectToModel($this->StudiengangModel, 'studiengang_kz', '\'(\' || kurzbzlang || \') \' || bezeichnung');
|
||||
|
||||
$this->setElementsArray(
|
||||
$this->StudiengangModel->loadWhere(array('aktiv' => true)),
|
||||
true,
|
||||
'Select a studiengang...',
|
||||
'No studiengaenge found'
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
class Studiensemester_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
// Studiensemester
|
||||
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
|
||||
$this->StudiensemesterModel->addOrder('studiensemester_kurzbz', 'DESC');
|
||||
|
||||
$this->addSelectToModel($this->StudiensemesterModel, 'studiensemester_kurzbz', 'studiensemester_kurzbz');
|
||||
|
||||
$this->setElementsArray(
|
||||
$this->StudiensemesterModel->load(),
|
||||
true,
|
||||
'Select a studiensemester...',
|
||||
'No studiensemester found'
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
class Stufe_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
// Stufe
|
||||
$this->load->model('crm/Reihungstest_model', 'ReihungstestModel');
|
||||
$this->ReihungstestModel->addSelect('DISTINCT ON(stufe) stufe');
|
||||
$this->ReihungstestModel->addOrder('stufe');
|
||||
|
||||
$this->addSelectToModel($this->ReihungstestModel, 'stufe', 'stufe');
|
||||
|
||||
$this->setElementsArray(
|
||||
$this->ReihungstestModel->loadWhere('stufe IS NOT NULL'),
|
||||
true,
|
||||
'Select a stufe...',
|
||||
'No stufen found'
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
@@ -1,183 +0,0 @@
|
||||
<?php
|
||||
|
||||
class Usersfilters_widget extends Widget
|
||||
{
|
||||
// Properties containing parameters given by the view
|
||||
private $studiengang;
|
||||
private $studiensemester;
|
||||
private $gruppe;
|
||||
private $reihungstest;
|
||||
private $stufe;
|
||||
|
||||
public function __construct($name, $args)
|
||||
{
|
||||
// Calling daddy
|
||||
parent::__construct($name, $args);
|
||||
|
||||
// Loads helper message to manage returning messages
|
||||
$this->load->helper('message');
|
||||
|
||||
// Initialising properties
|
||||
$this->_setProperties($args);
|
||||
}
|
||||
|
||||
public function display($widgetData)
|
||||
{
|
||||
$errors = array(); // Array containing possible errors
|
||||
|
||||
// Studiengaenge
|
||||
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
|
||||
$this->StudiengangModel->addOrder('kurzbzlang');
|
||||
$studiengaenge = $this->StudiengangModel->loadWhere(array('aktiv' => true));
|
||||
if (hasData($studiengaenge))
|
||||
{
|
||||
// Adding an empty element at the beginning
|
||||
$emptyElement = new stdClass();
|
||||
$emptyElement->studiengang_kz = '-1';
|
||||
$emptyElement->kurzbzlang = 'Select a studiengang...';
|
||||
$emptyElement->bezeichnung = '';
|
||||
array_unshift($studiengaenge->retval, $emptyElement);
|
||||
}
|
||||
else
|
||||
{
|
||||
$errors[] = $studiengaenge; // Adding the error to the array of errors
|
||||
}
|
||||
|
||||
// Studiensemester
|
||||
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
|
||||
$this->StudiengangModel->addSelect('studiensemester_kurzbz, studiensemester_kurzbz AS beschreibung');
|
||||
$this->StudiengangModel->addOrder('studiensemester_kurzbz', 'DESC');
|
||||
$studiensemester = $this->StudiensemesterModel->load();
|
||||
if (hasData($studiensemester))
|
||||
{
|
||||
// Adding an empty element at the beginning
|
||||
$emptyElement = new stdClass();
|
||||
$emptyElement->studiensemester_kurzbz = '-1';
|
||||
$emptyElement->beschreibung = 'Select a studiensemester...';
|
||||
array_unshift($studiensemester->retval, $emptyElement);
|
||||
}
|
||||
else
|
||||
{
|
||||
$errors[] = $studiensemester; // Adding the error to the array of errors
|
||||
}
|
||||
|
||||
// Gruppen
|
||||
$this->load->model('organisation/Gruppe_model', 'GruppeModel');
|
||||
$this->GruppeModel->addOrder('beschreibung');
|
||||
$gruppen = $this->GruppeModel->loadWhere(array('aktiv' => true, 'aufnahmegruppe' => true));
|
||||
if (hasData($gruppen))
|
||||
{
|
||||
// Adding an empty element at the beginning
|
||||
$emptyElement = new stdClass();
|
||||
$emptyElement->gruppe_kurzbz = '-1';
|
||||
$emptyElement->beschreibung = 'Select a group...';
|
||||
array_unshift($gruppen->retval, $emptyElement);
|
||||
}
|
||||
else
|
||||
{
|
||||
$errors[] = $gruppen; // Adding the error to the array of errors
|
||||
}
|
||||
|
||||
// Stufe
|
||||
$this->load->model('crm/Reihungstest_model', 'ReihungstestModel');
|
||||
$this->ReihungstestModel->addSelect('DISTINCT ON(stufe) stufe, stufe AS beschreibung');
|
||||
$this->ReihungstestModel->addOrder('stufe');
|
||||
$stufen = $this->ReihungstestModel->loadWhere('stufe IS NOT NULL');
|
||||
if (hasData($stufen))
|
||||
{
|
||||
// Adding an empty element at the beginning
|
||||
$emptyElement = new stdClass();
|
||||
$emptyElement->stufe = '-1';
|
||||
$emptyElement->beschreibung = 'Select a stufe...';
|
||||
array_unshift($stufen->retval, $emptyElement);
|
||||
}
|
||||
else
|
||||
{
|
||||
$errors[] = $stufen; // Adding the error to the array of errors
|
||||
}
|
||||
|
||||
// Reihungstest
|
||||
$reihungstest = success(array()); // default value empty array
|
||||
// If the parameters studiengang or studiensemester are given and are not empty
|
||||
if (($this->studiengang != null && !empty($this->studiengang))
|
||||
|| ($this->studiensemester != null && !empty($this->studiensemester)))
|
||||
{
|
||||
$this->ReihungstestModel->resetQuery(); // cleans any previous setting
|
||||
$this->ReihungstestModel->addSelect('reihungstest_id, concat(datum, \' \', uhrzeit, \' \', anmerkung) AS beschreibung');
|
||||
$this->ReihungstestModel->addOrder('datum', 'DESC');
|
||||
|
||||
$parametersArray = array();
|
||||
if ($this->studiengang != null)
|
||||
{
|
||||
$parametersArray['studiengang_kz'] = $this->studiengang;
|
||||
}
|
||||
if ($this->studiensemester != null)
|
||||
{
|
||||
$parametersArray['studiensemester_kurzbz'] = $this->studiensemester;
|
||||
}
|
||||
|
||||
$reihungstest = $this->ReihungstestModel->loadWhere($parametersArray);
|
||||
if (isError($reihungstest))
|
||||
{
|
||||
$errors[] = $reihungstest; // Adding the error to the array of errors
|
||||
}
|
||||
}
|
||||
|
||||
if (!isError($reihungstest))
|
||||
{
|
||||
// Adding an empty element at the beginning
|
||||
$emptyElement = new stdClass();
|
||||
$emptyElement->reihungstest_id = '-1';
|
||||
$emptyElement->beschreibung = 'Select a reihungstest...';
|
||||
array_unshift($reihungstest->retval, $emptyElement);
|
||||
}
|
||||
|
||||
// Data to be used in the widget view
|
||||
$viewData = array(
|
||||
'studiengaenge' => $studiengaenge->retval,
|
||||
'studiensemester' => $studiensemester->retval,
|
||||
'gruppen' => $gruppen->retval,
|
||||
'stufen' => $stufen->retval,
|
||||
'reihungstest' => $reihungstest->retval,
|
||||
'errors' => $errors,
|
||||
'selectedStudiengang' => $this->studiengang,
|
||||
'selectedStudiensemester' => $this->studiensemester,
|
||||
'selectedGruppe' => $this->gruppe,
|
||||
'selectedReihungstest' => $this->reihungstest,
|
||||
'selectedStufe' => $this->stufe
|
||||
);
|
||||
|
||||
// Loads widget view
|
||||
$this->view('widgets/usersfilters', $viewData);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialising properties
|
||||
*/
|
||||
private function _setProperties($args)
|
||||
{
|
||||
if (isset($args) && is_array($args))
|
||||
{
|
||||
if (isset($args['studiengang']) && $args['studiengang'] != '-1')
|
||||
{
|
||||
$this->studiengang = $args['studiengang'];
|
||||
}
|
||||
if (isset($args['studiensemester']) && $args['studiensemester'] != '-1')
|
||||
{
|
||||
$this->studiensemester = $args['studiensemester'];
|
||||
}
|
||||
if (isset($args['gruppe']) && $args['gruppe'] != '-1')
|
||||
{
|
||||
$this->gruppe = $args['gruppe'];
|
||||
}
|
||||
if (isset($args['reihungstest']) && $args['reihungstest'] != '-1')
|
||||
{
|
||||
$this->reihungstest = $args['reihungstest'];
|
||||
}
|
||||
if (isset($args['stufe']) && $args['stufe'] != '-1')
|
||||
{
|
||||
$this->stufe = $args['stufe'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* OE widget
|
||||
*/
|
||||
class organisationseinheit_widget extends Widget
|
||||
{
|
||||
|
||||
protected $_htmltagname = 'oe_kurzbz';
|
||||
|
||||
public function display($data)
|
||||
{
|
||||
$this->load->model('organisation/Organisationseinheit_model');
|
||||
if (isset($data['typ']))
|
||||
$typ = $data['typ'];
|
||||
else
|
||||
$typ = null;
|
||||
$res = $this->Organisationseinheit_model->getRecursiveList($typ);
|
||||
|
||||
// *** set data ***
|
||||
if (isset($data['htmltagname']))
|
||||
$this->_htmltagname = $data['htmltagname'];
|
||||
|
||||
// items from db
|
||||
foreach ($res->retval as $obj)
|
||||
{
|
||||
$item = array
|
||||
(
|
||||
'name' => $obj->name,
|
||||
'value' => $obj->value
|
||||
);
|
||||
if (isset($data['oe_kurzbz']) && $data['oe_kurzbz'] == $obj->value)
|
||||
$item['selected'] = true;
|
||||
else
|
||||
$item['selected'] = false;
|
||||
$data['items'][] = $item;
|
||||
}
|
||||
$data['htmltagname'] = $this->_htmltagname;
|
||||
|
||||
$this->view('widgets/organisationseinheit', $data);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* OrgForm widget
|
||||
*/
|
||||
class orgform_widget extends Widget
|
||||
{
|
||||
protected $_htmltagname = 'orgform_kurzbz';
|
||||
|
||||
public function display($data)
|
||||
{
|
||||
$this->load->model('codex/Orgform_model', 'OrgFormModel');
|
||||
$res = $this->OrgFormModel->load();
|
||||
|
||||
// set data
|
||||
if (isset($data['htmltagname']))
|
||||
$this->_htmltagname = $data['htmltagname'];
|
||||
|
||||
// empty item for null values
|
||||
$item = array
|
||||
(
|
||||
'name' => ' - ',
|
||||
'value' => ''
|
||||
);
|
||||
if (empty($data['oe_kurzbz']))
|
||||
$item['selected'] = true;
|
||||
else
|
||||
$item['selected'] = false;
|
||||
$data['items'][] = $item;
|
||||
|
||||
// items from db
|
||||
foreach ($res->retval as $obj)
|
||||
{
|
||||
$item = array
|
||||
(
|
||||
'name' => $obj->orgform_kurzbz.' ('.$obj->bezeichnung.')',
|
||||
'value' => $obj->orgform_kurzbz
|
||||
);
|
||||
if (isset($data['orgform_kurzbz']) && $obj->orgform_kurzbz == $data['orgform_kurzbz'])
|
||||
$item['selected'] = true;
|
||||
else
|
||||
$item['selected'] = false;
|
||||
$data['items'][] = $item;
|
||||
}
|
||||
$data['htmltagname'] = $this->_htmltagname;
|
||||
|
||||
$this->view('widgets/orgform', $data);
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* OE widget
|
||||
*/
|
||||
class sprache_widget extends Widget
|
||||
{
|
||||
public function display($data)
|
||||
{
|
||||
$this->load->model('system/Sprache_model');
|
||||
$res = $this->Sprache_model->load();
|
||||
//var_dump($res);
|
||||
foreach ($res->retval as $obj)
|
||||
{
|
||||
$item = array('sprache' => $obj->sprache);
|
||||
if (isset($data['sprache']) && $obj->sprache == $data['sprache'])
|
||||
$item['selected'] = true;
|
||||
else
|
||||
$item['selected'] = false;
|
||||
$data['items'][] = $item;
|
||||
}
|
||||
if (! isset($data['sprache']))
|
||||
$data['sprache'] = 'German';
|
||||
$this->view('widgets/sprache', $data);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,23 +1,21 @@
|
||||
<?php
|
||||
|
||||
class Vorlage_widget extends Widget
|
||||
class Vorlage_widget extends DropdownWidget
|
||||
{
|
||||
public function display($data)
|
||||
public function display($widgetData)
|
||||
{
|
||||
$this->load->model("system/Vorlage_model", "VorlageModel");
|
||||
$this->VorlageModel->addOrder("vorlage_kurzbz");
|
||||
$result = $this->VorlageModel->loadWhere(array("mimetype" => "text/html"));
|
||||
$this->load->model('system/Vorlage_model', 'VorlageModel');
|
||||
$this->VorlageModel->addOrder('vorlage_kurzbz');
|
||||
|
||||
if (is_object($result) && $result->error == EXIT_SUCCESS)
|
||||
{
|
||||
// Adding an empty element
|
||||
$emptyVorlage = new stdClass();
|
||||
$emptyVorlage->vorlage_kurzbz = '-1';
|
||||
$emptyVorlage->bezeichnung = 'Select a template...';
|
||||
array_unshift($result->retval, $emptyVorlage);
|
||||
|
||||
$data = array("vorlage" => $result->retval);
|
||||
$this->view("widgets/vorlage", $data);
|
||||
}
|
||||
$this->addSelectToModel($this->VorlageModel, 'vorlage_kurzbz', 'bezeichnung');
|
||||
|
||||
$this->setElementsArray(
|
||||
$this->VorlageModel->loadWhere(array('mimetype' => 'text/html')),
|
||||
true,
|
||||
'Select a vorlage...',
|
||||
'No vorlage found'
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
@@ -135,7 +135,12 @@ if(!empty($anmeldungen))
|
||||
$date = $datum->formatDatum($prfTermin->von,"d.m.Y - H:i");
|
||||
$count++;
|
||||
}
|
||||
$date = $datum->formatDatum($prfTermin->von,"d.m.Y");
|
||||
// Es soll das Datum der Anmeldung angezeigt werden
|
||||
if ($anmeldung->datum_anmeldung)
|
||||
$date = $datum->formatDatum($anmeldung->datum_anmeldung, "d.m.Y");
|
||||
else
|
||||
$date = '';
|
||||
|
||||
$data[] = array('student'=>array(
|
||||
'count' => $count,
|
||||
'vorname' => $student->vorname,
|
||||
|
||||
+145
-151
@@ -20,7 +20,9 @@
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Gerald Simane-Sequens <gerald.simane@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Das Script dient zum Navigieren im Stundenplan und zur Reservierung von Raeumen
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/wochenplan.class.php');
|
||||
@@ -28,6 +30,7 @@ require_once('../../../include/reservierung.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/ort.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/stundenplan.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
@@ -37,14 +40,6 @@ if (!$db = new basis_db())
|
||||
|
||||
$uid=get_uid();
|
||||
|
||||
//$type='ort';
|
||||
//$ort_kurzbz='EDV6.08';
|
||||
//$datum=1102260015;
|
||||
|
||||
// Deutsche Umgebung
|
||||
//$loc_de=setlocale(LC_ALL, 'de_AT@euro', 'de_AT','de_DE@euro', 'de_DE');
|
||||
//setlocale(LC_ALL, $loc_de);
|
||||
|
||||
// Variablen uebernehmen
|
||||
if (isset($_GET['type']))
|
||||
$type=$_GET['type'];
|
||||
@@ -117,23 +112,24 @@ if (isset($_POST['beschreibung']))
|
||||
if (isset($_POST['titel']))
|
||||
$titel=$_POST['titel'];
|
||||
|
||||
?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
?><!DOCTYPE html>
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<META charset="UTF-8">
|
||||
<TITLE><?php echo $p->t('lvplan/lehrveranstaltungsplan').' '.CAMPUS_NAME;?></TITLE>
|
||||
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
|
||||
<?php include('../../../include/meta/jquery.php');?>
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
function MM_jumpMenu(targ,selObj,restore)
|
||||
{ //v3.0
|
||||
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
|
||||
if (restore)
|
||||
selObj.selectedIndex=0;
|
||||
{
|
||||
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
|
||||
if (restore)
|
||||
selObj.selectedIndex=0;
|
||||
}
|
||||
|
||||
function toggle_checkboxes(obj)
|
||||
{
|
||||
function toggle_checkboxes(obj)
|
||||
{
|
||||
var f = obj.form;
|
||||
var regExp = /reserve[1-7]_[1-9][1-6]?/;
|
||||
for (var i = 0; i < f.elements.length; i++)
|
||||
@@ -144,85 +140,85 @@ if (isset($_POST['titel']))
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
$("select[name='studiengang_kz']").change(function() {
|
||||
var studiengang_kz = $("select[name='studiengang_kz']").val();
|
||||
$.ajax({
|
||||
url: "lvplan_autocomplete.php",
|
||||
data: { 'autocomplete':'getSemester',
|
||||
'stg_kz':studiengang_kz
|
||||
},
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
success: function(data)
|
||||
{
|
||||
$("select[name='semester']").empty();
|
||||
$("select[name='semester']").append('<option value="">*</option>');
|
||||
$.each(data, function(i, data){
|
||||
$("select[name='semester']").append('<option value="'+data+'">'+data+'</option>');
|
||||
});
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert("Fehler beim Laden der Daten");
|
||||
}
|
||||
});
|
||||
})
|
||||
$(document).ready(function() {
|
||||
$("select[name='studiengang_kz']").change(function() {
|
||||
var studiengang_kz = $("select[name='studiengang_kz']").val();
|
||||
$.ajax({
|
||||
url: "lvplan_autocomplete.php",
|
||||
data: { 'autocomplete':'getSemester',
|
||||
'stg_kz':studiengang_kz
|
||||
},
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
success: function(data)
|
||||
{
|
||||
$("select[name='semester']").empty();
|
||||
$("select[name='semester']").append('<option value="">*</option>');
|
||||
$.each(data, function(i, data){
|
||||
$("select[name='semester']").append('<option value="'+data+'">'+data+'</option>');
|
||||
});
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert("Fehler beim Laden der Daten");
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
$("select[name='semester']").change(function() {
|
||||
var studiengang_kz = $("select[name='studiengang_kz']").val();
|
||||
var semester = $("select[name='semester']").val();
|
||||
$.ajax({
|
||||
url: "lvplan_autocomplete.php",
|
||||
data: { 'autocomplete':'getVerband',
|
||||
'stg_kz':studiengang_kz,
|
||||
'sem':semester
|
||||
},
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
success: function(data)
|
||||
{
|
||||
$("select[name='verband']").empty();
|
||||
$("select[name='verband']").append('<option value="">*</option>');
|
||||
$.each(data, function(i, data){
|
||||
$("select[name='verband']").append('<option value="'+data+'">'+data+'</option>');
|
||||
});
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert("Fehler beim Laden der Daten");
|
||||
}
|
||||
});
|
||||
})
|
||||
$("select[name='semester']").change(function() {
|
||||
var studiengang_kz = $("select[name='studiengang_kz']").val();
|
||||
var semester = $("select[name='semester']").val();
|
||||
$.ajax({
|
||||
url: "lvplan_autocomplete.php",
|
||||
data: { 'autocomplete':'getVerband',
|
||||
'stg_kz':studiengang_kz,
|
||||
'sem':semester
|
||||
},
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
success: function(data)
|
||||
{
|
||||
$("select[name='verband']").empty();
|
||||
$("select[name='verband']").append('<option value="">*</option>');
|
||||
$.each(data, function(i, data){
|
||||
$("select[name='verband']").append('<option value="'+data+'">'+data+'</option>');
|
||||
});
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert("Fehler beim Laden der Daten");
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
$("select[name='verband']").change(function() {
|
||||
var studiengang_kz = $("select[name='studiengang_kz']").val();
|
||||
var semester = $("select[name='semester']").val();
|
||||
var verband = $("select[name='verband']").val();
|
||||
$.ajax({
|
||||
url: "lvplan_autocomplete.php",
|
||||
data: { 'autocomplete':'getGruppe',
|
||||
'stg_kz':studiengang_kz,
|
||||
'sem':semester,
|
||||
'ver':verband
|
||||
},
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
success: function(data)
|
||||
{
|
||||
$("select[name='gruppe']").empty();
|
||||
$("select[name='gruppe']").append('<option value="">*</option>');
|
||||
$.each(data, function(i, data){
|
||||
$("select[name='gruppe']").append('<option value="'+data+'">'+data+'</option>');
|
||||
});
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert("Fehler beim Laden der Daten");
|
||||
}
|
||||
});
|
||||
})
|
||||
});
|
||||
$("select[name='verband']").change(function() {
|
||||
var studiengang_kz = $("select[name='studiengang_kz']").val();
|
||||
var semester = $("select[name='semester']").val();
|
||||
var verband = $("select[name='verband']").val();
|
||||
$.ajax({
|
||||
url: "lvplan_autocomplete.php",
|
||||
data: { 'autocomplete':'getGruppe',
|
||||
'stg_kz':studiengang_kz,
|
||||
'sem':semester,
|
||||
'ver':verband
|
||||
},
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
success: function(data)
|
||||
{
|
||||
$("select[name='gruppe']").empty();
|
||||
$("select[name='gruppe']").append('<option value="">*</option>');
|
||||
$.each(data, function(i, data){
|
||||
$("select[name='gruppe']").append('<option value="'+data+'">'+data+'</option>');
|
||||
});
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert("Fehler beim Laden der Daten");
|
||||
}
|
||||
});
|
||||
})
|
||||
});
|
||||
-->
|
||||
</script>
|
||||
<?php
|
||||
@@ -234,11 +230,11 @@ if (isset($_POST['titel']))
|
||||
if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php'))
|
||||
echo '<script type="application/x-javascript" src="../../../addons/'.$addon->kurzbz.'/cis/init.js.php" ></script>';
|
||||
}
|
||||
|
||||
|
||||
// Wenn Seite fertig geladen ist Addons aufrufen
|
||||
echo '
|
||||
<script>
|
||||
$( document ).ready(function()
|
||||
$( document ).ready(function()
|
||||
{
|
||||
if(typeof addon !== \'undefined\')
|
||||
{
|
||||
@@ -265,17 +261,6 @@ if (isset($_POST['titel']))
|
||||
</table>
|
||||
|
||||
<?php
|
||||
/****************************************************************************
|
||||
* Script: stpl_week.php
|
||||
* Descr: Das Script dient zum Navigieren im Stundenplan.
|
||||
* Ein Lektor kann auch einen Saal reservieren
|
||||
* Verzweigungen: nach stpl_detail.php
|
||||
* von index.php
|
||||
* Author: Christian Paminger
|
||||
* Erstellt: 21.8.2001
|
||||
* Update: 15.11.2004 von Christian Paminger
|
||||
*****************************************************************************/
|
||||
|
||||
//Parameter pruefen
|
||||
if($stg_kz!='' && !is_numeric($stg_kz))
|
||||
die('Studiengang ist ungueltig');
|
||||
@@ -305,11 +290,9 @@ elseif (check_lektor($uid))
|
||||
else
|
||||
{
|
||||
die($p->t('global/userNichtGefunden'));
|
||||
//GastAccountHack
|
||||
//$user='student';
|
||||
}
|
||||
|
||||
// User bestimmen
|
||||
// User bestimmen
|
||||
if (!isset($type))
|
||||
$type=$user;
|
||||
if (!isset($pers_uid))
|
||||
@@ -344,47 +327,59 @@ if (isset($reserve) && $raumres)
|
||||
{
|
||||
$datum_res=$_REQUEST[$var];
|
||||
|
||||
$reservierung = new reservierung();
|
||||
// Pruefen ob der Raum im Stundenplan und Stundenplandev frei ist
|
||||
$stpl = new stundenplan('stundenplan');
|
||||
$stpldev = new stundenplan('stundenplandev');
|
||||
|
||||
if(!$reservierung->isReserviert($ort_kurzbz, $datum_res, $stunde))
|
||||
if(!$stpl->isBelegt($ort_kurzbz, $datum_res, $stunde)
|
||||
&& !$stpldev->isBelegt($ort_kurzbz, $datum_res, $stunde))
|
||||
{
|
||||
if (empty($_REQUEST['titel']) && empty($_REQUEST['beschreibung']))
|
||||
echo "<br>".$p->t('lvplan/titelUndBeschreibungFehlt')."! <br>";
|
||||
else if (empty($_REQUEST['titel']) )
|
||||
echo "<br>".$p->t('lvplan/titelFehlt')."! <br>";
|
||||
else if ( empty($_REQUEST['beschreibung']))
|
||||
echo "<br>".$p->t('lvplan/beschreibungFehlt')."! <br>";
|
||||
$reservierung = new reservierung();
|
||||
|
||||
if(!$reservierung->isReserviert($ort_kurzbz, $datum_res, $stunde))
|
||||
{
|
||||
if (empty($_REQUEST['titel']) && empty($_REQUEST['beschreibung']))
|
||||
echo "<br>".$p->t('lvplan/titelUndBeschreibungFehlt')."! <br>";
|
||||
else if (empty($_REQUEST['titel']) )
|
||||
echo "<br>".$p->t('lvplan/titelFehlt')."! <br>";
|
||||
else if ( empty($_REQUEST['beschreibung']))
|
||||
echo "<br>".$p->t('lvplan/beschreibungFehlt')."! <br>";
|
||||
else
|
||||
{
|
||||
$reservierung = new reservierung();
|
||||
$reservierung->datum = $datum_res;
|
||||
$reservierung->ort_kurzbz = $ort_kurzbz;
|
||||
$reservierung->stunde = $stunde;
|
||||
$reservierung->beschreibung = $_REQUEST['beschreibung'];
|
||||
$reservierung->titel = $_REQUEST['titel'];
|
||||
$reservierung->insertamum=date('Y-m-d H:i:s');
|
||||
$reservierung->insertvon=$uid;
|
||||
|
||||
if(isset($_REQUEST['studiengang_kz']))
|
||||
{
|
||||
$reservierung->studiengang_kz = $_REQUEST['studiengang_kz'];
|
||||
$reservierung->semester = $_REQUEST['semester'];
|
||||
$reservierung->verband = $_REQUEST['verband'];
|
||||
$reservierung->gruppe = $_REQUEST['gruppe'];
|
||||
$reservierung->gruppe_kurzbz = $_REQUEST['gruppe_kurzbz'];
|
||||
$reservierung->uid = $_REQUEST['user_uid'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$reservierung->studiengang_kz='0';
|
||||
$reservierung->uid = $uid;
|
||||
}
|
||||
|
||||
if(!$reservierung->save(true))
|
||||
echo $reservierung->errormsg;
|
||||
else
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$reservierung = new reservierung();
|
||||
$reservierung->datum = $datum_res;
|
||||
$reservierung->ort_kurzbz = $ort_kurzbz;
|
||||
$reservierung->stunde = $stunde;
|
||||
$reservierung->beschreibung = $_REQUEST['beschreibung'];
|
||||
$reservierung->titel = $_REQUEST['titel'];
|
||||
$reservierung->insertamum=date('Y-m-d H:i:s');
|
||||
$reservierung->insertvon=$uid;
|
||||
|
||||
if(isset($_REQUEST['studiengang_kz']))
|
||||
{
|
||||
$reservierung->studiengang_kz = $_REQUEST['studiengang_kz'];
|
||||
$reservierung->semester = $_REQUEST['semester'];
|
||||
$reservierung->verband = $_REQUEST['verband'];
|
||||
$reservierung->gruppe = $_REQUEST['gruppe'];
|
||||
$reservierung->gruppe_kurzbz = $_REQUEST['gruppe_kurzbz'];
|
||||
$reservierung->uid = $_REQUEST['user_uid'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$reservierung->studiengang_kz='0';
|
||||
$reservierung->uid = $uid;
|
||||
}
|
||||
|
||||
if(!$reservierung->save(true))
|
||||
echo $reservierung->errormsg;
|
||||
else
|
||||
$count++;
|
||||
}
|
||||
echo "<br>$ort_kurzbz ".$p->t('lvplan/bereitsReserviert').": $datum_res - Stunde $stunde <br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -411,7 +406,6 @@ if (! $stdplan->load_data($type,$pers_uid,$ort_kurzbz,$stg_kz,$sem,$ver,$grp,$gr
|
||||
die($stdplan->errormsg);
|
||||
}
|
||||
|
||||
//echo 'Datum:'.$datum.'<BR>';
|
||||
// Stundenplan einer Woche laden
|
||||
if (! $stdplan->load_week($datum))
|
||||
{
|
||||
@@ -426,9 +420,9 @@ if (! $stdplan->draw_header())
|
||||
|
||||
// Stundenplan der Woche drucken
|
||||
if($ort_kurzbz == 'all')
|
||||
$stdplan->draw_week ($raumres, $uid, false);
|
||||
$stdplan->draw_week ($raumres, $uid, false);
|
||||
else
|
||||
$stdplan->draw_week($raumres,$uid);
|
||||
$stdplan->draw_week($raumres,$uid);
|
||||
|
||||
if (isset($count))
|
||||
echo "Es wurde".($count!=1?'n':'')." $count Stunde".($count!=1?'n':'')." reserviert!<BR>";
|
||||
|
||||
@@ -2,39 +2,42 @@
|
||||
ini_set('display_errors','1');
|
||||
error_reporting(E_ALL);
|
||||
|
||||
mb_internal_encoding("UTF-8");
|
||||
mb_regex_encoding("UTF-8");
|
||||
mb_internal_encoding('UTF-8');
|
||||
mb_regex_encoding('UTF-8');
|
||||
setlocale (LC_ALL, 'de_DE.UTF8','de_DE@euro', 'de_DE', 'de','DE', 'ge','German');
|
||||
date_default_timezone_set('Europe/Vienna');
|
||||
|
||||
|
||||
// Connection Strings zur Datenbank
|
||||
define("DB_SYSTEM","pgsql");
|
||||
define("DB_HOST","localhost");
|
||||
define("DB_PORT","5432");
|
||||
define("DB_NAME","fhcomplete");
|
||||
define("DB_USER","fhcomplete");
|
||||
define("DB_PASSWORD","fhcomplete");
|
||||
define("DB_CONNECT_PERSISTENT",FALSE);
|
||||
define('DB_SYSTEM','pgsql');
|
||||
define('DB_HOST','localhost');
|
||||
define('DB_PORT','5432');
|
||||
define('DB_NAME','fhcomplete');
|
||||
define('DB_USER','fhcomplete');
|
||||
define('DB_PASSWORD','fhcomplete');
|
||||
define('DB_CONNECT_PERSISTENT',FALSE);
|
||||
define('CONN_CLIENT_ENCODING','UTF-8' );
|
||||
|
||||
|
||||
// Dokumentenmanagement
|
||||
define('DMS_PATH','/var/fhcomplete/documents/dms/');
|
||||
|
||||
|
||||
// Pfad zu Document Root
|
||||
define('DOC_ROOT','/var/www/html/build/');
|
||||
|
||||
// Fuer Mails etc
|
||||
define('DOMAIN','technikum-wien.at');
|
||||
|
||||
|
||||
// Default Sprache
|
||||
define('DEFAULT_LANGUAGE','German' );
|
||||
|
||||
// Authentifizierungsmethode
|
||||
// Moegliche Werte:
|
||||
// auth_mixed - htaccess mit LDAP (Default)
|
||||
// auth_demo - Demo Modus (.htaccess)
|
||||
// auth_demo - Demo Modus (.htaccess)
|
||||
// auth_session - Sessions mit LDAP (Testbetrieb)
|
||||
define("AUTH_SYSTEM", "auth_demo");
|
||||
define('AUTH_SYSTEM', 'auth_demo');
|
||||
// Gibt den Namen fuer die htaccess Authentifizierung an (muss mit dem Attribut AuthName im htaccess uebereinstimmen)
|
||||
define("AUTH_NAME","FH-Complete");
|
||||
|
||||
define('AUTH_NAME','FH-Complete');
|
||||
|
||||
// DatenbankRollen fuer Grants
|
||||
define('DB_CIS_USER_GROUP','web');
|
||||
define('DB_FAS_USER_GROUP','admin');
|
||||
|
||||
@@ -118,6 +118,10 @@ echo ']>
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/messages/rdf#recipient_id"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="messages-tree-status" label="Status" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/messages/rdf#status"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
@@ -132,6 +136,7 @@ echo ']>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/messages/rdf#recipient"/>
|
||||
<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"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
||||
@@ -29,121 +29,143 @@ if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
$stsem = '';
|
||||
|
||||
|
||||
$db = new basis_db();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen(get_uid());
|
||||
if(!$rechte->isBerechtigt('student/stammdaten', null, 's'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
echo '<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
|
||||
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
|
||||
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
|
||||
<meta charset="UTF-8">
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">';
|
||||
include('../../include/meta/jquery.php');
|
||||
include('../../include/meta/jquery-tablesorter.php');
|
||||
echo '
|
||||
<script language="Javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"],
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>';
|
||||
echo "<h2>AbgängerInnenstatistik ".$db->convert_html_chars($stsem);
|
||||
echo '<span style="position:absolute; right:15px;">'.date('d.m.Y').'</span></h2><br>';
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">';
|
||||
$studsem = new studiensemester();
|
||||
$studsem->getAll();
|
||||
|
||||
echo "<h2>AbgängerInnenstatistik $stsem";
|
||||
echo '<span style="position:absolute; right:15px;">'.date('d.m.Y').'</span></h2><br>';
|
||||
echo '</h2>';
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">';
|
||||
$studsem = new studiensemester();
|
||||
$studsem->getAll();
|
||||
foreach ($studsem->studiensemester as $stsemester)
|
||||
{
|
||||
if($stsemester->studiensemester_kurzbz == $stsem)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
foreach ($studsem->studiensemester as $stsemester)
|
||||
{
|
||||
if($stsemester->studiensemester_kurzbz==$stsem)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>'.$stsemester->studiensemester_kurzbz.'</option>';
|
||||
}
|
||||
echo '</SELECT>
|
||||
<input type="submit" value="Anzeigen" /></form><br><br>';
|
||||
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>';
|
||||
echo $stsemester->studiensemester_kurzbz;
|
||||
echo '</option>';
|
||||
}
|
||||
echo '</SELECT>
|
||||
<input type="submit" value="Anzeigen" /></form><br><br>';
|
||||
|
||||
if($stsem!='')
|
||||
if ($stsem != '')
|
||||
{
|
||||
$stgs = $rechte->getStgKz();
|
||||
|
||||
if($stgs[0]=='')
|
||||
$stgwhere='';
|
||||
else
|
||||
{
|
||||
$stgwhere=' AND studiengang_kz in(';
|
||||
foreach ($stgs as $stg)
|
||||
$stgwhere.="'$stg',";
|
||||
$stgwhere = mb_substr($stgwhere,0, mb_strlen($stgwhere)-1);
|
||||
$stgwhere.=' )';
|
||||
}
|
||||
|
||||
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,
|
||||
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
if (count($stgs) == 0)
|
||||
$stgwhere = '';
|
||||
else
|
||||
{
|
||||
$stgwhere = ' AND studiengang_kz in(';
|
||||
$stgwhere .= $db->db_implode4SQL($stgs);
|
||||
$stgwhere .= ' )';
|
||||
}
|
||||
|
||||
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
) AS abgewiesene,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS abgewiesene,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener' AND geschlecht ='m' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener'
|
||||
AND geschlecht ='m' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS abgewiesene_maennlich,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener' AND geschlecht ='w' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abgewiesener'
|
||||
AND geschlecht ='w' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS abgewiesene_weiblich,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS abbrecher,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher' AND geschlecht ='m' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher'
|
||||
AND geschlecht ='m' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS abbrecher_maennlich,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher' AND geschlecht ='w' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Abbrecher'
|
||||
AND geschlecht ='w' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS abbrecher_weiblich,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS unterbrecher,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher' AND geschlecht='m' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher'
|
||||
AND geschlecht='m' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS unterbrecher_maennlich,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher' AND geschlecht='w' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Unterbrecher'
|
||||
AND geschlecht='w' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS unterbrecher_weiblich,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS absolvent,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND geschlecht='m' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND geschlecht='m' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS absolvent_maennlich,
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
(SELECT count(*) FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND geschlecht='w' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND geschlecht='w' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS absolvent_weiblich
|
||||
FROM
|
||||
public.tbl_studiengang stg
|
||||
WHERE
|
||||
studiengang_kz>0 AND studiengang_kz<10000 AND aktiv $stgwhere
|
||||
ORDER BY kurzbzlang; ";
|
||||
if($db->db_query($qry))
|
||||
if ($db->db_query($qry))
|
||||
{ ?>
|
||||
<table class='liste table-autosort:0 table-stripeclass:alternate table-autostripe'>
|
||||
<table id="t1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
@@ -154,24 +176,24 @@ if($stsem!='')
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th class='table-sortable:default'>Studiengang</th>
|
||||
<th class='table-sortable:numeric'>m</th>
|
||||
<th class='table-sortable:numeric'>w</th>
|
||||
<th class='table-sortable:numeric'>Gesamt</th>
|
||||
<th class='table-sortable:numeric'>m</th>
|
||||
<th class='table-sortable:numeric'>w</th>
|
||||
<th class='table-sortable:numeric'>Gesamt</th>
|
||||
<th class='table-sortable:numeric'>m</th>
|
||||
<th class='table-sortable:numeric'>w</th>
|
||||
<th class='table-sortable:numeric'>Gesamt</th>
|
||||
<th class='table-sortable:numeric'>m</th>
|
||||
<th class='table-sortable:numeric'>w</th>
|
||||
<th class='table-sortable:numeric'>Gesamt</th>
|
||||
<th>Studiengang</th>
|
||||
<th>m</th>
|
||||
<th>w</th>
|
||||
<th>Gesamt</th>
|
||||
<th>m</th>
|
||||
<th>w</th>
|
||||
<th>Gesamt</th>
|
||||
<th>m</th>
|
||||
<th>w</th>
|
||||
<th>Gesamt</th>
|
||||
<th>m</th>
|
||||
<th>w</th>
|
||||
<th>Gesamt</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php while($row = $db->db_fetch_object())
|
||||
|
||||
<?php while ($row = $db->db_fetch_object())
|
||||
{ ?>
|
||||
<tr>
|
||||
<td><?php echo strtoupper($row->typ.$row->kurzbz)?> (<?php echo $row->kurzbzlang ?>)</td>
|
||||
@@ -190,7 +212,8 @@ if($stsem!='')
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody></table>
|
||||
<?php }
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
|
||||
@@ -1,140 +1,169 @@
|
||||
<?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>.
|
||||
*/
|
||||
/**
|
||||
* Exportiert die Studentendaten in ein Excel File.
|
||||
* Die zu exportierenden Spalten werden per GET uebergeben.
|
||||
* Die Adressen werden immer dazugehaengt
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/Excel/excel.php');
|
||||
|
||||
$db = new basis_db();
|
||||
$user = get_uid();
|
||||
$datum_obj = new datum();
|
||||
loadVariables($user);
|
||||
|
||||
function writecol($zeile, $i, $content)
|
||||
{
|
||||
global $worksheet, $maxlength;
|
||||
$worksheet->write($zeile, $i, $content);
|
||||
if(mb_strlen($content)>$maxlength[$i])
|
||||
$maxlength[$i]=mb_strlen($content);
|
||||
}
|
||||
|
||||
//Parameter holen
|
||||
$studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'';
|
||||
$semester = isset($_GET['semester'])?$_GET['semester']:'';
|
||||
$studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:'';
|
||||
|
||||
$maxlength= array();
|
||||
$zeile=1;
|
||||
|
||||
// Creating a workbook
|
||||
$workbook = new Spreadsheet_Excel_Writer();
|
||||
|
||||
// sending HTTP headers
|
||||
$workbook->send("Abschlusspruefung". "_" . date("d_m_Y") . ".xls");
|
||||
$workbook->setVersion(8);
|
||||
// Creating a worksheet
|
||||
$worksheet =& $workbook->addWorksheet("Abschlusspruefung");
|
||||
$worksheet->setInputEncoding('utf-8');
|
||||
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
|
||||
$format_title =& $workbook->addFormat();
|
||||
$format_title->setBold();
|
||||
// let's merge
|
||||
$format_title->setAlign('merge');
|
||||
|
||||
$stsem = new studiensemester();
|
||||
$stsem->load($studiensemester_kurzbz);
|
||||
|
||||
//Zeilenueberschriften ausgeben
|
||||
$headline=array('Titelpre','Vorname','Nachname','Titelpost','Vorsitz','Pruefer1','Pruefer2','Pruefer3',
|
||||
'Abschlussbeurteilung','Typ','Datum','Sponsion','Anmerkung');
|
||||
|
||||
$i=0;
|
||||
foreach ($headline as $title)
|
||||
{
|
||||
$worksheet->write(0,$i,$title, $format_bold);
|
||||
$maxlength[$i]=mb_strlen($title);
|
||||
$i++;
|
||||
}
|
||||
|
||||
// Daten holen
|
||||
$qry = "SELECT
|
||||
titelpre, vorname, nachname, titelpost,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=vorsitz) as vorsitz,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer1) as pruefer1,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer2) as pruefer2,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer3) as pruefer3,
|
||||
(SELECT bezeichnung FROM lehre.tbl_abschlussbeurteilung WHERE tbl_abschlussbeurteilung.abschlussbeurteilung_kurzbz=tbl_abschlusspruefung.abschlussbeurteilung_kurzbz) as bezeichnung, tbl_pruefungstyp.beschreibung, datum, sponsion, tbl_abschlusspruefung.anmerkung
|
||||
FROM
|
||||
lehre.tbl_abschlusspruefung, public.tbl_studentlehrverband, public.tbl_benutzer, public.tbl_person,
|
||||
lehre.tbl_pruefungstyp
|
||||
WHERE
|
||||
tbl_abschlusspruefung.student_uid=public.tbl_studentlehrverband.student_uid AND
|
||||
tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND
|
||||
tbl_studentlehrverband.studiengang_kz='".addslashes($studiengang_kz)."' AND
|
||||
tbl_benutzer.uid = tbl_abschlusspruefung.student_uid AND
|
||||
tbl_person.person_id = tbl_benutzer.person_id AND
|
||||
tbl_abschlusspruefung.pruefungstyp_kurzbz = tbl_pruefungstyp.pruefungstyp_kurzbz
|
||||
";
|
||||
if($semester!='')
|
||||
$qry.= " AND tbl_studentlehrverband.semester='".addslashes($semester)."'";
|
||||
$qry.=' ORDER BY nachname, vorname';
|
||||
$zeile=1;
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
$i=0;
|
||||
|
||||
writecol($zeile, $i++, $row->titelpre);
|
||||
writecol($zeile, $i++, $row->vorname);
|
||||
writecol($zeile, $i++, $row->nachname);
|
||||
writecol($zeile, $i++, $row->titelpost);
|
||||
writecol($zeile, $i++, $row->vorsitz);
|
||||
writecol($zeile, $i++, $row->pruefer1);
|
||||
writecol($zeile, $i++, $row->pruefer2);
|
||||
writecol($zeile, $i++, $row->pruefer3);
|
||||
writecol($zeile, $i++, $row->bezeichnung);
|
||||
writecol($zeile, $i++, $row->beschreibung);
|
||||
writecol($zeile, $i++, $row->datum);
|
||||
writecol($zeile, $i++, $row->sponsion);
|
||||
writecol($zeile, $i++, $row->anmerkung);
|
||||
|
||||
$zeile++;
|
||||
}
|
||||
}
|
||||
else
|
||||
die('Fehler in Qry: '.$qry);
|
||||
//Die Breite der Spalten setzen
|
||||
foreach($maxlength as $i=>$breite)
|
||||
$worksheet->setColumn($i, $i, $breite+2);
|
||||
|
||||
$workbook->close();
|
||||
?>
|
||||
<?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>.
|
||||
*/
|
||||
/**
|
||||
* Exportiert die Abschlusspruefungen in ein Excel File.
|
||||
* Die zu exportierenden Spalten werden per GET uebergeben.
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/Excel/excel.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
$db = new basis_db();
|
||||
$user = get_uid();
|
||||
$datum_obj = new datum();
|
||||
loadVariables($user);
|
||||
|
||||
/**
|
||||
* Schreibt eine Spalte ins Excel und speichert die maximale Spaltenbreite
|
||||
*
|
||||
* @param int $zeile Zeile im Excel.
|
||||
* @param int $i Spalte im Excel.
|
||||
* @param string $content Inhalt.
|
||||
* @return void
|
||||
*/
|
||||
function writecol($zeile, $i, $content)
|
||||
{
|
||||
global $worksheet, $maxlength;
|
||||
$worksheet->write($zeile, $i, $content);
|
||||
if(mb_strlen($content) > $maxlength[$i])
|
||||
$maxlength[$i] = mb_strlen($content);
|
||||
}
|
||||
|
||||
//Parameter holen
|
||||
$studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'';
|
||||
$semester = isset($_GET['semester'])?$_GET['semester']:'';
|
||||
$studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:'';
|
||||
|
||||
if($studiengang_kz == '')
|
||||
die('studiengang_kz is not set');
|
||||
if($studiensemester_kurzbz == '')
|
||||
die('studiensemester_kurzbz is not set');
|
||||
|
||||
$maxlength = array();
|
||||
$zeile = 1;
|
||||
|
||||
if(!$rechte->isBerechtigt('student/stammdaten', $studiengang_kz, 's'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
// Creating a workbook
|
||||
$workbook = new Spreadsheet_Excel_Writer();
|
||||
|
||||
// sending HTTP headers
|
||||
$workbook->send("Abschlusspruefung". "_".date("d_m_Y").".xls");
|
||||
$workbook->setVersion(8);
|
||||
// Creating a worksheet
|
||||
$worksheet =& $workbook->addWorksheet("Abschlusspruefung");
|
||||
$worksheet->setInputEncoding('utf-8');
|
||||
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
|
||||
$format_title =& $workbook->addFormat();
|
||||
$format_title->setBold();
|
||||
// let's merge
|
||||
$format_title->setAlign('merge');
|
||||
|
||||
$stsem = new studiensemester();
|
||||
$stsem->load($studiensemester_kurzbz);
|
||||
|
||||
//Zeilenueberschriften ausgeben
|
||||
$headline = array('Titelpre', 'Vorname', 'Nachname', 'Titelpost', 'Vorsitz', 'Pruefer1', 'Pruefer2', 'Pruefer3',
|
||||
'Abschlussbeurteilung', 'Typ', 'Datum', 'Sponsion', 'Anmerkung');
|
||||
|
||||
$i = 0;
|
||||
foreach ($headline as $title)
|
||||
{
|
||||
$worksheet->write(0, $i, $title, $format_bold);
|
||||
$maxlength[$i] = mb_strlen($title);
|
||||
$i++;
|
||||
}
|
||||
|
||||
// Daten holen
|
||||
$qry = "SELECT
|
||||
titelpre, vorname, nachname, titelpost,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'')
|
||||
|| ' ' || COALESCE(titelpost,'') FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE uid=vorsitz) as vorsitz,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'')
|
||||
|| ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer1) as pruefer1,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'')
|
||||
|| ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer2) as pruefer2,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' '
|
||||
|| COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer3) as pruefer3,
|
||||
(SELECT bezeichnung FROM lehre.tbl_abschlussbeurteilung
|
||||
WHERE tbl_abschlussbeurteilung.abschlussbeurteilung_kurzbz
|
||||
= tbl_abschlusspruefung.abschlussbeurteilung_kurzbz) as bezeichnung,
|
||||
tbl_pruefungstyp.beschreibung, datum, sponsion, tbl_abschlusspruefung.anmerkung
|
||||
FROM
|
||||
lehre.tbl_abschlusspruefung, public.tbl_studentlehrverband, public.tbl_benutzer, public.tbl_person,
|
||||
lehre.tbl_pruefungstyp
|
||||
WHERE
|
||||
tbl_abschlusspruefung.student_uid=public.tbl_studentlehrverband.student_uid AND
|
||||
tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||
tbl_studentlehrverband.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND
|
||||
tbl_benutzer.uid = tbl_abschlusspruefung.student_uid AND
|
||||
tbl_person.person_id = tbl_benutzer.person_id AND
|
||||
tbl_abschlusspruefung.pruefungstyp_kurzbz = tbl_pruefungstyp.pruefungstyp_kurzbz
|
||||
";
|
||||
if ($semester != '')
|
||||
$qry .= " AND tbl_studentlehrverband.semester=".$db->db_add_param($semester);
|
||||
$qry .= ' ORDER BY nachname, vorname';
|
||||
$zeile = 1;
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
$i = 0;
|
||||
|
||||
writecol($zeile, $i++, $row->titelpre);
|
||||
writecol($zeile, $i++, $row->vorname);
|
||||
writecol($zeile, $i++, $row->nachname);
|
||||
writecol($zeile, $i++, $row->titelpost);
|
||||
writecol($zeile, $i++, $row->vorsitz);
|
||||
writecol($zeile, $i++, $row->pruefer1);
|
||||
writecol($zeile, $i++, $row->pruefer2);
|
||||
writecol($zeile, $i++, $row->pruefer3);
|
||||
writecol($zeile, $i++, $row->bezeichnung);
|
||||
writecol($zeile, $i++, $row->beschreibung);
|
||||
writecol($zeile, $i++, $row->datum);
|
||||
writecol($zeile, $i++, $row->sponsion);
|
||||
writecol($zeile, $i++, $row->anmerkung);
|
||||
|
||||
$zeile++;
|
||||
}
|
||||
}
|
||||
else
|
||||
die('Fehler bei Datenbankabfrage');
|
||||
|
||||
//Die Breite der Spalten setzen
|
||||
foreach($maxlength as $i => $breite)
|
||||
$worksheet->setColumn($i, $i, $breite + 2);
|
||||
|
||||
$workbook->close();
|
||||
|
||||
@@ -29,13 +29,24 @@ require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/Excel/excel.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if (!$rechte->isBerechtigt('student/stammdaten', null, 's'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
//Parameter holen
|
||||
$studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:'';
|
||||
$db = new basis_db();
|
||||
|
||||
if($studiensemester_kurzbz!='')
|
||||
if ($studiensemester_kurzbz != '')
|
||||
{
|
||||
if (!check_stsem($studiensemester_kurzbz))
|
||||
die('Studiensemester is ungueltig');
|
||||
|
||||
// Creating a workbook
|
||||
$workbook = new Spreadsheet_Excel_Writer();
|
||||
$workbook->setVersion(8);
|
||||
@@ -45,113 +56,112 @@ if($studiensemester_kurzbz!='')
|
||||
// Creating a worksheet
|
||||
$worksheet =& $workbook->addWorksheet("Absolventenstatistik");
|
||||
$worksheet->setInputEncoding('utf-8');
|
||||
|
||||
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
|
||||
$stg_arr=array();
|
||||
|
||||
$stg_arr = array();
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->getAll('typ, kurzbzlang', false);
|
||||
foreach ($studiengang->result as $row)
|
||||
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
|
||||
|
||||
$spalte=0;
|
||||
$zeile=0;
|
||||
|
||||
$worksheet->write($zeile,$spalte,'Absolventenstatistik '.$studiensemester_kurzbz.' erstellt am '.date("d.m.Y"), $format_bold);
|
||||
|
||||
$spalte=0;
|
||||
$spalte = 0;
|
||||
$zeile = 0;
|
||||
|
||||
$worksheet->write($zeile, $spalte, 'Absolventenstatistik '.$db->convert_html_chars($studiensemester_kurzbz).
|
||||
' erstellt am '.date("d.m.Y"), $format_bold);
|
||||
|
||||
$spalte = 0;
|
||||
$zeile++;
|
||||
|
||||
$worksheet->write($zeile,$spalte,'UID',$format_bold);
|
||||
$maxlength[$spalte]=3;
|
||||
$worksheet->write($zeile,++$spalte,'NACHNAME',$format_bold);
|
||||
$maxlength[$spalte]=8;
|
||||
$worksheet->write($zeile,++$spalte,'VORNAME',$format_bold);
|
||||
$maxlength[$spalte]=7;
|
||||
$worksheet->write($zeile,++$spalte,'STG',$format_bold);
|
||||
$maxlength[$spalte]=3;
|
||||
$worksheet->write($zeile,++$spalte,'GESCHLECHT',$format_bold);
|
||||
$maxlength[$spalte]=10;
|
||||
|
||||
|
||||
$worksheet->write($zeile, $spalte, 'UID', $format_bold);
|
||||
$maxlength[$spalte] = 3;
|
||||
$worksheet->write($zeile, ++$spalte, 'NACHNAME', $format_bold);
|
||||
$maxlength[$spalte] = 8;
|
||||
$worksheet->write($zeile, ++$spalte, 'VORNAME', $format_bold);
|
||||
$maxlength[$spalte] = 7;
|
||||
$worksheet->write($zeile, ++$spalte, 'STG', $format_bold);
|
||||
$maxlength[$spalte] = 3;
|
||||
$worksheet->write($zeile, ++$spalte, 'GESCHLECHT', $format_bold);
|
||||
$maxlength[$spalte] = 10;
|
||||
|
||||
// Daten holen
|
||||
$qry = "SELECT
|
||||
uid, vorname, nachname, studiengang_kz, geschlecht
|
||||
FROM
|
||||
campus.vw_student
|
||||
WHERE
|
||||
public.get_rolle_prestudent (prestudent_id, '$studiensemester_kurzbz')='Absolvent'
|
||||
$qry = "SELECT
|
||||
uid, vorname, nachname, studiengang_kz, geschlecht
|
||||
FROM
|
||||
campus.vw_student
|
||||
WHERE
|
||||
public.get_rolle_prestudent (prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).")='Absolvent'
|
||||
ORDER BY studiengang_kz, nachname, vorname";
|
||||
|
||||
if($db->db_query($qry))
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
$zeile++;
|
||||
$spalte=0;
|
||||
|
||||
$worksheet->write($zeile,$spalte,$row->uid);
|
||||
if(strlen($row->uid)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row->uid);
|
||||
|
||||
$worksheet->write($zeile,++$spalte, $row->nachname);
|
||||
if(strlen($row->nachname)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row->nachname);
|
||||
|
||||
$worksheet->write($zeile,++$spalte, $row->vorname);
|
||||
if(strlen($row->vorname)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row->vorname);
|
||||
|
||||
$worksheet->write($zeile,++$spalte, $stg_arr[$row->studiengang_kz]);
|
||||
if(strlen($stg_arr[$row->studiengang_kz])>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($stg_arr[$row->studiengang_kz]);
|
||||
|
||||
$worksheet->write($zeile,++$spalte, $row->geschlecht);
|
||||
if(strlen($row->geschlecht)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row->geschlecht);
|
||||
$spalte = 0;
|
||||
|
||||
$worksheet->write($zeile, $spalte, $row->uid);
|
||||
if (strlen($row->uid) > $maxlength[$spalte])
|
||||
$maxlength[$spalte] = strlen($row->uid);
|
||||
|
||||
$worksheet->write($zeile, ++$spalte, $row->nachname);
|
||||
if (strlen($row->nachname) > $maxlength[$spalte])
|
||||
$maxlength[$spalte] = strlen($row->nachname);
|
||||
|
||||
$worksheet->write($zeile, ++$spalte, $row->vorname);
|
||||
if (strlen($row->vorname) > $maxlength[$spalte])
|
||||
$maxlength[$spalte] = strlen($row->vorname);
|
||||
|
||||
$worksheet->write($zeile, ++$spalte, $stg_arr[$row->studiengang_kz]);
|
||||
if (strlen($stg_arr[$row->studiengang_kz]) > $maxlength[$spalte])
|
||||
$maxlength[$spalte] = strlen($stg_arr[$row->studiengang_kz]);
|
||||
|
||||
$worksheet->write($zeile, ++$spalte, $row->geschlecht);
|
||||
if (strlen($row->geschlecht) > $maxlength[$spalte])
|
||||
$maxlength[$spalte] = strlen($row->geschlecht);
|
||||
}
|
||||
}
|
||||
else
|
||||
die('Fehlerhafte Qry:'.$qry);
|
||||
|
||||
else
|
||||
die('Fehler bei Datenbankabfrage');
|
||||
|
||||
//Die Breite der Spalten setzen
|
||||
foreach($maxlength as $i=>$breite)
|
||||
$worksheet->setColumn($i, $i, $breite+2);
|
||||
|
||||
foreach($maxlength as $i => $breite)
|
||||
$worksheet->setColumn($i, $i, $breite + 2);
|
||||
|
||||
$workbook->close();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo '
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
echo '<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Absolventen</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<title>Absolventen</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
</head>
|
||||
<body class="Background_main">
|
||||
<h2>Absolventenstatistik</h2>
|
||||
';
|
||||
|
||||
|
||||
echo '<form method="GET" action="'.$_SERVER['PHP_SELF'].'">';
|
||||
echo 'Studiensemester: <SELECT name="studiensemester_kurzbz">';
|
||||
|
||||
|
||||
$stsem = new studiensemester();
|
||||
$stsem_akt = $stsem->getaktorNext();
|
||||
$stsem->getAll();
|
||||
|
||||
|
||||
foreach ($stsem->studiensemester as $row)
|
||||
{
|
||||
if($row->studiensemester_kurzbz==$stsem_akt)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
echo "<OPTION value='$row->studiensemester_kurzbz' $selected>$row->studiensemester_kurzbz</OPTION>";
|
||||
if ($row->studiensemester_kurzbz == $stsem_akt)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo "\n<OPTION value='$row->studiensemester_kurzbz' $selected>$row->studiensemester_kurzbz</OPTION>";
|
||||
}
|
||||
echo "</SELECT>";
|
||||
echo " <input type='submit' value='Erstellen'>";
|
||||
echo "</form></body></html>";
|
||||
}
|
||||
?>
|
||||
@@ -21,7 +21,7 @@
|
||||
*/
|
||||
/*
|
||||
* Erstellt eine Liste mit den Absolventen eines Studiensemesters
|
||||
* Aufteilung in
|
||||
* Aufteilung in
|
||||
* - Anzahl Gesamt
|
||||
* - Prozent Anteil
|
||||
* - Vollzeit/Berufsbegleitend
|
||||
@@ -33,6 +33,12 @@ require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
|
||||
$uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
if(!$rechte->isBerechtigt('student/stammdaten', null, 's'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
@@ -40,39 +46,54 @@ else
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem = $stsem_obj->getaktorNext();
|
||||
}
|
||||
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
$db = new basis_db();
|
||||
echo '<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
|
||||
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
|
||||
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
|
||||
<meta charset="UTF-8">
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">';
|
||||
include('../../include/meta/jquery.php');
|
||||
include('../../include/meta/jquery-tablesorter.php');
|
||||
echo '
|
||||
<script language="Javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
$("#t2").tablesorter(
|
||||
{
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>';
|
||||
|
||||
echo "<h2>AbsolventInnenstatistik ".$db->convert_html_chars($stsem);
|
||||
echo '<span style="position:absolute; right:15px;">'.date('d.m.Y').'</span></h2><br>';
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">';
|
||||
$studsem = new studiensemester();
|
||||
$studsem->getAll();
|
||||
|
||||
echo "<h2>AbsolventInnenstatistik $stsem";
|
||||
echo '<span style="position:absolute; right:15px;">'.date('d.m.Y').'</span></h2><br>';
|
||||
echo '</h2>';
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">';
|
||||
$studsem = new studiensemester();
|
||||
$studsem->getAll();
|
||||
|
||||
foreach ($studsem->studiensemester as $stsemester)
|
||||
{
|
||||
if($stsemester->studiensemester_kurzbz==$stsem)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>'.$stsemester->studiensemester_kurzbz.'</option>';
|
||||
}
|
||||
echo '</SELECT>
|
||||
<input type="submit" value="Anzeigen" /></form><br><br>';
|
||||
|
||||
if($stsem!='')
|
||||
foreach ($studsem->studiensemester as $stsemester)
|
||||
{
|
||||
echo "<table class='liste table-stripeclass:alternate table-autostripe'>
|
||||
if($stsemester->studiensemester_kurzbz == $stsem)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>';
|
||||
echo $stsemester->studiensemester_kurzbz;
|
||||
echo '</option>';
|
||||
}
|
||||
echo '</SELECT>
|
||||
<input type="submit" value="Anzeigen" /></form><br><br>';
|
||||
|
||||
if ($stsem != '')
|
||||
{
|
||||
echo "<table id='t1'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
@@ -98,34 +119,59 @@ if($stsem!='')
|
||||
";
|
||||
//Bachelor
|
||||
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) a) AS gesamt_stg,
|
||||
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND typ='b'
|
||||
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE status_kurzbz='Absolvent' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND typ='b'
|
||||
) a) AS gesamt_alle,
|
||||
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='BB'
|
||||
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz='BB'
|
||||
) a) AS bb,
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='VZ'
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz='VZ'
|
||||
) a) AS vz,
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w'
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='w'
|
||||
) a) AS w,
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m'
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m'
|
||||
) a) AS m,
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND nation_code='A'
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m' AND nation_code='A'
|
||||
) a) AS herkunft_at,
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND eu AND nation_code<>'A'
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
AND geschlecht='m' AND eu AND nation_code<>'A'
|
||||
) a) AS herkunft_eu,
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND NOT eu
|
||||
(SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m' AND NOT eu
|
||||
) a) AS herkunft_noteu,
|
||||
true
|
||||
FROM
|
||||
@@ -133,25 +179,24 @@ if($stsem!='')
|
||||
WHERE
|
||||
studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='b'
|
||||
ORDER BY typ, kurzbzlang; ";
|
||||
$db = new basis_db();
|
||||
if($db->db_query($qry))
|
||||
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
|
||||
$gesamt=0;
|
||||
$gesamt_prozent=0;
|
||||
$gesamt_bb=0;
|
||||
$gesamt_vz=0;
|
||||
$gesamt_m=0;
|
||||
$gesamt_w=0;
|
||||
$gesamt_at=0;
|
||||
$gesamt_eu=0;
|
||||
$gesamt_noteu=0;
|
||||
while($row = $db->db_fetch_object())
|
||||
$gesamt = 0;
|
||||
$gesamt_prozent = 0;
|
||||
$gesamt_bb = 0;
|
||||
$gesamt_vz = 0;
|
||||
$gesamt_m = 0;
|
||||
$gesamt_w = 0;
|
||||
$gesamt_at = 0;
|
||||
$gesamt_eu = 0;
|
||||
$gesamt_noteu = 0;
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
echo '<tr>';
|
||||
echo '<td> </td>';
|
||||
echo "<td>".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)</td>";
|
||||
$prozent = ($row->gesamt_alle!=0?$row->gesamt_stg/$row->gesamt_alle*100:0);
|
||||
$prozent = ($row->gesamt_alle != 0?$row->gesamt_stg / $row->gesamt_alle * 100:0);
|
||||
echo "<td align='center'>$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %</td>";
|
||||
echo "<td align='center'>$row->bb / $row->vz</td>";
|
||||
echo "<td align='center'>$row->m</td>";
|
||||
@@ -159,9 +204,9 @@ if($stsem!='')
|
||||
echo "<td align='center'>$row->herkunft_at</td>";
|
||||
echo "<td align='center'>$row->herkunft_eu</td>";
|
||||
echo "<td align='center'>$row->herkunft_noteu</td>";
|
||||
echo "</tr>";
|
||||
$gesamt+=$row->gesamt_stg;
|
||||
$gesamt_prozent+=$prozent;
|
||||
echo "</tr>\n";
|
||||
$gesamt += $row->gesamt_stg;
|
||||
$gesamt_prozent += $prozent;
|
||||
$gesamt_bb += $row->bb;
|
||||
$gesamt_vz += $row->vz;
|
||||
$gesamt_m += $row->m;
|
||||
@@ -180,52 +225,82 @@ if($stsem!='')
|
||||
echo "<td align='center'><b>$gesamt_at</b></td>";
|
||||
echo "<td align='center'><b>$gesamt_eu</b></td>";
|
||||
echo "<td align='center'><b>$gesamt_noteu</b></td>";
|
||||
echo "</tr>";
|
||||
|
||||
echo "</tr>\n";
|
||||
}
|
||||
|
||||
echo '</tbody>
|
||||
</table>';
|
||||
|
||||
//Master
|
||||
echo '
|
||||
<tr>
|
||||
<th>Master</th>
|
||||
<th>Studiengänge</th>
|
||||
<th>Absolut / %</th>
|
||||
<th>BB / VZ</th>
|
||||
<th>m</th>
|
||||
<th>w</th>
|
||||
<th>Österreich</th>
|
||||
<th>EU</th>
|
||||
<th>Nicht-EU</th>
|
||||
</tr>';
|
||||
|
||||
echo "<table id='t2'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th>Anteil an Gesamt</th>
|
||||
<th>Studienart</th>
|
||||
<th colspan=2>Geschlecht</th>
|
||||
<th colspan=3>Staatsbürgerschaft</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Master</th>
|
||||
<th>Studiengänge</th>
|
||||
<th>Absolut / %</th>
|
||||
<th>BB / VZ</th>
|
||||
<th>m</th>
|
||||
<th>w</th>
|
||||
<th>Österreich</th>
|
||||
<th>EU</th>
|
||||
<th>Nicht-EU</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
";
|
||||
|
||||
$qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
) AS gesamt_stg,
|
||||
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND typ='m'
|
||||
) AS gesamt_alle,
|
||||
|
||||
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='BB'
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE status_kurzbz='Absolvent' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND typ='m'
|
||||
) AS gesamt_alle,
|
||||
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz='BB'
|
||||
) AS bb,
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='VZ'
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz='VZ'
|
||||
) AS vz,
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w'
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='w'
|
||||
) AS w,
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m'
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m'
|
||||
) AS m,
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND nation_code='A'
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m' AND nation_code='A'
|
||||
) AS herkunft_at,
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND eu AND nation_code<>'A'
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||
AND geschlecht='m' AND eu AND nation_code<>'A'
|
||||
) AS herkunft_eu,
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' AND NOT eu
|
||||
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code)
|
||||
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Absolvent'
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m' AND NOT eu
|
||||
) AS herkunft_noteu,
|
||||
true
|
||||
FROM
|
||||
@@ -233,25 +308,25 @@ if($stsem!='')
|
||||
WHERE
|
||||
studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='m'
|
||||
ORDER BY typ, kurzbzlang; ";
|
||||
|
||||
if($db->db_query($qry))
|
||||
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
|
||||
$gesamt=0;
|
||||
$gesamt_prozent=0;
|
||||
$gesamt_bb=0;
|
||||
$gesamt_vz=0;
|
||||
$gesamt_m=0;
|
||||
$gesamt_w=0;
|
||||
$gesamt_at=0;
|
||||
$gesamt_eu=0;
|
||||
$gesamt_noteu=0;
|
||||
while($row = $db->db_fetch_object())
|
||||
$gesamt = 0;
|
||||
$gesamt_prozent = 0;
|
||||
$gesamt_bb = 0;
|
||||
$gesamt_vz = 0;
|
||||
$gesamt_m = 0;
|
||||
$gesamt_w = 0;
|
||||
$gesamt_at = 0;
|
||||
$gesamt_eu = 0;
|
||||
$gesamt_noteu = 0;
|
||||
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
echo '<tr>';
|
||||
echo '<td> </td>';
|
||||
echo "<td>".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)</td>";
|
||||
$prozent = ($row->gesamt_alle!=0?$row->gesamt_stg/$row->gesamt_alle*100:0);
|
||||
$prozent = ($row->gesamt_alle != 0?$row->gesamt_stg / $row->gesamt_alle * 100:0);
|
||||
echo "<td align='center'>$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %</td>";
|
||||
echo "<td align='center'>$row->bb / $row->vz</td>";
|
||||
echo "<td align='center'>$row->m</td>";
|
||||
@@ -259,9 +334,9 @@ if($stsem!='')
|
||||
echo "<td align='center'>$row->herkunft_at</td>";
|
||||
echo "<td align='center'>$row->herkunft_eu</td>";
|
||||
echo "<td align='center'>$row->herkunft_noteu</td>";
|
||||
echo "</tr>";
|
||||
$gesamt+=$row->gesamt_stg;
|
||||
$gesamt_prozent+=$prozent;
|
||||
echo "</tr>\n";
|
||||
$gesamt += $row->gesamt_stg;
|
||||
$gesamt_prozent += $prozent;
|
||||
$gesamt_bb += $row->bb;
|
||||
$gesamt_vz += $row->vz;
|
||||
$gesamt_m += $row->m;
|
||||
@@ -270,6 +345,7 @@ if($stsem!='')
|
||||
$gesamt_eu += $row->herkunft_eu;
|
||||
$gesamt_noteu += $row->herkunft_noteu;
|
||||
}
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td><b>SUMME</b></td>';
|
||||
echo "<td> </td>";
|
||||
@@ -280,8 +356,7 @@ if($stsem!='')
|
||||
echo "<td align='center'><b>$gesamt_at</b></td>";
|
||||
echo "<td align='center'><b>$gesamt_eu</b></td>";
|
||||
echo "<td align='center'><b>$gesamt_noteu</b></td>";
|
||||
echo "</tr>";
|
||||
|
||||
echo "</tr>\n";
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
}
|
||||
|
||||
@@ -1,143 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2004 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>.
|
||||
*/
|
||||
/*
|
||||
* Generiert eine Anwesenheitsliste mit Fotos
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/akte.class.php');
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->getAll('typ, kurzbzlang', false);
|
||||
|
||||
//Uebergabeparameter abpruefen
|
||||
if(isset($_GET['stg'])) //Studiengang
|
||||
{
|
||||
if(is_numeric($_GET['stg']))
|
||||
$stg=$_GET['stg'];
|
||||
else
|
||||
die('Fehler bei der Parameteruebergabe');
|
||||
}
|
||||
else
|
||||
$stg='';
|
||||
if(isset($_GET['sem'])) //Semester
|
||||
{
|
||||
if(is_numeric($_GET['sem']))
|
||||
$sem=$_GET['sem'];
|
||||
else
|
||||
die('Fehler bei der Parameteruebergabe');
|
||||
}
|
||||
else
|
||||
$sem='';
|
||||
|
||||
if(isset($_GET['verband'])) //Verband
|
||||
$verband=$_GET['verband'];
|
||||
else
|
||||
$verband='';
|
||||
if(isset($_GET['gruppe'])) //Gruppe
|
||||
$gruppe=$_GET['gruppe'];
|
||||
else
|
||||
$gruppe='';
|
||||
if(isset($_GET['gruppe_kurzbz'])) //Einheit
|
||||
$gruppe_kurzbz = $_GET['gruppe_kurzbz'];
|
||||
else
|
||||
$gruppe_kurzbz='';
|
||||
|
||||
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
|
||||
$lvid = $_GET['lvid'];
|
||||
else
|
||||
die('Fehler bei der Parameteruebergabe');
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
die('Studiensemester wurde nicht uebergeben');
|
||||
|
||||
$lehreinheit_id = (isset($_GET['lehreinheit_id'])?$_GET['lehreinheit_id']:'');
|
||||
|
||||
if(isset($_GET['prestudent_id']))
|
||||
{
|
||||
$ids = explode(';',$_GET['prestudent_id']);
|
||||
$idstring='';
|
||||
|
||||
foreach ($ids as $id)
|
||||
{
|
||||
if($idstring!='')
|
||||
$idstring.=',';
|
||||
$idstring.="'$id'";
|
||||
}
|
||||
$qry = "SELECT distinct on(person_id) foto, vorname, nachname, person_id, prestudent_id, tbl_prestudent.studiengang_kz, semester, verband, gruppe FROM public.tbl_person JOIN public.tbl_prestudent USING(person_id) LEFT JOIN public.tbl_student USING(prestudent_id) WHERE prestudent_id in($idstring)";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct on(person_id) foto, vorname, nachname, person_id, tbl_studentlehrverband.studiengang_kz, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
|
||||
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid)
|
||||
WHERE
|
||||
lehrveranstaltung_id='".addslashes($lvid)."' AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."' AND
|
||||
tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."'";
|
||||
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND lehreinheit_id='".addslashes($lehreinheit_id)."'";
|
||||
}
|
||||
|
||||
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Anwesenheitsliste</title>
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
|
||||
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
|
||||
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
|
||||
</head><body><h2>Studentenliste - '.date('d.m.Y').'</h2><br>';
|
||||
$db = new basis_db();
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
echo "<table class='liste table-autosort:1 table-stripeclass:alternate table-autostripe'>";
|
||||
echo '<thead><tr class="liste"><th>Foto</th><th class="table-sortable:default">Nachname</th><th class="table-sortable:default">Vorname</th><th class="table-sortable:default">Gruppe</th></tr></thead><tbody>';
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
echo '<tr>';
|
||||
if($row->foto!='')
|
||||
{
|
||||
$akte = new akte();
|
||||
$akte->getAkten($row->person_id, 'Lichtbil');
|
||||
|
||||
echo "<td><a href='../akte.php?id=".$akte->result[0]->akte_id."'><img src='../bild.php?src=person&person_id=$row->person_id'></a></td>";
|
||||
}
|
||||
else
|
||||
echo "<td></td>";
|
||||
echo "<td>$row->nachname</td>";
|
||||
echo "<td class='table-sortable:default'>$row->vorname</td>";
|
||||
echo "<td class='table-sortable:default'>".$stg_obj->kuerzel_arr[$row->studiengang_kz]."-$row->semester$row->verband$row->gruppe</td>";
|
||||
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
}
|
||||
|
||||
echo '</body></html>';
|
||||
?>
|
||||
@@ -112,6 +112,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/dokument/rdf#pflicht" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="interessent-dokumente-tree-nichtabgegeben-nachgereicht_am" label="Nachreichung Am" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/dokument/rdf#nachgereicht_am" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
@@ -131,6 +135,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<treecell label="rdf:http://www.technikum-wien.at/dokument/rdf#anmerkung_intern" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/dokument/rdf#onlinebewerbung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/dokument/rdf#pflicht" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/dokument/rdf#nachgereicht_am" />
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
@@ -210,6 +215,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/dokument/rdf#anmerkung_intern" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="interessent-dokumente-tree-abgegeben-nachgereicht_am" label="Nachreichung am" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/dokument/rdf#nachgereicht_am" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
@@ -229,6 +238,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<treecell label="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#akte_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#titel_intern" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#anmerkung_intern" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#nachgereicht_am" />
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
||||
+20
-11
@@ -48,6 +48,7 @@ class akte extends basis_db
|
||||
public $anmerkung;
|
||||
public $titel_intern;
|
||||
public $anmerkung_intern;
|
||||
public $nachgereicht_am;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -100,6 +101,7 @@ class akte extends basis_db
|
||||
$this->nachgereicht = $this->db_parse_bool($row->nachgereicht);
|
||||
$this->titel_intern = $row->titel_intern;
|
||||
$this->anmerkung_intern = $row->anmerkung_intern;
|
||||
$this->nachgereicht_am = $row->nachgereicht_am;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -182,7 +184,8 @@ class akte extends basis_db
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = "BEGIN;INSERT INTO public.tbl_akte (person_id, dokument_kurzbz, inhalt, mimetype, erstelltam, gedruckt, titel,
|
||||
bezeichnung, updateamum, updatevon, insertamum, insertvon, uid, dms_id, nachgereicht, anmerkung, titel_intern, anmerkung_intern ) VALUES (".
|
||||
bezeichnung, updateamum, updatevon, insertamum, insertvon, uid, dms_id, nachgereicht, anmerkung,
|
||||
titel_intern, anmerkung_intern, nachgereicht_am) VALUES (".
|
||||
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->dokument_kurzbz).', '.
|
||||
$this->db_add_param($this->inhalt).', '.
|
||||
@@ -200,7 +203,8 @@ class akte extends basis_db
|
||||
$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->anmerkung).','.
|
||||
$this->db_add_param($this->titel_intern).','.
|
||||
$this->db_add_param($this->anmerkung_intern).');';
|
||||
$this->db_add_param($this->anmerkung_intern).','.
|
||||
$this->db_add_param($this->nachgereicht_am).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -221,7 +225,8 @@ class akte extends basis_db
|
||||
" nachgereicht=".$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).",".
|
||||
" anmerkung=".$this->db_add_param($this->anmerkung).",".
|
||||
" titel_intern=".$this->db_add_param($this->titel_intern).",".
|
||||
" anmerkung_intern=".$this->db_add_param($this->anmerkung_intern).
|
||||
" anmerkung_intern=".$this->db_add_param($this->anmerkung_intern).",".
|
||||
" nachgereicht_am=".$this->db_add_param($this->nachgereicht_am).
|
||||
" WHERE akte_id=".$this->db_add_param($this->akte_id, FHC_INTEGER);
|
||||
}
|
||||
|
||||
@@ -277,7 +282,8 @@ class akte extends basis_db
|
||||
$qry = "SELECT
|
||||
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, titel_intern, anmerkung_intern,
|
||||
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid, dms_id, anmerkung, nachgereicht,
|
||||
CASE WHEN inhalt is not null THEN true ELSE false END as inhalt_vorhanden
|
||||
CASE WHEN inhalt is not null THEN true ELSE false END as inhalt_vorhanden,
|
||||
nachgereicht_am
|
||||
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
|
||||
if($dokument_kurzbz!=null)
|
||||
$qry.=" AND dokument_kurzbz=".$this->db_add_param($dokument_kurzbz);
|
||||
@@ -317,6 +323,7 @@ class akte extends basis_db
|
||||
$akten->anmerkung = $row->anmerkung;
|
||||
$akten->titel_intern = $row->titel_intern;
|
||||
$akten->anmerkung_intern = $row->anmerkung_intern;
|
||||
$akten->nachgereicht_am = $row->nachgereicht_am;
|
||||
|
||||
$this->result[] = $akten;
|
||||
}
|
||||
@@ -341,7 +348,7 @@ class akte extends basis_db
|
||||
$qry = "SELECT
|
||||
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
|
||||
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid,
|
||||
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
|
||||
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern, nachgereicht_am
|
||||
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
|
||||
|
||||
$qry.=" AND dokument_kurzbz IN ('Lebenslf','Motivat','LearnAgr')";
|
||||
@@ -372,6 +379,7 @@ class akte extends basis_db
|
||||
$akten->anmerkung = $row->anmerkung;
|
||||
$akten->titel_intern = $row->titel_intern;
|
||||
$akten->anmerkung_intern = $row->anmerkung_intern;
|
||||
$akten->nachgereicht_am = $row->nachgereicht_am;
|
||||
|
||||
$this->result[] = $akten;
|
||||
}
|
||||
@@ -383,7 +391,7 @@ class akte extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert die Akten anhand der dms_id
|
||||
*
|
||||
@@ -395,16 +403,16 @@ class akte extends basis_db
|
||||
$qry = "SELECT
|
||||
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
|
||||
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid,
|
||||
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
|
||||
FROM public.tbl_akte WHERE dms_id=".$this->db_add_param($dms_id, FHC_INTEGER)."
|
||||
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern, nachgereicht_am
|
||||
FROM public.tbl_akte WHERE dms_id=".$this->db_add_param($dms_id, FHC_INTEGER)."
|
||||
ORDER BY erstelltam";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$akten = new akte();
|
||||
|
||||
|
||||
$akten->akte_id = $row->akte_id;
|
||||
$akten->person_id = $row->person_id;
|
||||
$akten->dokument_kurzbz = $row->dokument_kurzbz;
|
||||
@@ -424,7 +432,8 @@ class akte extends basis_db
|
||||
$akten->anmerkung = $row->anmerkung;
|
||||
$akten->titel_intern = $row->titel_intern;
|
||||
$akten->anmerkung_intern = $row->anmerkung_intern;
|
||||
|
||||
$akten->nachgereicht_am = $row->nachgereicht_am;
|
||||
|
||||
$this->result[] = $akten;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -50,10 +50,10 @@ class benutzerberechtigung extends basis_db
|
||||
public $insertvon;
|
||||
public $kostenstelle_id;
|
||||
public $anmerkung; // varchar(256)
|
||||
|
||||
|
||||
public $starttimestamp;
|
||||
public $endetimestamp;
|
||||
|
||||
|
||||
//Attribute des Mitarbeiters
|
||||
public $fix;
|
||||
public $lektor;
|
||||
@@ -65,7 +65,7 @@ class benutzerberechtigung extends basis_db
|
||||
public function __construct($benutzerberechtigung_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
if($benutzerberechtigung_id!=null)
|
||||
$this->load($benutzerberechtigung_id);
|
||||
}
|
||||
@@ -81,9 +81,9 @@ class benutzerberechtigung extends basis_db
|
||||
$this->errormsg = 'benutzerberechtigung_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT * FROM system.tbl_benutzerrolle WHERE benutzerberechtigung_id=".$this->db_add_param($benutzerberechtigung_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -105,16 +105,16 @@ class benutzerberechtigung extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->kostenstelle_id = $row->kostenstelle_id;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es wurde kein Eintrag mit dieser ID gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Berechtigung';
|
||||
return false;
|
||||
@@ -144,64 +144,64 @@ class benutzerberechtigung extends basis_db
|
||||
$this->errormsg = 'UID darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->rolle_kurzbz=='' && $this->berechtigung_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'Es muss entweder eine Rolle oder eine Berechtigung angegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->rolle_kurzbz!='' && $this->berechtigung_kurzbz!='')
|
||||
{
|
||||
$this->errormsg = 'Rolle und Berechtigung kann nicht gleichzeitig angegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->uid=='' && $this->funktion_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'Ess muss entweder eine UID oder eine Funktion_kurzbz angegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->uid!='' && $this->funktion_kurzbz!='')
|
||||
{
|
||||
$this->errormsg = 'UID und Funktion_kurzbz kann nicht gleichzeitig angegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->funktion_kurzbz!='' && $this->oe_kurzbz!='')
|
||||
{
|
||||
$this->errormsg = 'Wenn eine Funktion_kurzbz angegeben wird, darf keine Organisationseinheit eingetragen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->art=='')
|
||||
{
|
||||
$this->errormsg = 'Art darf nicht leer sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->kostenstelle_id!='' && !is_numeric($this->kostenstelle_id))
|
||||
{
|
||||
$this->errormsg = 'Kostenstelle_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($this->kostenstelle_id!='' && $this->oe_kurzbz!='')
|
||||
{
|
||||
$this->errormsg = 'Wenn eine Kostenstelle angegeben wird, darf keine Organisationseinheit eingetragen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(mb_strlen($this->anmerkung)>256)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert Benutzerberechtigung in die Datenbank
|
||||
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
@@ -216,8 +216,8 @@ class benutzerberechtigung extends basis_db
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = 'INSERT INTO system.tbl_benutzerrolle (rolle_kurzbz, berechtigung_kurzbz, uid, funktion_kurzbz,
|
||||
oe_kurzbz, art, studiensemester_kurzbz, start, ende, negativ, updateamum, updatevon,
|
||||
$qry = 'INSERT INTO system.tbl_benutzerrolle (rolle_kurzbz, berechtigung_kurzbz, uid, funktion_kurzbz,
|
||||
oe_kurzbz, art, studiensemester_kurzbz, start, ende, negativ, updateamum, updatevon,
|
||||
insertamum, insertvon, kostenstelle_id, anmerkung)
|
||||
VALUES('.$this->db_add_param($this->rolle_kurzbz).','.
|
||||
$this->db_add_param($this->berechtigung_kurzbz).','.
|
||||
@@ -279,7 +279,7 @@ class benutzerberechtigung extends basis_db
|
||||
$this->errormsg = 'benutzerberechtigung_id ist ungültig';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Berechtigungen loeschen
|
||||
$sql_query="DELETE FROM system.tbl_benutzerrolle where benutzerberechtigung_id=".$this->db_add_param($benutzerberechtigung_id, FHC_INTEGER);
|
||||
|
||||
@@ -299,12 +299,12 @@ class benutzerberechtigung extends basis_db
|
||||
public function loadBenutzerRollen($uid=null, $funktion_kurzbz=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM system.tbl_benutzerrolle WHERE ';
|
||||
|
||||
|
||||
if(!is_null($uid))
|
||||
$qry.= " uid=".$this->db_add_param($uid);
|
||||
elseif(!is_null($funktion_kurzbz))
|
||||
$qry.= " funktion_kurzbz=".$this->db_add_param($funktion_kurzbz);
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Entweder UID oder funktion_kurzbz muss uebergeben werden';
|
||||
return false;
|
||||
@@ -315,7 +315,7 @@ class benutzerberechtigung extends basis_db
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new benutzerberechtigung();
|
||||
|
||||
|
||||
$obj->benutzerberechtigung_id = $row->benutzerberechtigung_id;
|
||||
$obj->rolle_kurzbz = $row->rolle_kurzbz;
|
||||
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
@@ -333,13 +333,13 @@ class benutzerberechtigung extends basis_db
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->kostenstelle_id = $row->kostenstelle_id;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
|
||||
|
||||
$this->berechtigungen[] = $obj;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt die Berechtigungen eines Users
|
||||
* @param $uid
|
||||
@@ -348,6 +348,27 @@ class benutzerberechtigung extends basis_db
|
||||
*/
|
||||
public function getBerechtigungen($uid,$all=false)
|
||||
{
|
||||
// Pruefen ob die Person aktiv ist
|
||||
$qry = "SELECT aktiv FROM public.tbl_benutzer WHERE uid=".$this->db_add_param($uid);
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
// Wenn die Person nicht aktiv ist dann hat diese auch keine Rechte
|
||||
if($this->db_parse_bool($row->aktiv) == false)
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Wenn die Person nicht gefunden wurde dann hat diese auch keine Rechte
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
// Berechtigungen holen
|
||||
/*
|
||||
Direkte Berechtigungszuordnung
|
||||
@@ -357,77 +378,77 @@ class benutzerberechtigung extends basis_db
|
||||
Berechtigung ueber Funktion
|
||||
UNION
|
||||
Berechtigung ueber Funktion Mitarbeiter
|
||||
UNION
|
||||
UNION
|
||||
Berechtigung ueber Funktion Student
|
||||
*/
|
||||
$qry = "SELECT
|
||||
$qry = "SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
|
||||
WHERE uid=".$this->db_add_param($uid)."
|
||||
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
|
||||
SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_berechtigung.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_rolleberechtigung.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_rolle USING(rolle_kurzbz)
|
||||
JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_rolle USING(rolle_kurzbz)
|
||||
JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
|
||||
JOIN system.tbl_berechtigung ON(tbl_rolleberechtigung.berechtigung_kurzbz=tbl_berechtigung.berechtigung_kurzbz)
|
||||
WHERE uid=".$this->db_add_param($uid)."
|
||||
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
|
||||
SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerfunktion.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerfunktion.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN public.tbl_benutzerfunktion USING(funktion_kurzbz)
|
||||
WHERE tbl_benutzerfunktion.uid=".$this->db_add_param($uid)."
|
||||
AND (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now())
|
||||
AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now())
|
||||
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
|
||||
SELECT
|
||||
benutzerberechtigung_id, '', tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
FROM
|
||||
system.tbl_benutzerrolle
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Mitarbeiter' AND
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Mitarbeiter' AND
|
||||
EXISTS (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=".$this->db_add_param($uid).")
|
||||
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
|
||||
SELECT
|
||||
benutzerberechtigung_id, '', tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
FROM
|
||||
system.tbl_benutzerrolle
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Student' AND
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Student' AND
|
||||
EXISTS (SELECT student_uid FROM public.tbl_student WHERE student_uid=".$this->db_add_param($uid).")
|
||||
|
||||
|
||||
ORDER BY negativ DESC";
|
||||
|
||||
|
||||
if(!$result = $this->db_query($qry))
|
||||
{
|
||||
$this->errormsg='Fehler beim Laden der Berechtigungen';
|
||||
@@ -461,10 +482,10 @@ class benutzerberechtigung extends basis_db
|
||||
$b->insertvon = $row->insertvon;
|
||||
$b->kostenstelle_id = $row->kostenstelle_id;
|
||||
$b->anmerkung = $row->anmerkung;
|
||||
|
||||
|
||||
$this->berechtigungen[]=$b;
|
||||
}
|
||||
|
||||
|
||||
unset($result);
|
||||
// Attribute des Mitarbeiters holen
|
||||
$sql_query="SELECT fixangestellt, lektor FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=".$this->db_add_param($uid);
|
||||
@@ -493,8 +514,8 @@ class benutzerberechtigung extends basis_db
|
||||
* Funktion getBerechtigungen aufgerufen werden.
|
||||
*
|
||||
* @param $berechtigung
|
||||
* @param $oe_kurzbz
|
||||
* derzeit kann hier noch die Studiengangskennzahl uebergeben werden,
|
||||
* @param $oe_kurzbz
|
||||
* derzeit kann hier noch die Studiengangskennzahl uebergeben werden,
|
||||
* dies wird in Zukunft aber nicht mehr moeglich sein
|
||||
* @param $art suid (select|update|insert|delete)
|
||||
* @param $kostenstelle_id ID der Kostenstelle
|
||||
@@ -503,7 +524,7 @@ class benutzerberechtigung extends basis_db
|
||||
public function isBerechtigt($berechtigung_kurzbz, $oe_kurzbz=null, $art=null, $kostenstelle_id=null)
|
||||
{
|
||||
$timestamp=time();
|
||||
|
||||
|
||||
//Studiengang
|
||||
if(is_numeric($oe_kurzbz))
|
||||
{
|
||||
@@ -511,59 +532,59 @@ class benutzerberechtigung extends basis_db
|
||||
$stg = new studiengang($oe_kurzbz);
|
||||
$oe_kurzbz = $stg->oe_kurzbz;
|
||||
}
|
||||
|
||||
|
||||
if($kostenstelle_id!='' && !is_numeric($kostenstelle_id))
|
||||
{
|
||||
$this->errormsg = 'Kostenstelle_id "'.$kostenstelle_id.'" is invalid';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$oe = new organisationseinheit();
|
||||
|
||||
|
||||
foreach ($this->berechtigungen as $b)
|
||||
{
|
||||
//Pruefen ob eine negativ-Berechtigung vorhanden ist
|
||||
if($b->berechtigung_kurzbz==$berechtigung_kurzbz
|
||||
&& $b->negativ
|
||||
if($b->berechtigung_kurzbz==$berechtigung_kurzbz
|
||||
&& $b->negativ
|
||||
&& (is_null($oe_kurzbz) || ($b->kostenstelle_id=='' && ($b->oe_kurzbz=='' || $oe_kurzbz==$b->oe_kurzbz || $oe->isChild($b->oe_kurzbz, $oe_kurzbz))))
|
||||
&& (is_null($kostenstelle_id) || $kostenstelle_id==$b->kostenstelle_id))
|
||||
{
|
||||
if (($timestamp>$b->starttimestamp || $b->starttimestamp==null)
|
||||
if (($timestamp>$b->starttimestamp || $b->starttimestamp==null)
|
||||
&& ($timestamp<$b->endetimestamp || $b->endetimestamp==null))
|
||||
{
|
||||
$this->errormsg='Access denied! You need permission '.strtoupper($berechtigung_kurzbz).' '.($oe_kurzbz!=null?'in '.strtoupper($oe_kurzbz):'').' '.($art!=null?'with '.strtoupper($art):'');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($b->berechtigung_kurzbz==$berechtigung_kurzbz
|
||||
&& (is_null($art) || mb_strstr($b->art, $art))
|
||||
&& (is_null($oe_kurzbz) || ($b->kostenstelle_id=='' && ($b->oe_kurzbz=='' || $oe_kurzbz==$b->oe_kurzbz || $oe->isChild($b->oe_kurzbz, $oe_kurzbz))))
|
||||
&& (is_null($kostenstelle_id) || $kostenstelle_id==$b->kostenstelle_id))
|
||||
{
|
||||
if (($timestamp>$b->starttimestamp || $b->starttimestamp==null)
|
||||
if (($timestamp>$b->starttimestamp || $b->starttimestamp==null)
|
||||
&& ($timestamp<$b->endetimestamp || $b->endetimestamp==null))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Kostenstellenrecht ueber Organisationseinheit
|
||||
if($kostenstelle_id!='')
|
||||
{
|
||||
//Kostenstelle laden und schauen, ob auf die Organisationseinheit der Kostenstelle
|
||||
//Kostenstelle laden und schauen, ob auf die Organisationseinheit der Kostenstelle
|
||||
//die Berechtigung vorhanden ist
|
||||
$kostenstelle = new wawi_kostenstelle();
|
||||
if($kostenstelle->load($kostenstelle_id))
|
||||
{
|
||||
return $this->isBerechtigt($berechtigung_kurzbz, $kostenstelle->oe_kurzbz, $art);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Cost center (ID '.$kostenstelle_id.') does not exist';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//wenn ein Doppelpunkt vorkommt, pruefen ob das Uebergeordnete vorhanden ist
|
||||
@@ -572,34 +593,34 @@ class benutzerberechtigung extends basis_db
|
||||
$this->errormsg='Access denied! You need permission '.strtoupper($berechtigung_kurzbz).' '.($oe_kurzbz!=null?'in '.strtoupper($oe_kurzbz):'').' '.($art!=null?'with '.strtoupper($art):'');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
return $this->isBerechtigt(substr($berechtigung_kurzbz,0,$pos-1), $oe_kurzbz, $art, $kostenstelle_id);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Berechtigung zumindest fuer eine der angegebenen OE vorhanden ist.
|
||||
* @param $berechtigung_kurzbz
|
||||
* @param $oe_kurzbz
|
||||
* @param $art
|
||||
* @param $kostenstelle_id
|
||||
* @return boolean
|
||||
*/
|
||||
public function isBerechtigtMultipleOe($berechtigung_kurzbz, $oe_kurzbz, $art=null, $kostenstelle_id=null)
|
||||
{
|
||||
$results = array();
|
||||
|
||||
foreach($oe_kurzbz as $value)
|
||||
{
|
||||
$results[] = $this->isBerechtigt($berechtigung_kurzbz, $value, $art, $kostenstelle_id);
|
||||
}
|
||||
|
||||
if(!in_array(true, $results))
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Berechtigung zumindest fuer eine der angegebenen OE vorhanden ist.
|
||||
* @param $berechtigung_kurzbz
|
||||
* @param $oe_kurzbz
|
||||
* @param $art
|
||||
* @param $kostenstelle_id
|
||||
* @return boolean
|
||||
*/
|
||||
public function isBerechtigtMultipleOe($berechtigung_kurzbz, $oe_kurzbz, $art=null, $kostenstelle_id=null)
|
||||
{
|
||||
$results = array();
|
||||
|
||||
foreach($oe_kurzbz as $value)
|
||||
{
|
||||
$results[] = $this->isBerechtigt($berechtigung_kurzbz, $value, $art, $kostenstelle_id);
|
||||
}
|
||||
|
||||
if(!in_array(true, $results))
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Person Fixangestellt ist
|
||||
@@ -626,7 +647,7 @@ class benutzerberechtigung extends basis_db
|
||||
$not='';
|
||||
$all=false;
|
||||
$oe = new organisationseinheit();
|
||||
|
||||
|
||||
foreach ($this->berechtigungen as $b)
|
||||
{
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null || mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz)
|
||||
@@ -641,18 +662,18 @@ class benutzerberechtigung extends basis_db
|
||||
foreach($childoes as $row)
|
||||
$not .="'".$this->db_escape($row)."',";
|
||||
}
|
||||
else
|
||||
else
|
||||
return array();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if(!is_null($b->oe_kurzbz))
|
||||
{
|
||||
$childoes = $oe->getChilds($b->oe_kurzbz);
|
||||
foreach($childoes as $row)
|
||||
$in .= "'".$this->db_escape($row)."',";
|
||||
$in .= "'".$this->db_escape($row)."',";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Wenn NULL dann berechtigung auf alles
|
||||
$all = true;
|
||||
@@ -661,7 +682,7 @@ class benutzerberechtigung extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!$all)
|
||||
{
|
||||
if($in=='')
|
||||
@@ -669,24 +690,24 @@ class benutzerberechtigung extends basis_db
|
||||
else
|
||||
$in = ' AND oe_kurzbz IN('.mb_substr($in,0, mb_strlen($in)-1).')';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$in='';
|
||||
$not='';
|
||||
}
|
||||
|
||||
|
||||
if($not!='')
|
||||
$not = ' AND oe_kurzbz NOT IN('.mb_substr($not,0, mb_strlen($not)-1).')';
|
||||
|
||||
|
||||
$qry = "SELECT studiengang_kz FROM public.tbl_studiengang WHERE 1=1 $in $not";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
while($row = $this->db_fetch_object())
|
||||
$studiengang_kz[]=$row->studiengang_kz;
|
||||
|
||||
$studiengang_kz[]=$row->studiengang_kz;
|
||||
|
||||
$studiengang_kz=array_unique($studiengang_kz);
|
||||
sort($studiengang_kz);
|
||||
|
||||
|
||||
return $studiengang_kz;
|
||||
}
|
||||
|
||||
@@ -704,7 +725,7 @@ class benutzerberechtigung extends basis_db
|
||||
$not='';
|
||||
$all=false;
|
||||
$oe = new organisationseinheit();
|
||||
|
||||
|
||||
foreach ($this->berechtigungen as $b)
|
||||
{
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null || mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz)
|
||||
@@ -719,18 +740,18 @@ class benutzerberechtigung extends basis_db
|
||||
foreach($childoes as $row)
|
||||
$not .="'".$this->db_escape($row)."',";
|
||||
}
|
||||
else
|
||||
else
|
||||
return array();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if(!is_null($b->oe_kurzbz))
|
||||
{
|
||||
$childoes = $oe->getChilds($b->oe_kurzbz);
|
||||
foreach($childoes as $row)
|
||||
$in .= "'".$this->db_escape($row)."',";
|
||||
$in .= "'".$this->db_escape($row)."',";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Wenn NULL dann berechtigung auf alles
|
||||
$all = true;
|
||||
@@ -739,7 +760,7 @@ class benutzerberechtigung extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!$all)
|
||||
{
|
||||
if($in=='')
|
||||
@@ -747,25 +768,25 @@ class benutzerberechtigung extends basis_db
|
||||
else
|
||||
$in = ' AND oe_kurzbz IN('.mb_substr($in,0, mb_strlen($in)-1).')';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$in='';
|
||||
}
|
||||
|
||||
|
||||
if($not!='')
|
||||
$not = ' AND oe_kurzbz NOT IN('.mb_substr($not,0, mb_strlen($not)-1).')';
|
||||
|
||||
|
||||
$qry = "SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE 1=1 $in $not";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
while($row = $this->db_fetch_object())
|
||||
$fachbereich_kurzbz[]=$row->fachbereich_kurzbz;
|
||||
|
||||
$fachbereich_kurzbz[]=$row->fachbereich_kurzbz;
|
||||
|
||||
$fachbereich_kurzbz=array_unique($fachbereich_kurzbz);
|
||||
sort($fachbereich_kurzbz);
|
||||
return $fachbereich_kurzbz;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gibt Array mit den Organisationseinheiten zurueck fuer welche die
|
||||
* Person eine Berechtigung besitzt.
|
||||
@@ -792,16 +813,16 @@ class benutzerberechtigung extends basis_db
|
||||
foreach($childoes as $row)
|
||||
$not[] = $row;
|
||||
}
|
||||
else
|
||||
else
|
||||
return array();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if($b->kostenstelle_id != '')
|
||||
{
|
||||
$kst = new wawi_kostenstelle();
|
||||
$kst = new wawi_kostenstelle();
|
||||
$kst->load($b->kostenstelle_id);
|
||||
$oe_kurzbz[] = $kst->oe_kurzbz;
|
||||
$oe_kurzbz[] = $kst->oe_kurzbz;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -811,7 +832,7 @@ class benutzerberechtigung extends basis_db
|
||||
foreach($childoes as $row)
|
||||
$oe_kurzbz[] = $row;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$all=true;
|
||||
break;
|
||||
@@ -820,7 +841,7 @@ class benutzerberechtigung extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($all)
|
||||
{
|
||||
$oe->loadParentsArray();
|
||||
@@ -831,7 +852,7 @@ class benutzerberechtigung extends basis_db
|
||||
sort($oe_kurzbz);
|
||||
return $oe_kurzbz;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gibt Array mit den Kostenstellen zurueck fuer welche die
|
||||
* Person eine Berechtigung besitzt.
|
||||
@@ -852,7 +873,7 @@ class benutzerberechtigung extends basis_db
|
||||
{
|
||||
if(!mb_strstr($b->berechtigung_kurzbz,'wawi/'))
|
||||
continue;
|
||||
|
||||
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null || mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz)
|
||||
&& (($timestamp>$b->starttimestamp || $b->starttimestamp==null) && ($timestamp<$b->endetimestamp || $b->endetimestamp==null)))
|
||||
{
|
||||
@@ -869,10 +890,10 @@ class benutzerberechtigung extends basis_db
|
||||
{
|
||||
$not_id[] = $b->kostenstelle_id;
|
||||
}
|
||||
else
|
||||
else
|
||||
return array();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if($b->oe_kurzbz!='')
|
||||
{
|
||||
@@ -891,9 +912,9 @@ class benutzerberechtigung extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT distinct kostenstelle_id FROM wawi.tbl_kostenstelle";
|
||||
|
||||
if(!$all)
|
||||
@@ -901,7 +922,7 @@ class benutzerberechtigung extends basis_db
|
||||
if(count($kst_id)==0 && count($oe_kurzbz)==0)
|
||||
return array();
|
||||
$qry.="
|
||||
WHERE
|
||||
WHERE
|
||||
(";
|
||||
if(count($kst_id)>0)
|
||||
$qry.=" kostenstelle_id IN(".$this->db_implode4SQL($kst_id).")";
|
||||
@@ -933,7 +954,7 @@ class benutzerberechtigung extends basis_db
|
||||
* Organisationseinheit sind.
|
||||
* Es werden nur die Benutzer zurückgeliefert die genau auf diese Organisationseinheit das Freigaberecht haben
|
||||
* Uebergeordnete Benutzer werden nicht geliefert
|
||||
*
|
||||
*
|
||||
* @param $kostenstelle_id
|
||||
* @param $oe_kurzbz
|
||||
*/
|
||||
@@ -944,52 +965,52 @@ class benutzerberechtigung extends basis_db
|
||||
$this->errormsg = 'Kostenstelle und Organisationseinheit darf nicht gleichzeitig leer sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($kostenstelle_id!='' && $oe_kurzbz!='')
|
||||
{
|
||||
$this->errormsg = 'Kostenstelle und Organisationseinheit darf nicht gleichzeitig gesetzt sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$where = '';
|
||||
if($kostenstelle_id!='')
|
||||
$where.=" kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER);
|
||||
elseif($oe_kurzbz!='')
|
||||
$where.=" oe_kurzbz=".$this->db_add_param($oe_kurzbz);
|
||||
$where .=" AND berechtigung_kurzbz='wawi/freigabe'";
|
||||
$where .=" AND (start<=now() OR start is null) AND (ende>=now() OR ende is null)";
|
||||
$where .=" AND (start<=now() OR start is null) AND (ende>=now() OR ende is null)";
|
||||
|
||||
|
||||
$qry = "SELECT uid, negativ FROM system.tbl_benutzerrolle WHERE ".$where;
|
||||
$qry .= " UNION
|
||||
SELECT uid, negativ
|
||||
FROM
|
||||
|
||||
$qry = "SELECT uid, negativ FROM system.tbl_benutzerrolle WHERE ".$where;
|
||||
$qry .= " UNION
|
||||
SELECT uid, negativ
|
||||
FROM
|
||||
system.tbl_benutzerrolle
|
||||
JOIN system.tbl_rolle USING(rolle_kurzbz)
|
||||
JOIN system.tbl_rolleberechtigung USING(berechtigung_kurzbz)
|
||||
WHERE ".$where;
|
||||
|
||||
|
||||
$freigabebenutzer=array();
|
||||
$not = array();
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
if($this->db_parse_bool($row->negativ)==true)
|
||||
$not[]=$row->uid;
|
||||
$not[]=$row->uid;
|
||||
$freigabebenutzer[]=$row->uid;
|
||||
}
|
||||
|
||||
|
||||
return array_diff($freigabebenutzer,$not);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der FreigabeBenutzer';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert alle User mit deren Rechte fuer eine Kostenstelle
|
||||
* @param $kostenstelle_id ID der Kostenstelle
|
||||
@@ -997,42 +1018,43 @@ class benutzerberechtigung extends basis_db
|
||||
*/
|
||||
public function getKostenstelleUser($kostenstelle_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct uid, a.art,
|
||||
CASE WHEN a.berechtigung_kurzbz is null
|
||||
THEN tbl_rolleberechtigung.berechtigung_kurzbz
|
||||
$qry = "SELECT
|
||||
distinct uid, a.art,
|
||||
CASE WHEN a.berechtigung_kurzbz is null
|
||||
THEN tbl_rolleberechtigung.berechtigung_kurzbz
|
||||
ELSE a.berechtigung_kurzbz END as berechtigung_kurzbz
|
||||
FROM
|
||||
(
|
||||
SELECT * FROM system.tbl_benutzerrolle WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER)."
|
||||
UNION
|
||||
UNION
|
||||
SELECT * FROM system.tbl_benutzerrolle WHERE
|
||||
oe_kurzbz = (SELECT oe_kurzbz FROM wawi.tbl_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER).")
|
||||
oe_kurzbz = (SELECT oe_kurzbz FROM wawi.tbl_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER).")
|
||||
OR oe_kurzbz IN(
|
||||
WITH RECURSIVE oes(oe_parent_kurzbz) as
|
||||
WITH RECURSIVE oes(oe_parent_kurzbz) as
|
||||
(
|
||||
SELECT oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
SELECT oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
WHERE oe_kurzbz=(SELECT oe_kurzbz FROM wawi.tbl_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER).")
|
||||
UNION ALL
|
||||
SELECT o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
SELECT o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz
|
||||
)
|
||||
SELECT oe_parent_kurzbz
|
||||
FROM oes)
|
||||
) as a
|
||||
LEFT JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
|
||||
WHERE (start is null OR start<=now()) AND (ende is null OR ende>=now()) AND negativ=false";
|
||||
|
||||
JOIN public.tbl_benutzer USING(uid)
|
||||
WHERE tbl_benutzer.aktiv AND (start is null OR start<=now()) AND (ende is null OR ende>=now()) AND negativ=false";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new benutzerberechtigung();
|
||||
|
||||
|
||||
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
$obj->uid = $row->uid;
|
||||
$obj->art = $row->art;
|
||||
|
||||
|
||||
$this->berechtigungen[] = $obj;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,22 @@
|
||||
*
|
||||
* Authors: Andreas Moik <moik@technikum-wien.at>
|
||||
*/
|
||||
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
|
||||
|
||||
/*
|
||||
Meta Include für JQuery Tablesorter
|
||||
require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
|
||||
Usage:
|
||||
<script language="Javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"],
|
||||
headers: {1:{sorter: false}}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
*/
|
||||
$dr = DOC_ROOT;
|
||||
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
|
||||
if($dr=='')
|
||||
@@ -26,10 +40,8 @@ if($dr=='')
|
||||
|
||||
//Originaldateien des Herstellers
|
||||
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'vendor/FHC-vendor/jquery-tablesorter/css/theme.default.css">';
|
||||
|
||||
echo '<script src="'.$dr.'vendor/FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.js"></script>';
|
||||
|
||||
|
||||
//Anpassungen
|
||||
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'include/vendor_custom/jquery-tablesorter/tablesort.css">';
|
||||
|
||||
|
||||
@@ -2,22 +2,22 @@
|
||||
|
||||
/*
|
||||
* Copyright 2014 fhcomplete.org
|
||||
*
|
||||
*
|
||||
* 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., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Stefan Puraner <puraner@technikum-wien.at>
|
||||
*/
|
||||
@@ -27,7 +27,7 @@ require_once(dirname(__FILE__) . '/basis_db.class.php');
|
||||
class pruefungsanmeldung extends basis_db {
|
||||
public $new;
|
||||
public $result = array();
|
||||
|
||||
|
||||
public $pruefungsanmeldung_id; //bigint
|
||||
public $uid; //varchar(32)
|
||||
public $pruefungstermin_id; //bigint
|
||||
@@ -40,12 +40,13 @@ class pruefungsanmeldung extends basis_db {
|
||||
public $statusupdateamum; //timestamp
|
||||
public $anrechnung_id; //integer
|
||||
public $pruefungstyp_kurzbz; //varchar(32)
|
||||
|
||||
public $insertamum; // timestamp
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param pruefung_id ID der zu ladenden Prüfung
|
||||
*/
|
||||
public function __construct($pruefungsanmeldung_id = null)
|
||||
public function __construct($pruefungsanmeldung_id = null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
@@ -80,7 +81,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
{
|
||||
return $this->$name;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* speichert eine Prüfungsanmeldung
|
||||
* @param type $new
|
||||
@@ -90,7 +91,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
{
|
||||
if ($new == null)
|
||||
$new = $this->new;
|
||||
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO campus.tbl_pruefungsanmeldung (uid, pruefungstermin_id, lehrveranstaltung_id, status_kurzbz, wuensche, reihung, kommentar, anrechnung_id, pruefungstyp_kurzbz) VALUES ('
|
||||
@@ -118,7 +119,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
. 'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz)
|
||||
. ' WHERE pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id).';';
|
||||
}
|
||||
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
@@ -129,7 +130,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lädt eine Prüfungsanmeldung
|
||||
* @param type $pruefungsanmeldung_id
|
||||
@@ -142,9 +143,9 @@ class pruefungsanmeldung extends basis_db {
|
||||
$this->errormsg = "Anmeldung ID muss eine gültige Zahl sein";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id).';';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Anmeldungsdaten konnten nicht geladen werden.';
|
||||
@@ -166,11 +167,12 @@ class pruefungsanmeldung extends basis_db {
|
||||
$this->statusupdatevon = $row->statusupdatevon;
|
||||
$this->anrechnung_id = $row->anrechnung_id;
|
||||
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$this->insertamum = $row->insertamum;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lädt alle Prüfungsanmeldungen eines Studenten
|
||||
* @param type $uid UID eines Studenten
|
||||
@@ -184,14 +186,14 @@ class pruefungsanmeldung extends basis_db {
|
||||
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
|
||||
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
|
||||
. 'WHERE uid='.$this->db_add_param($uid);
|
||||
|
||||
|
||||
if($studiensemester_kurzbz != null)
|
||||
{
|
||||
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
|
||||
}
|
||||
|
||||
|
||||
$qry .= ';';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Anmeldungen konnten nicht geladen werden.';
|
||||
@@ -223,9 +225,9 @@ class pruefungsanmeldung extends basis_db {
|
||||
return $anmeldungen;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lädt alle Anmeldungen eines Prüfungstermins
|
||||
* Lädt alle Anmeldungen eines Prüfungstermins
|
||||
* @param type $pruefungstermin_id ID des Prüfungstermins
|
||||
* @param type $lehrveranstaltung_id Filter nach Lehrveranstaltung
|
||||
* @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
|
||||
@@ -234,23 +236,23 @@ class pruefungsanmeldung extends basis_db {
|
||||
*/
|
||||
public function getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id=null, $studiensemester_kurbz=null, $status_kurzbz=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
|
||||
$qry = 'SELECT *, pa.insertamum as datum_anmeldung FROM campus.tbl_pruefungsanmeldung pa '
|
||||
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
|
||||
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
|
||||
. 'WHERE pa.pruefungstermin_id='.$this->db_add_param($pruefungstermin_id);
|
||||
|
||||
|
||||
if($lehrveranstaltung_id !== null)
|
||||
{
|
||||
$qry .= ' AND lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
|
||||
}
|
||||
|
||||
|
||||
if($status_kurzbz !== null)
|
||||
{
|
||||
$qry .= ' AND status_kurzbz='.$this->db_add_param($status_kurzbz);
|
||||
}
|
||||
$qry .=' ORDER BY reihung';
|
||||
$qry .=';';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Anmeldungen konnten nicht geladen werden.";
|
||||
@@ -277,12 +279,13 @@ class pruefungsanmeldung extends basis_db {
|
||||
$anmeldung->statusupdatevon = $row->statusupdatevon;
|
||||
$anmeldung->anrechnung_id = $row->anrechnung_id;
|
||||
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$anmeldung->datum_anmeldung = $row->datum_anmeldung;
|
||||
array_push($anmeldungen, $anmeldung);
|
||||
}
|
||||
return $anmeldungen;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Löscht eine Prüfungsanmeldung
|
||||
* @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
|
||||
@@ -292,14 +295,14 @@ class pruefungsanmeldung extends basis_db {
|
||||
public function delete($pruefungsanmeldung_id, $uid=null)
|
||||
{
|
||||
$qry = 'DELETE FROM campus.tbl_pruefungsanmeldung WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id);
|
||||
|
||||
|
||||
if(!is_null($uid))
|
||||
{
|
||||
$qry .= ' AND uid='.$this->db_add_param($uid);
|
||||
}
|
||||
|
||||
|
||||
$qry .= ' ;';
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
@@ -310,7 +313,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* speichert die Reihung eines Anmeldungstermins
|
||||
* WICHTIG: Auf den Aufbau des übergebenen arrays muss geachtet werden
|
||||
@@ -348,8 +351,8 @@ class pruefungsanmeldung extends basis_db {
|
||||
$this->errormsg = "No Array";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Ändert den Status einer Prüfungsanmeldung
|
||||
* @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
|
||||
@@ -363,7 +366,7 @@ class pruefungsanmeldung extends basis_db {
|
||||
. 'statusupdatevon='.$this->db_add_param($user).', '
|
||||
. 'statusupdateamum=NOW() '
|
||||
. ' WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id).';';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Status konnte nicht geändert werden.';
|
||||
|
||||
@@ -229,7 +229,7 @@ $menu=array
|
||||
'name'=>'Admin', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('basis/cronjob'), 'image'=>'vilesci_admin.png',
|
||||
'link'=>'left.php?categorie=Admin', 'target'=>'nav',
|
||||
'Cronjobs'=>array('name'=>'Cronjobs', 'link'=>'stammdaten/cronjobverwaltung.php', 'target'=>'main','permissions'=>array('basis/cronjob')),
|
||||
'Vorlagen'=>array('name'=>'Vorlagen', 'link'=>'../index.ci.php/system/Templates', 'target'=>'main','permissions'=>array('basis/cronjob')),
|
||||
'Vorlagen'=>array('name'=>'Vorlagen', 'link'=>'../index.ci.php/system/Vorlage', 'target'=>'main','permissions'=>array('basis/cronjob')),
|
||||
'Messages'=>array('name'=>'Nachrichten', 'link'=>'../index.ci.php/system/Messages', 'target'=>'main','permissions'=>array('basis/cronjob')),
|
||||
'Phrasen'=>array('name'=>'Phrasen', 'link'=>'../index.ci.php/system/Phrases', 'target'=>'main','permissions'=>array('basis/cronjob'))
|
||||
),
|
||||
|
||||
+224
-274
File diff suppressed because it is too large
Load Diff
@@ -285,7 +285,8 @@ class zeugnisnote extends basis_db
|
||||
vw_student_lehrveranstaltung.sort,
|
||||
vw_student_lehrveranstaltung.zeugnis,
|
||||
vw_student_lehrveranstaltung.studiengang_kz,
|
||||
vw_student_lehrveranstaltung.lv_lehrform_kurzbz
|
||||
vw_student_lehrveranstaltung.lv_lehrform_kurzbz,
|
||||
tbl_lehrveranstaltung.sws
|
||||
FROM
|
||||
(
|
||||
campus.vw_student_lehrveranstaltung LEFT JOIN lehre.tbl_zeugnisnote
|
||||
@@ -294,13 +295,14 @@ class zeugnisnote extends basis_db
|
||||
AND vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id
|
||||
)
|
||||
) LEFT JOIN lehre.tbl_note USING(note)
|
||||
JOIN lehre.tbl_lehrveranstaltung ON(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id)
|
||||
WHERE true $where
|
||||
UNION
|
||||
SELECT lehre.tbl_lehrveranstaltung.lehrveranstaltung_id,student_uid AS uid,studiensemester_kurzbz, note, punkte,
|
||||
uebernahmedatum, benotungsdatum,lehre.tbl_lehrveranstaltung.ects,lehre.tbl_lehrveranstaltung.semesterstunden, tbl_zeugnisnote.updateamum, tbl_zeugnisnote.updatevon, tbl_zeugnisnote.insertamum,
|
||||
tbl_zeugnisnote.insertvon, tbl_zeugnisnote.ext_id, lehre.tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, lehre.tbl_lehrveranstaltung.bezeichnung_english as lehrveranstaltung_bezeichnung_english,
|
||||
tbl_note.bezeichnung as note_bezeichnung, tbl_zeugnisnote.bemerkung as bemerkung, tbl_lehrveranstaltung.sort, tbl_lehrveranstaltung.zeugnis, tbl_lehrveranstaltung.studiengang_kz,
|
||||
tbl_lehrveranstaltung.lehrform_kurzbz as lv_lehrform_kurzbz
|
||||
tbl_lehrveranstaltung.lehrform_kurzbz as lv_lehrform_kurzbz, tbl_lehrveranstaltung.sws
|
||||
FROM
|
||||
lehre.tbl_zeugnisnote
|
||||
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||
@@ -336,6 +338,7 @@ class zeugnisnote extends basis_db
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->zeugnis = $this->db_parse_bool($row->zeugnis);
|
||||
$obj->lv_lehrform_kurzbz = $row->lv_lehrform_kurzbz;
|
||||
$obj->sws = $row->sws;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
@@ -97,4 +97,5 @@ $this->phrasen['lvplan/vorher']='Vorher';
|
||||
$this->phrasen['lvplan/status']='Status';
|
||||
$this->phrasen['lvplan/automatischeMail']='Dies ist eine automatische Mail!';
|
||||
$this->phrasen['lvplan/folgendeAenderungen']='Es haben sich folgende Aenderungen in Ihrem LV-Plan ergeben:';
|
||||
$this->phrasen['lvplan/reserviertInDev']='reserviert<br>für<br>lehre';
|
||||
?>
|
||||
@@ -78,5 +78,5 @@ $this->phrasen['tools/esWurdenKeineErgebnisseGefunden']='Es wurden keine Ergebni
|
||||
//Partnerhochschulen
|
||||
$this->phrasen['tools/partnerhochschulenUebersicht']='Übersicht der Partnerhochschulen';
|
||||
$this->phrasen['tools/partnerhochschulenKeinEintrag']='Für diesen Studiengang ist keine Partnerhochschule zugeordnet';
|
||||
$this->phrasen['tools/partnerhochschulenEinleitung']='Sollten Sie an einer Partnerhochschule studieren wollen, die sich nicht auf dieser Liste befindet, kontaktieren Sie bitte das <a href="../../../cms/content.php?content_id=6952">Center for International Relations (CIR)</a>.';
|
||||
$this->phrasen['tools/partnerhochschulenEinleitung']='Bitte beachten Sie, dass die Möglichkeit eines Auslandssemsesters an einer Partnerhochschule davon abhängt, ob Sie ausreichend anrechenbare Lehrveranstaltungen an der Partnerhochschule finden sowie von den vertraglichen Rahmenbedingungen. Manche Partnerhochschulen sind für Ihren Studiengang unter Umständen nur eingeschränkt bzw. nur im Rahmen spezifischer Programme verfügbar. Bitte recherchieren Sie vorab auf der Webseite der Partnerhochschule und besprechen Sie mit dem CIR sowie Ihrer Studiengangsleitung, ob die von Ihnen ausgewählte Partnerhochschule für Ihr Auslandssemester passend ist. <br>Sollten Sie an einer Partnerhochschule studieren wollen, die sich nicht auf dieser Liste befindet, kontaktieren Sie bitte das <a href="../../../cms/content.php?content_id=6952">Center for International Relations (CIR)</a>.';
|
||||
?>
|
||||
|
||||
@@ -96,4 +96,5 @@ $this->phrasen['lvplan/vorher']='Previously';
|
||||
$this->phrasen['lvplan/status']='Status';
|
||||
$this->phrasen['lvplan/automatischeMail']='This is an automatic email!';
|
||||
$this->phrasen['lvplan/folgendeAenderungen']='There have been the following changes in your Schedule:';
|
||||
$this->phrasen['lvplan/reserviertInDev']='not<br>available';
|
||||
?>
|
||||
@@ -78,5 +78,5 @@ $this->phrasen['tools/esWurdenKeineErgebnisseGefunden']='Your search did not ret
|
||||
//Partnerhochschulen
|
||||
$this->phrasen['tools/partnerhochschulenUebersicht']='Partner Universities';
|
||||
$this->phrasen['tools/partnerhochschulenKeinEintrag']='No entry found';
|
||||
$this->phrasen['tools/partnerhochschulenEinleitung']='In case you would like to study at a partner university that isn´t listed - please contact the <a href="../../../cms/content.php?content_id=6952">Center for International Relations (CIR)</a>.';
|
||||
$this->phrasen['tools/partnerhochschulenEinleitung']='Please kindly note that the possibility of an exchange semester at a partner university depends on whether you can find a sufficient amount of creditable courses at the partner university as well as the inter-institutional framework. For your study program some partner universities may be only an option for exchange within specific programs. Please check the partner university´s website in advance and discuss with the CIR and your study program director whether the courses at the chosen partner university are appropriate for your exchange semester. In case you would like to study at a partner university which isn´t listed - please contact the <a href="../../../cms/content.php?content_id=6952">Center for International Relations (CIR)</a>.';
|
||||
?>
|
||||
|
||||
+559
-570
File diff suppressed because it is too large
Load Diff
@@ -111,6 +111,7 @@ foreach ($dok->result as $row)
|
||||
<DOKUMENT:anmerkung_intern><![CDATA['.$a->anmerkung_intern.']]></DOKUMENT:anmerkung_intern>
|
||||
<DOKUMENT:onlinebewerbung><![CDATA['.$onlinebewerbung.']]></DOKUMENT:onlinebewerbung>
|
||||
<DOKUMENT:pflicht><![CDATA['.$pflicht.']]></DOKUMENT:pflicht>
|
||||
<DOKUMENT:nachgereicht_am><![CDATA['.$a->nachgereicht_am.']]></DOKUMENT:nachgereicht_am>
|
||||
</RDF:Description>
|
||||
</RDF:li>
|
||||
';
|
||||
@@ -170,6 +171,7 @@ foreach($akte->result as $a)
|
||||
<DOKUMENT:titel_intern><![CDATA['.$a->titel_intern.']]></DOKUMENT:titel_intern>
|
||||
<DOKUMENT:anmerkung_intern><![CDATA['.$a->anmerkung_intern.']]></DOKUMENT:anmerkung_intern>
|
||||
<DOKUMENT:onlinebewerbung><![CDATA[nein]]></DOKUMENT:onlinebewerbung>
|
||||
<DOKUMENT:nachgereicht_am><![CDATA['.$a->nachgereicht_am.']]></DOKUMENT:nachgereicht_am>
|
||||
</RDF:Description>
|
||||
</RDF:li>
|
||||
';
|
||||
|
||||
@@ -96,6 +96,7 @@ foreach ($dok->result as $row)
|
||||
<DOKUMENT:akte_id>'.$a->akte_id.'</DOKUMENT:akte_id>
|
||||
<DOKUMENT:titel_intern><![CDATA['.$a->titel_intern.']]></DOKUMENT:titel_intern>
|
||||
<DOKUMENT:anmerkung_intern><![CDATA['.$a->anmerkung_intern.']]></DOKUMENT:anmerkung_intern>
|
||||
<DOKUMENT:nachgereicht_am><![CDATA['.$a->nachgereicht_am.']]></DOKUMENT:nachgereicht_am>
|
||||
</RDF:Description>
|
||||
</RDF:li>
|
||||
';
|
||||
@@ -116,6 +117,7 @@ foreach ($dok->result as $row)
|
||||
<DOKUMENT:akte_id></DOKUMENT:akte_id>
|
||||
<DOKUMENT:titel_intern></DOKUMENT:titel_intern>
|
||||
<DOKUMENT:anmerkung_intern></DOKUMENT:anmerkung_intern>
|
||||
<DOKUMENT:nachgereicht_am></DOKUMENT:nachgereicht_am>
|
||||
</RDF:Description>
|
||||
</RDF:li>
|
||||
';
|
||||
|
||||
@@ -44,7 +44,7 @@ function breaktext($text, $zeichen)
|
||||
$arr = explode(' ',$text);
|
||||
$ret = '';
|
||||
$teilstring='';
|
||||
|
||||
|
||||
foreach($arr as $elem)
|
||||
{
|
||||
if(strlen($teilstring.$elem)>$zeichen)
|
||||
@@ -52,7 +52,7 @@ function breaktext($text, $zeichen)
|
||||
$ret.=' '.$teilstring.'\n';
|
||||
$teilstring=$elem;
|
||||
}
|
||||
else
|
||||
else
|
||||
$teilstring .=' '.$elem;
|
||||
}
|
||||
$ret.=$teilstring;
|
||||
@@ -64,9 +64,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
else
|
||||
$uid = null;
|
||||
|
||||
|
||||
$uid_arr = explode(";",$uid);
|
||||
|
||||
if ($uid_arr[0] == "")
|
||||
@@ -74,61 +74,61 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
unset($uid_arr[0]);
|
||||
$uid_arr = array_values($uid_arr);
|
||||
}
|
||||
|
||||
|
||||
$note_arr = array();
|
||||
$note = new note();
|
||||
$note->getAll();
|
||||
foreach ($note->result as $n){
|
||||
$note_arr[$n->note] = $n->anmerkung;
|
||||
$note_bezeichnung_arr[$n->note] = $n->bezeichnung;
|
||||
|
||||
$note_bezeichnung_arr[$n->note] = $n->bezeichnung;
|
||||
|
||||
}
|
||||
if(isset($_GET['ss']))
|
||||
$studiensemester_kurzbz = $_GET['ss'];
|
||||
else
|
||||
else
|
||||
die('Studiensemester muss uebergeben werden');
|
||||
|
||||
if(isset($_GET['lvid']))
|
||||
$lehrveranstaltung_id = $_GET['lvid'];
|
||||
else
|
||||
else
|
||||
$lehrveranstaltung_id = 0;
|
||||
|
||||
|
||||
//Daten holen
|
||||
|
||||
$lqry = "SELECT
|
||||
tbl_person.titelpre, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpost
|
||||
FROM
|
||||
public.tbl_benutzer JOIN public.tbl_person using (person_id)
|
||||
WHERE
|
||||
tbl_benutzer.uid = (SELECT
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehrfunktion USING(lehrfunktion_kurzbz),
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
$lqry = "SELECT
|
||||
tbl_person.titelpre, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpost
|
||||
FROM
|
||||
public.tbl_benutzer JOIN public.tbl_person using (person_id)
|
||||
WHERE
|
||||
tbl_benutzer.uid = (SELECT
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehrfunktion USING(lehrfunktion_kurzbz),
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
|
||||
ORDER BY tbl_lehrfunktion.standardfaktor desc limit 1)";
|
||||
|
||||
|
||||
$leiter_titel = '';
|
||||
$leiter_vorname = '';
|
||||
$leiter_nachname = '';
|
||||
$leiter_titelpost = '';
|
||||
|
||||
|
||||
if($db->db_query($lqry))
|
||||
{
|
||||
if ($lrow = $db->db_fetch_object())
|
||||
{
|
||||
$leiter_titel = $lrow->titelpre;
|
||||
$leiter_titel = $lrow->titelpre;
|
||||
$leiter_vorname = $lrow->vorname;
|
||||
$leiter_nachname = $lrow->nachname;
|
||||
$leiter_titelpost = $lrow->titelpost;
|
||||
}
|
||||
$leiter_nachname = $lrow->nachname;
|
||||
$leiter_titelpost = $lrow->titelpost;
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "SELECT wochen FROM public.tbl_semesterwochen
|
||||
WHERE (studiengang_kz, semester) in (SELECT studiengang_kz, semester
|
||||
|
||||
$qry = "SELECT wochen FROM public.tbl_semesterwochen
|
||||
WHERE (studiengang_kz, semester) in (SELECT studiengang_kz, semester
|
||||
FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER).")";
|
||||
$wochen = 15;
|
||||
if($result_wochen = $db->db_query($qry))
|
||||
@@ -139,7 +139,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
}
|
||||
}
|
||||
$lvqry = "SELECT * from lehre.tbl_lehrveranstaltung where lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($db->db_query($lvqry))
|
||||
{
|
||||
if ($lvrow = $db->db_fetch_object())
|
||||
@@ -147,10 +147,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$sws = $lvrow->semesterstunden/$wochen;
|
||||
$ects = $lvrow->ects;
|
||||
$lvbezeichnung = $lvrow->bezeichnung;
|
||||
$lvstg = $lvrow->studiengang_kz;
|
||||
}
|
||||
$lvstg = $lvrow->studiengang_kz;
|
||||
$sws_lv = $lvrow->sws;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$lehrinhalte = '';
|
||||
$lehrziele = '';
|
||||
$infoqry = "SELECT * FROM campus.tbl_lvinfo WHERE sprache='German' AND lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
|
||||
@@ -158,48 +159,48 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
{
|
||||
if ($inforow = $db->db_fetch_object())
|
||||
{
|
||||
$lehrinhalte_arr = explode("<br>",$inforow->lehrinhalte);
|
||||
$lehrinhalte_arr = explode("<br>",$inforow->lehrinhalte);
|
||||
for ($i = 0; $i < sizeof($lehrinhalte_arr); $i++)
|
||||
{
|
||||
$lehrinhalte .= $lehrinhalte_arr[$i].'\n';
|
||||
$lehrinhalte .= $lehrinhalte_arr[$i].'\n';
|
||||
}
|
||||
$lehrziele_arr = explode("<br>",$inforow->lehrziele);
|
||||
for ($i = 0; $i < sizeof($lehrziele_arr); $i++)
|
||||
{
|
||||
$lehrziele .= $lehrziele_arr[$i].'\n';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>";
|
||||
$xml .= "<zertifikate>";
|
||||
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->load($studiensemester_kurzbz);
|
||||
|
||||
|
||||
for ($i = 0; $i < sizeof($uid_arr); $i++)
|
||||
{
|
||||
{
|
||||
$anzahl_fussnoten=0;
|
||||
$studiengang_typ='';
|
||||
$xml_fussnote='';
|
||||
|
||||
$query = " SELECT tbl_student.matrikelnr,
|
||||
tbl_student.studiengang_kz,
|
||||
tbl_studiengang.typ,
|
||||
tbl_studiengang.bezeichnung,
|
||||
tbl_person.vorname,
|
||||
|
||||
$query = " SELECT tbl_student.matrikelnr,
|
||||
tbl_student.studiengang_kz,
|
||||
tbl_studiengang.typ,
|
||||
tbl_studiengang.bezeichnung,
|
||||
tbl_person.vorname,
|
||||
tbl_person.nachname,
|
||||
tbl_person.gebdatum,
|
||||
tbl_person.titelpre,
|
||||
tbl_person.titelpost,
|
||||
tbl_person.geschlecht
|
||||
FROM tbl_person,
|
||||
tbl_student,
|
||||
tbl_studiengang,
|
||||
tbl_benutzer
|
||||
WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz
|
||||
AND tbl_student.student_uid = tbl_benutzer.uid
|
||||
AND tbl_benutzer.person_id = tbl_person.person_id
|
||||
tbl_person.titelpre,
|
||||
tbl_person.titelpost,
|
||||
tbl_person.geschlecht
|
||||
FROM tbl_person,
|
||||
tbl_student,
|
||||
tbl_studiengang,
|
||||
tbl_benutzer
|
||||
WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz
|
||||
AND tbl_student.student_uid = tbl_benutzer.uid
|
||||
AND tbl_benutzer.person_id = tbl_person.person_id
|
||||
AND tbl_student.student_uid = '".$uid_arr[$i]."'";
|
||||
|
||||
if($db->db_query($query))
|
||||
@@ -217,7 +218,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$stgl_ma = new mitarbeiter($stgleiter_uid);
|
||||
$stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost);
|
||||
}
|
||||
|
||||
|
||||
$xml .= "\n <zertifikat>";
|
||||
$xml .= "\n <studiensemester>".$studiensemester->bezeichnung."</studiensemester>";
|
||||
$xml .= "\n <vorname>".$row->vorname."</vorname>";
|
||||
@@ -230,8 +231,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= "\n <studiengangsleiter>".$stgl."</studiengangsleiter>";
|
||||
$datum_aktuell = date('d.m.Y');
|
||||
$xml .= "\n <ort_datum>Wien, am ".$datum_aktuell."</ort_datum>";
|
||||
|
||||
|
||||
|
||||
|
||||
$obj = new zeugnisnote();
|
||||
$obj->load($lehrveranstaltung_id, $uid_arr[$i], $studiensemester_kurzbz);
|
||||
|
||||
@@ -244,9 +245,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
{
|
||||
$note = "";
|
||||
$note_bezeichnung = "";
|
||||
}
|
||||
}
|
||||
$note2=$note;
|
||||
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg->load($lvstg);
|
||||
if($stg->typ=='b')
|
||||
@@ -266,11 +267,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= " <note>".$note."</note>";
|
||||
$xml .= " <note_bezeichnung>".$note_bezeichnung."</note_bezeichnung>";
|
||||
$xml .= " <sws>".($sws==0?'':number_format(sprintf('%.1F',$sws),1))."</sws>";
|
||||
$xml .= " <sws_lv>".($sws_lv==0?'':number_format(sprintf('%.1F',$sws_lv),1))."</sws_lv>";
|
||||
$xml .= " <ects>".number_format($ects,1)."</ects>";
|
||||
$xml .= " <lvleiter>".$leiter_titel." ".$leiter_vorname." ".$leiter_nachname.($leiter_titelpost!=''?', '.$leiter_titelpost:'')."</lvleiter>";
|
||||
$xml .= " <lehrinhalte><![CDATA[".clearHtmlTags($lehrinhalte)."]]></lehrinhalte>";
|
||||
$xml .= " <lehrziele><![CDATA[".clearHtmlTags($lehrziele)."]]></lehrziele>";
|
||||
|
||||
|
||||
$xml .= " </zertifikat>";
|
||||
}
|
||||
$xml .= "</zertifikate>";
|
||||
|
||||
+64
-26
@@ -41,40 +41,78 @@ else
|
||||
$db = new basis_db();
|
||||
$qry = "
|
||||
SELECT
|
||||
m.*,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=m.person_id) as sender,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=r.person_id) as recipient,
|
||||
m.message_id AS message_id,
|
||||
m.subject AS subject,
|
||||
m.body AS body,
|
||||
m.insertamum AS insertamum,
|
||||
m.relationmessage_id AS relationmessage_id,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id = m.person_id) as sender,
|
||||
(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
|
||||
FROM
|
||||
public.tbl_msg_message m
|
||||
JOIN public.tbl_msg_recipient r USING(message_id)
|
||||
WHERE
|
||||
r.person_id=".$db->db_add_param($person_id, FHC_INTEGER)."
|
||||
OR m.person_id=".$db->db_add_param($person_id, FHC_INTEGER)."
|
||||
ORDER BY
|
||||
message_id";
|
||||
r.person_id as recipient_id,
|
||||
MAX(ss.status) as status
|
||||
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)
|
||||
WHERE m.person_id = ".$db->db_add_param($person_id, FHC_INTEGER)."
|
||||
GROUP BY m.message_id, m.subject, m.body, m.insertamum, m.relationmessage_id, sender, recipient, sender_id, recipient_id
|
||||
UNION ALL
|
||||
SELECT
|
||||
m.message_id AS message_id,
|
||||
m.subject AS subject,
|
||||
m.body AS body,
|
||||
m.insertamum AS insertamum,
|
||||
m.relationmessage_id AS relationmessage_id,
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id = m.person_id) as sender,
|
||||
(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
|
||||
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)
|
||||
WHERE r.person_id = ".$db->db_add_param($person_id, FHC_INTEGER)."
|
||||
GROUP BY m.message_id, m.subject, m.body, m.insertamum, m.relationmessage_id, sender, recipient, sender_id, recipient_id
|
||||
ORDER BY insertamum";
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
$oRdf->sendHeader();
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
$i=$oRdf->newObjekt($row->message_id);
|
||||
$oRdf->obj[$i]->setAttribut('subject',$row->subject,true);
|
||||
$oRdf->obj[$i]->setAttribut('body',$row->body,true);
|
||||
$oRdf->obj[$i]->setAttribut('message_id',$row->message_id,true);
|
||||
$oRdf->obj[$i]->setAttribut('insertamum',$row->insertamum,true);
|
||||
$oRdf->obj[$i]->setAttribut('status',$row->insertamum,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);
|
||||
$oRdf->obj[$i]->setAttribut('recipient_id',$row->recipient_id,true);
|
||||
$status = '';
|
||||
if ($row->status == 0)
|
||||
{
|
||||
$status = 'Unread';
|
||||
}
|
||||
else if ($row->status == 1)
|
||||
{
|
||||
$status = 'Read';
|
||||
}
|
||||
else if ($row->status == 2)
|
||||
{
|
||||
$status = 'Archived';
|
||||
}
|
||||
else if ($row->status == 3)
|
||||
{
|
||||
$status = 'Deleted';
|
||||
}
|
||||
|
||||
$i=$oRdf->newObjekt($row->message_id);
|
||||
$oRdf->obj[$i]->setAttribut('subject',$row->subject,true);
|
||||
$oRdf->obj[$i]->setAttribut('body',$row->body,true);
|
||||
$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('sender',$row->sender,true);
|
||||
$oRdf->obj[$i]->setAttribut('recipient',$row->recipient,true);
|
||||
$oRdf->obj[$i]->setAttribut('sender_id',$row->sender_id,true);
|
||||
$oRdf->obj[$i]->setAttribut('recipient_id',$row->recipient_id,true);
|
||||
|
||||
if($row->relationmessage_id!='')
|
||||
$oRdf->addSequence($row->message_id, $row->relationmessage_id);
|
||||
else
|
||||
$oRdf->addSequence($row->message_id);
|
||||
if($row->relationmessage_id!='')
|
||||
$oRdf->addSequence($row->message_id, $row->relationmessage_id);
|
||||
else
|
||||
$oRdf->addSequence($row->message_id);
|
||||
}
|
||||
}
|
||||
$oRdf->sendRdfText();
|
||||
|
||||
@@ -209,6 +209,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
|
||||
|
||||
|
||||
$gesamtstunden=0;
|
||||
$gesamtstunden_lv=0;
|
||||
$gesamtects=0;
|
||||
$notensumme=0;
|
||||
$anzahl=0;
|
||||
@@ -243,6 +244,8 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
|
||||
$xml .= " <note_idx>".$row->note."</note_idx>";
|
||||
$sws = sprintf('%.1F',$row->semesterstunden/$wochen);
|
||||
$xml .= " <sws>".$sws."</sws>";
|
||||
$sws_lv = sprintf('%.1F',$row->sws);
|
||||
$xml .= " <sws_lv>".$sws_lv."</sws_lv>";
|
||||
$xml .= " <ects>".$row->ects."</ects>";
|
||||
$xml .= " <lehrform><![CDATA[".$row->lv_lehrform_kurzbz."]]></lehrform>";
|
||||
if($row->benotungsdatum!='')
|
||||
@@ -250,6 +253,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
|
||||
$xml .= " </unterrichtsfach>";
|
||||
|
||||
$gesamtstunden +=$sws;
|
||||
$gesamtstunden_lv +=$sws_lv;
|
||||
$gesamtects += $row->ects;
|
||||
if($note_wert[$row->note]!='')
|
||||
{
|
||||
@@ -268,6 +272,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
|
||||
else
|
||||
$schnitt = 0;
|
||||
$xml .= " <gesamtstunden>".$gesamtstunden."</gesamtstunden>";
|
||||
$xml .= " <gesamtstunden_lv>".$gesamtstunden_lv."</gesamtstunden_lv>";
|
||||
$xml .= " <gesamtects>$gesamtects</gesamtects>";
|
||||
$xml .= " <schnitt>".sprintf('%.2f',$schnitt)."</schnitt>";
|
||||
$xml .= " </studienerfolg>";
|
||||
|
||||
+51
-49
@@ -44,7 +44,7 @@ function breaktext($text, $zeichen)
|
||||
$arr = explode(' ',$text);
|
||||
$ret = '';
|
||||
$teilstring='';
|
||||
|
||||
|
||||
foreach($arr as $elem)
|
||||
{
|
||||
if(strlen($teilstring.$elem)>$zeichen)
|
||||
@@ -52,7 +52,7 @@ function breaktext($text, $zeichen)
|
||||
$ret.=' '.$teilstring.'\n';
|
||||
$teilstring=$elem;
|
||||
}
|
||||
else
|
||||
else
|
||||
$teilstring .=' '.$elem;
|
||||
}
|
||||
$ret.=$teilstring;
|
||||
@@ -64,9 +64,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
else
|
||||
$uid = null;
|
||||
|
||||
|
||||
$uid_arr = explode(";",$uid);
|
||||
|
||||
if ($uid_arr[0] == "")
|
||||
@@ -74,61 +74,61 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
unset($uid_arr[0]);
|
||||
$uid_arr = array_values($uid_arr);
|
||||
}
|
||||
|
||||
|
||||
$note_arr = array();
|
||||
$note = new note();
|
||||
$note->getAll();
|
||||
foreach ($note->result as $n){
|
||||
$note_arr[$n->note] = $n->anmerkung;
|
||||
$note_bezeichnung_arr[$n->note] = $n->bezeichnung;
|
||||
|
||||
$note_bezeichnung_arr[$n->note] = $n->bezeichnung;
|
||||
|
||||
}
|
||||
if(isset($_GET['ss']))
|
||||
$studiensemester_kurzbz = $_GET['ss'];
|
||||
else
|
||||
else
|
||||
die('Studiensemester muss uebergeben werden');
|
||||
|
||||
if(isset($_GET['lvid']))
|
||||
$lehrveranstaltung_id = $_GET['lvid'];
|
||||
else
|
||||
else
|
||||
$lehrveranstaltung_id = 0;
|
||||
|
||||
|
||||
//Daten holen
|
||||
|
||||
$lqry = "SELECT
|
||||
tbl_person.titelpre, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpost
|
||||
FROM
|
||||
public.tbl_benutzer JOIN public.tbl_person using (person_id)
|
||||
WHERE
|
||||
tbl_benutzer.uid = (SELECT
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehrfunktion USING(lehrfunktion_kurzbz),
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
$lqry = "SELECT
|
||||
tbl_person.titelpre, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpost
|
||||
FROM
|
||||
public.tbl_benutzer JOIN public.tbl_person using (person_id)
|
||||
WHERE
|
||||
tbl_benutzer.uid = (SELECT
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehrfunktion USING(lehrfunktion_kurzbz),
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
|
||||
ORDER BY tbl_lehrfunktion.standardfaktor desc limit 1)";
|
||||
|
||||
|
||||
$leiter_titel = '';
|
||||
$leiter_vorname = '';
|
||||
$leiter_nachname = '';
|
||||
$leiter_titelpost = '';
|
||||
|
||||
|
||||
if($db->db_query($lqry))
|
||||
{
|
||||
if ($lrow = $db->db_fetch_object())
|
||||
{
|
||||
$leiter_titel = $lrow->titelpre;
|
||||
$leiter_titel = $lrow->titelpre;
|
||||
$leiter_vorname = $lrow->vorname;
|
||||
$leiter_nachname = $lrow->nachname;
|
||||
$leiter_titelpost = $lrow->titelpost;
|
||||
}
|
||||
$leiter_nachname = $lrow->nachname;
|
||||
$leiter_titelpost = $lrow->titelpost;
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "SELECT wochen FROM public.tbl_semesterwochen
|
||||
WHERE (studiengang_kz, semester) in (SELECT studiengang_kz, semester
|
||||
|
||||
$qry = "SELECT wochen FROM public.tbl_semesterwochen
|
||||
WHERE (studiengang_kz, semester) in (SELECT studiengang_kz, semester
|
||||
FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER).")";
|
||||
$wochen = 15;
|
||||
if($result_wochen = $db->db_query($qry))
|
||||
@@ -139,7 +139,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
}
|
||||
}
|
||||
$lvqry = "SELECT * from lehre.tbl_lehrveranstaltung where lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($db->db_query($lvqry))
|
||||
{
|
||||
if ($lvrow = $db->db_fetch_object())
|
||||
@@ -147,10 +147,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$sws = $lvrow->semesterstunden/$wochen;
|
||||
$ects = $lvrow->ects;
|
||||
$lvbezeichnung = $lvrow->bezeichnung;
|
||||
$lvstg = $lvrow->studiengang_kz;
|
||||
}
|
||||
$lvstg = $lvrow->studiengang_kz;
|
||||
$sws_lv = $lvrow->sws;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$lehrinhalte = '';
|
||||
$lehrziele = '';
|
||||
$infoqry = "SELECT * FROM campus.tbl_lvinfo WHERE sprache='German' AND lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
|
||||
@@ -158,31 +159,31 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
{
|
||||
if ($inforow = $db->db_fetch_object())
|
||||
{
|
||||
$lehrinhalte_arr = explode("<br>",$inforow->lehrinhalte);
|
||||
$lehrinhalte_arr = explode("<br>",$inforow->lehrinhalte);
|
||||
for ($i = 0; $i < sizeof($lehrinhalte_arr); $i++)
|
||||
{
|
||||
$lehrinhalte .= $lehrinhalte_arr[$i].'\n';
|
||||
$lehrinhalte .= $lehrinhalte_arr[$i].'\n';
|
||||
}
|
||||
$lehrziele_arr = explode("<br>",$inforow->lehrziele);
|
||||
for ($i = 0; $i < sizeof($lehrziele_arr); $i++)
|
||||
{
|
||||
$lehrziele .= $lehrziele_arr[$i].'\n';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>";
|
||||
$xml .= "<zertifikate>";
|
||||
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->load($studiensemester_kurzbz);
|
||||
|
||||
|
||||
for ($i = 0; $i < sizeof($uid_arr); $i++)
|
||||
{
|
||||
{
|
||||
$anzahl_fussnoten=0;
|
||||
$studiengang_typ='';
|
||||
$xml_fussnote='';
|
||||
|
||||
|
||||
$query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.bezeichnung, tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, tbl_person.titelpost, tbl_person.geschlecht FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz and tbl_student.student_uid = tbl_benutzer.uid and tbl_benutzer.person_id = tbl_person.person_id and tbl_student.student_uid = '".$uid_arr[$i]."'";
|
||||
|
||||
if($db->db_query($query))
|
||||
@@ -200,7 +201,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$stgl_ma = new mitarbeiter($stgleiter_uid);
|
||||
$stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost);
|
||||
}
|
||||
|
||||
|
||||
$xml .= "\n <zertifikat>";
|
||||
$xml .= "\n <studiensemester>".$studiensemester->bezeichnung."</studiensemester>";
|
||||
$xml .= "\n <vorname>".$row->vorname."</vorname>";
|
||||
@@ -215,8 +216,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= "\n <studiengangsleiter>".$stgl."</studiengangsleiter>";
|
||||
$datum_aktuell = date('d.m.Y');
|
||||
$xml .= "\n <ort_datum>Wien, am ".$datum_aktuell."</ort_datum>";
|
||||
|
||||
|
||||
|
||||
|
||||
$obj = new zeugnisnote();
|
||||
$obj->load($lehrveranstaltung_id, $uid_arr[$i], $studiensemester_kurzbz);
|
||||
|
||||
@@ -229,9 +230,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
{
|
||||
$note = "";
|
||||
$note_bezeichnung = "";
|
||||
}
|
||||
}
|
||||
$note2=$note;
|
||||
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg->load($lvstg);
|
||||
$xml .= " <lv_studiengang_bezeichnung>".$stg->bezeichnung."</lv_studiengang_bezeichnung>";
|
||||
@@ -242,12 +243,13 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= " <note>".$note."</note>";
|
||||
$xml .= " <note_bezeichnung>".$note_bezeichnung."</note_bezeichnung>";
|
||||
$xml .= " <sws>".($sws==0?'':number_format(sprintf('%.1F',$sws),1))."</sws>";
|
||||
$xml .= " <sws_lv>".($sws_lv==0?'':number_format(sprintf('%.1F',$sws_lv),1))."</sws_lv>";
|
||||
$xml .= " <ects>".number_format($ects,1)."</ects>";
|
||||
$xml .= " <lvleiter>".$leiter_titel." ".$leiter_vorname." ".$leiter_nachname.($leiter_titelpost!=''?', '.$leiter_titelpost:'')."</lvleiter>";
|
||||
$xml .= " <lehrinhalte><![CDATA[".clearHtmlTags($lehrinhalte)."]]></lehrinhalte>";
|
||||
$xml .= " <lehrziele><![CDATA[".clearHtmlTags($lehrziele)."]]></lehrziele>";
|
||||
|
||||
|
||||
|
||||
$xml .= " </zertifikat>";
|
||||
}
|
||||
$xml .= "</zertifikate>";
|
||||
|
||||
@@ -325,6 +325,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
//$nl = str_repeat('\n',($anzahl_nl));
|
||||
$xml_fussnote .=' <note>'.(isset($note_arr[$note])?$note_arr[$note]:$note).$nl.'</note>';
|
||||
$xml_fussnote .=' <sws>'.$nl.'</sws>';
|
||||
$xml_fussnote .=' <sws_lv>'.$nl.'</sws_lv>';
|
||||
$xml_fussnote .=' <ects>'.$nl.'</ects>';
|
||||
$xml_fussnote .=' <lv_lehrform_kurzbz>'.$nl.'</lv_lehrform_kurzbz>';
|
||||
|
||||
@@ -379,6 +380,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= " <bezeichnung_englisch><![CDATA[".$bezeichnung_englisch."]]></bezeichnung_englisch>";
|
||||
$xml .= " <note>".$note2."</note>";
|
||||
$xml .= " <sws>".($row->semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1))."</sws>";
|
||||
$xml .= " <sws_lv>".($row->sws==0?'':number_format(sprintf('%.1F',$row->sws),1))."</sws_lv>";
|
||||
$ectspunkte='';
|
||||
|
||||
$anrechnung = new anrechnung();
|
||||
|
||||
+450
-208
@@ -19,7 +19,6 @@
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Karl Burkhart <burkhart@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/basis_db.class.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
@@ -29,138 +28,179 @@ require_once('../include/student.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/datum.class.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
|
||||
$db = new basis_db();
|
||||
$datum = new datum();
|
||||
|
||||
$uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if (!$rechte->isBerechtigt('student/stammdaten', null, 's'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
if (isset($_REQUEST['stg_kz']))
|
||||
$studiengang_kz = $_REQUEST['stg_kz'];
|
||||
else
|
||||
$studiengang_kz = null;
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$aktSem = $studiensemester->getaktorNext();
|
||||
$nextSem = $studiensemester->getNextFrom($aktSem);
|
||||
$ausgabe = array();
|
||||
$text = '';
|
||||
|
||||
$text ="";
|
||||
?>
|
||||
echo '<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<head>
|
||||
<title>Check Studenten</title>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
|
||||
<meta charset="utf-8"/>
|
||||
<link rel="stylesheet" href="../skin/vilesci.css" type="text/css">
|
||||
</head>
|
||||
|
||||
<body class="background_main">
|
||||
<h2>Studenten Checkskript für BIS-Meldung</h2>
|
||||
<?php
|
||||
</head>
|
||||
<body>
|
||||
<h1>Studenten Checkskript für BIS-Meldung</h1>';
|
||||
|
||||
/*
|
||||
* Studiengang muss beim Prestudenten und beim Studenten gleich sein
|
||||
*/
|
||||
$qry = "
|
||||
SELECT
|
||||
stud.student_uid, pre.studiengang_kz, stud.studiengang_kz studiengang
|
||||
FROM
|
||||
public.tbl_prestudent pre
|
||||
JOIN public.tbl_student stud using(prestudent_id)
|
||||
WHERE
|
||||
stud.studiengang_kz != pre.studiengang_kz";
|
||||
|
||||
$qry="select stud.student_uid, pre.studiengang_kz, stud.studiengang_kz studiengang
|
||||
from public.tbl_prestudent pre
|
||||
join public.tbl_student stud using(prestudent_id)
|
||||
where stud.studiengang_kz != pre.studiengang_kz;";
|
||||
|
||||
$text.="Suche Studiengänge die bei Prestudenten und Studenten nicht gleich sind ...<br><br>";
|
||||
|
||||
if($db->db_query($qry))
|
||||
if ($studiengang_kz != '')
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
$qry .= " AND
|
||||
(
|
||||
stud.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)."
|
||||
OR pre.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)."
|
||||
)";
|
||||
}
|
||||
|
||||
$text .= "Suche Studiengänge die bei Prestudenten und Studenten nicht gleich sind ...<br><br>";
|
||||
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
$ausgabe[$row->studiengang][1][]= $row->student_uid;
|
||||
$text.="Studenten-uid: ".$row->student_uid."<br>";
|
||||
$ausgabe[$row->studiengang][1][] = $row->student_uid;
|
||||
$text .= "Studenten-uid: ".$row->student_uid."<br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
$text.="Fehler bei der Abfrage aufgetreten. <br>";
|
||||
$text .= "Fehler bei der Abfrage aufgetreten. <br>";
|
||||
|
||||
/*
|
||||
* Abbrecher dürfen nicht mehr aktiv sein
|
||||
*/
|
||||
$text .= "<br>Suche alle Abbrecher die noch aktiv sind ... <br><br>";
|
||||
|
||||
$text.= "<br>Suche alle Abbrecher die noch aktiv sind ... <br><br>";
|
||||
$qry = "
|
||||
SELECT
|
||||
pre_status.status_kurzbz, benutzer.aktiv, benutzer.uid, student.studiengang_kz studiengang
|
||||
FROM
|
||||
public.tbl_prestudentstatus pre_status
|
||||
JOIN public.tbl_prestudent pre using(prestudent_id)
|
||||
JOIN public.tbl_student student using(prestudent_id)
|
||||
JOIN public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
|
||||
WHERE
|
||||
pre_status.status_kurzbz ='Abbrecher' and benutzer.aktiv=true";
|
||||
|
||||
$qry ="select pre_status.status_kurzbz, benutzer.aktiv, benutzer.uid, student.studiengang_kz studiengang
|
||||
from public.tbl_prestudentstatus pre_status
|
||||
join public.tbl_prestudent pre using(prestudent_id)
|
||||
join public.tbl_student student using(prestudent_id)
|
||||
join public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
|
||||
where pre_status.status_kurzbz ='Abbrecher' and benutzer.aktiv = 'true';";
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND pre.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if($db->db_query($qry))
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
$ausgabe[$row->studiengang][2][]= $row->uid;
|
||||
$text .="Studenten-uid: ".$row->uid."<br>";
|
||||
$ausgabe[$row->studiengang][2][] = $row->uid;
|
||||
$text .= "Studenten-uid: ".$row->uid."<br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
$text.= "Fehler bei der Abfrage aufgetreten. <br>";
|
||||
|
||||
|
||||
$text .= "Fehler bei der Abfrage aufgetreten. <br>";
|
||||
|
||||
/*
|
||||
* Organisationsform eines Studienganges, sollte mit den Organisationsformen der Studenten übereinstimmen
|
||||
*/
|
||||
|
||||
$text.= "<br>Suche Studenten mit ungleichen Organisationsformeinträgen (Studiengang <--> Prestudentstatus) ... <br><br>";
|
||||
$text .= "<br>Suche Studenten mit ungleichen Organisationsformeinträgen
|
||||
(Studiengang <--> Prestudentstatus) ... <br><br>";
|
||||
|
||||
$orgArray = array();
|
||||
$orgForm = new organisationsform();
|
||||
|
||||
$qry ="select studiengang.orgform_kurzbz as studorgkz, student.student_uid, prestudentstatus.orgform_kurzbz as studentorgkz, student.studiengang_kz studiengang
|
||||
from public.tbl_studiengang studiengang
|
||||
join public.tbl_student student using(studiengang_kz)
|
||||
join public.tbl_prestudent prestudent using(prestudent_id)
|
||||
join public.tbl_prestudentstatus prestudentstatus using(prestudent_id)
|
||||
join public.tbl_benutzer benutzer on(benutzer.uid = student.student_uid)
|
||||
where benutzer.aktiv = 'true' and prestudentstatus.status_kurzbz ='Student'
|
||||
and studiengang.studiengang_kz < 10000
|
||||
and prestudentstatus.studiensemester_kurzbz = '$aktSem'
|
||||
order by student_uid; ";
|
||||
$qry = "
|
||||
SELECT
|
||||
studiengang.orgform_kurzbz as studorgkz, student.student_uid,
|
||||
prestudentstatus.orgform_kurzbz as studentorgkz, student.studiengang_kz studiengang
|
||||
FROM
|
||||
public.tbl_studiengang studiengang
|
||||
JOIN public.tbl_student student using(studiengang_kz)
|
||||
JOIN public.tbl_prestudent prestudent using(prestudent_id)
|
||||
JOIN public.tbl_prestudentstatus prestudentstatus using(prestudent_id)
|
||||
JOIN public.tbl_benutzer benutzer on(benutzer.uid = student.student_uid)
|
||||
WHERE
|
||||
benutzer.aktiv = true
|
||||
AND prestudentstatus.status_kurzbz='Student'
|
||||
AND studiengang.studiengang_kz < 10000
|
||||
AND prestudentstatus.studiensemester_kurzbz = ".$db->db_add_param($aktSem);
|
||||
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
$qry .= " ORDER BY student_uid";
|
||||
|
||||
if($db->db_query($qry))
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
$studOrgform = $row->studorgkz;
|
||||
$student_uid = $row->student_uid;
|
||||
$studentOrgform = $row->studentorgkz;
|
||||
|
||||
$orgArray = $orgForm->checkOrgForm($studOrgform);
|
||||
if(is_array($orgArray))
|
||||
if (is_array($orgArray))
|
||||
{
|
||||
if(!in_array($studentOrgform, $orgArray))
|
||||
if (!in_array($studentOrgform, $orgArray))
|
||||
{
|
||||
$ausgabe[$row->studiengang][3][]= $row->student_uid;
|
||||
$text.= "Student_uid: $student_uid <br>";
|
||||
$ausgabe[$row->studiengang][3][] = $row->student_uid;
|
||||
$text .= "Student_uid: $student_uid <br>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
$text.="Fehler bei der Abfrage aufgetreten. <br>";
|
||||
$text .= "Fehler bei der Abfrage aufgetreten. <br>";
|
||||
|
||||
|
||||
/*
|
||||
* Abbrecher dürfen nicht wieder einen Status bekommen
|
||||
*/
|
||||
|
||||
$prestudentAbbrecher = new prestudent();
|
||||
$prestudentLast = new prestudent();
|
||||
$text.= "<br>Suche alle Abbrecher die wieder einen Status bekommen haben...<br><br>";
|
||||
$text .= "<br>Suche alle Abbrecher die wieder einen Status bekommen haben...<br><br>";
|
||||
|
||||
$qry ="select student.student_uid, prestudent.prestudent_id, student.studiengang_kz studiengang
|
||||
from public.tbl_student student
|
||||
join public.tbl_prestudent prestudent using(prestudent_id)
|
||||
join public.tbl_prestudentstatus prestatus using(prestudent_id)
|
||||
where prestatus.status_kurzbz = 'Abbrecher'; ";
|
||||
$qry = "
|
||||
SELECT
|
||||
student.student_uid, prestudent.prestudent_id, student.studiengang_kz studiengang
|
||||
FROM
|
||||
public.tbl_student student
|
||||
JOIN public.tbl_prestudent prestudent using(prestudent_id)
|
||||
JOIN public.tbl_prestudentstatus prestatus using(prestudent_id)
|
||||
WHERE
|
||||
prestatus.status_kurzbz = 'Abbrecher'";
|
||||
|
||||
if($db->db_query($qry))
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
$student_uid = $row->student_uid;
|
||||
$prestudent_id = $row->prestudent_id;
|
||||
@@ -169,10 +209,10 @@ if($db->db_query($qry))
|
||||
|
||||
$prestudentLast->getLastStatus($prestudent_id);
|
||||
|
||||
if($prestudentLast->status_kurzbz != 'Abbrecher')
|
||||
if ($prestudentLast->status_kurzbz != 'Abbrecher')
|
||||
{
|
||||
$ausgabe[$row->studiengang][4][]= $student_uid;
|
||||
$text.= "Studenten-uid: ".$student_uid."<br>";
|
||||
$ausgabe[$row->studiengang][4][] = $student_uid;
|
||||
$text .= "Studenten-uid: ".$student_uid."<br>";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -182,29 +222,39 @@ if($db->db_query($qry))
|
||||
* Aktuelles Semester beim Studenten stimmt nicht mit dem Ausbildungssemester des aktuellen Status überein
|
||||
*/
|
||||
|
||||
$text .="<br><br>Suche Studenten deren Semstern nicht mit dem Ausbildungssemesters des aktuellen Status übereinstimmt ... <br><br>";
|
||||
$text .= "<br><br>Suche Studenten deren Semstern nicht mit dem
|
||||
Ausbildungssemesters des aktuellen Status übereinstimmt ... <br><br>";
|
||||
|
||||
$student = new student();
|
||||
$prestudent = new prestudent();
|
||||
$qry = "select distinct(student.student_uid), prestudent.prestudent_id, status.ausbildungssemester, lv.semester, student.studiengang_kz studiengang
|
||||
from public.tbl_student student
|
||||
join public.tbl_studentlehrverband lv using(student_uid)
|
||||
join public.tbl_prestudent prestudent using(prestudent_id)
|
||||
join public.tbl_prestudentstatus status using(prestudent_id)
|
||||
WHERE status.studiensemester_kurzbz = '$aktSem'
|
||||
and lv.studiensemester_kurzbz = '$aktSem' AND status.status_kurzbz NOT IN ('Interessent','Bewerber')
|
||||
and get_rolle_prestudent (prestudent_id, '$aktSem')='Student';";
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct(student.student_uid), prestudent.prestudent_id, status.ausbildungssemester,
|
||||
lv.semester, student.studiengang_kz studiengang
|
||||
FROM
|
||||
public.tbl_student student
|
||||
JOIN public.tbl_studentlehrverband lv using(student_uid)
|
||||
JOIN public.tbl_prestudent prestudent using(prestudent_id)
|
||||
JOIN public.tbl_prestudentstatus status using(prestudent_id)
|
||||
WHERE
|
||||
status.studiensemester_kurzbz = ".$db->db_add_param($aktSem)."
|
||||
AND lv.studiensemester_kurzbz = ".$db->db_add_param($aktSem)."
|
||||
AND status.status_kurzbz NOT IN ('Interessent','Bewerber')
|
||||
AND get_rolle_prestudent (prestudent_id, ".$db->db_add_param($aktSem).")='Student'";
|
||||
|
||||
if($db->db_query($qry))
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
$student_uid = $row->student_uid;
|
||||
|
||||
if($row->ausbildungssemester != $row->semester)
|
||||
if ($row->ausbildungssemester != $row->semester)
|
||||
{
|
||||
$ausgabe[$row->studiengang][5][]= $student_uid;
|
||||
$text.="Studenten-uid: ".$student_uid."<br>";
|
||||
$ausgabe[$row->studiengang][5][] = $student_uid;
|
||||
$text .= "Studenten-uid: ".$student_uid."<br>";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -214,21 +264,29 @@ if($db->db_query($qry))
|
||||
* Inaktive Studenten sollen keinen "aktiven" Status haben (Diplomant, Student, Unterbrecher, Praktikant)
|
||||
*/
|
||||
|
||||
$text.="<br><br>Suche alle inaktiven Studenten mit einem aktiven Status ... <br><br>";
|
||||
$text .= "<br><br>Suche alle inaktiven Studenten mit einem aktiven Status ... <br><br>";
|
||||
|
||||
$qry = "Select distinct(student.student_uid), student.studiengang_kz studiengang
|
||||
from public.tbl_benutzer benutzer
|
||||
join public.tbl_student student on(benutzer.uid = student.student_uid)
|
||||
join public.tbl_prestudent prestudent using(prestudent_id)
|
||||
where benutzer.aktiv = 'false'
|
||||
and get_rolle_prestudent (prestudent_id, '$aktSem') in ('Student', 'Diplomand', 'Unterbrecher', 'Praktikant')";
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct(student.student_uid), student.studiengang_kz studiengang
|
||||
FROM
|
||||
public.tbl_benutzer benutzer
|
||||
JOIN public.tbl_student student on(benutzer.uid = student.student_uid)
|
||||
JOIN public.tbl_prestudent prestudent using(prestudent_id)
|
||||
WHERE
|
||||
benutzer.aktiv=false
|
||||
AND get_rolle_prestudent(prestudent_id, ".$db->db_add_param($aktSem).")
|
||||
in ('Student', 'Diplomand', 'Unterbrecher', 'Praktikant')";
|
||||
|
||||
if($db->db_query($qry))
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
$ausgabe[$row->studiengang][6][]= $row->student_uid;
|
||||
$text.="Studenten-uid: ".$row->student_uid."<br>";
|
||||
$ausgabe[$row->studiengang][6][] = $row->student_uid;
|
||||
$text .= "Studenten-uid: ".$row->student_uid."<br>";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -238,36 +296,43 @@ if($db->db_query($qry))
|
||||
* zB. Wenn Student im SS2010 studiert darf Studentenstatus nicht vor 15.11.2009 liegen
|
||||
*/
|
||||
|
||||
$text.="<br><br>Suche alle Studenten deren Inskription im aktuellen Semester vor der letzten BIS-Meldung liegt ...<br><br>";
|
||||
$text .= "<br><br>Suche alle Studenten deren Inskription im aktuellen
|
||||
Semester vor der letzten BIS-Meldung liegt ...<br><br>";
|
||||
|
||||
$qry ="Select distinct(student.student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
|
||||
from public.tbl_benutzer benutzer
|
||||
join public.tbl_student student on(benutzer.uid = student.student_uid)
|
||||
join public.tbl_prestudent prestudent using(prestudent_id)
|
||||
join public.tbl_prestudentstatus prestatus using(prestudent_id)
|
||||
where benutzer.aktiv = 'true'";
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct(student.student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
|
||||
FROM
|
||||
public.tbl_benutzer benutzer
|
||||
JOIN public.tbl_student student on(benutzer.uid = student.student_uid)
|
||||
JOIN public.tbl_prestudent prestudent using(prestudent_id)
|
||||
JOIN public.tbl_prestudentstatus prestatus using(prestudent_id)
|
||||
WHERE
|
||||
benutzer.aktiv=true";
|
||||
|
||||
if($db->db_query($qry))
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if ($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
while ($row = $db->db_fetch_object())
|
||||
{
|
||||
$prestudent = new prestudent();
|
||||
|
||||
$prestudent->getFirstStatus($row->prestudent_id, 'Student');
|
||||
// wenn Student im aktuellen Semester zum ersten Mal den Status Student bekommt
|
||||
if($prestudent->studiensemester_kurzbz == $aktSem)
|
||||
if ($prestudent->studiensemester_kurzbz == $aktSem)
|
||||
{
|
||||
$datumBIS = getDateForInscription($aktSem);
|
||||
$datumInscription = $datum->formatDatum($prestudent->datum, 'Y-m-d');
|
||||
|
||||
// Wenn Inscriptionsdatum vor der letzten BIS Meldung liegt
|
||||
if($datumInscription < $datumBIS)
|
||||
if ($datumInscription < $datumBIS)
|
||||
{
|
||||
$ausgabe[$row->studiengang][7][]= $row->student_uid;
|
||||
$text.= $row->student_uid ." Inskribiert am: ".$datumInscription." BIS Meldung: ".$datumBIS."<br>";
|
||||
$ausgabe[$row->studiengang][7][] = $row->student_uid;
|
||||
$text .= $row->student_uid." Inskribiert am: ".$datumInscription." BIS Meldung: ".$datumBIS."<br>";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,35 +341,48 @@ if($db->db_query($qry))
|
||||
* Datum und Studiensemester bei den Stati sind in falscher Reihenfolge
|
||||
*/
|
||||
|
||||
$text.="<br><br>Suche alle Studenten die Datum und Studiensemester in deren Stati in falscher Reihenfolge haben ...<br><br>";
|
||||
$text .= "<br><br>Suche alle Studenten die Datum und Studiensemester
|
||||
in deren Stati in falscher Reihenfolge haben ...<br><br>";
|
||||
$prestudentFirst = new prestudent();
|
||||
$prestudentSecond = new prestudent();
|
||||
$i = 0;
|
||||
|
||||
// alle aktiven Studenten die im aktuellen Semster den Status Student haben
|
||||
$qry_student ="Select distinct(student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
|
||||
from public.tbl_student student
|
||||
join public.tbl_benutzer benutzer on(student.student_uid = benutzer.uid)
|
||||
join public.tbl_prestudent prestudent using(prestudent_id)
|
||||
join public.tbl_prestudentstatus status using(prestudent_id)
|
||||
where benutzer.aktiv = 'true'
|
||||
and status.status_kurzbz ='Student'
|
||||
and status.studiensemester_kurzbz = '$aktSem';";
|
||||
$qry_student = "
|
||||
SELECT
|
||||
distinct(student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
|
||||
FROM
|
||||
public.tbl_student student
|
||||
JOIN public.tbl_benutzer benutzer on(student.student_uid = benutzer.uid)
|
||||
JOIN public.tbl_prestudent prestudent using(prestudent_id)
|
||||
JOIN public.tbl_prestudentstatus status using(prestudent_id)
|
||||
WHERE
|
||||
benutzer.aktiv=true
|
||||
AND status.status_kurzbz='Student'
|
||||
AND status.studiensemester_kurzbz=".$db->db_add_param($aktSem);
|
||||
|
||||
if($result = $db->db_query($qry_student))
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if ($result = $db->db_query($qry_student))
|
||||
{
|
||||
while($student = $db->db_fetch_object($result))
|
||||
while ($student = $db->db_fetch_object($result))
|
||||
{
|
||||
$qry_orderSemester ="SELECT * FROM public.tbl_prestudentstatus status
|
||||
join public.tbl_studiensemester semester using(studiensemester_kurzbz)
|
||||
where prestudent_id = '$student->prestudent_id'
|
||||
order by start DESC, datum DESC;";
|
||||
$qry_orderSemester = "
|
||||
SELECT
|
||||
status.*
|
||||
FROM
|
||||
public.tbl_prestudentstatus status
|
||||
JOIN public.tbl_studiensemester semester using(studiensemester_kurzbz)
|
||||
WHERE
|
||||
prestudent_id = ".$db->db_add_param($student->prestudent_id, FHC_INTEGER)."
|
||||
ORDER BY semester.start DESC, status.datum DESC;";
|
||||
|
||||
if($result1 = $db->db_query($qry_orderSemester))
|
||||
if ($result1 = $db->db_query($qry_orderSemester))
|
||||
{
|
||||
$prestudentSecond->result = array();
|
||||
$prestudentFirst->result = array();
|
||||
while($row = $db->db_fetch_object($result1))
|
||||
while ($row = $db->db_fetch_object($result1))
|
||||
{
|
||||
$prestudentStatus = new prestudent();
|
||||
|
||||
@@ -324,17 +402,19 @@ if($result = $db->db_query($qry_student))
|
||||
}
|
||||
}
|
||||
else
|
||||
$text.= "Fehler";
|
||||
$text .= "Fehler";
|
||||
|
||||
if(!$prestudentSecond->getPrestudentRolle($student->prestudent_id,null,null,'Datum DESC, insertamum DESC'))
|
||||
$text.= "ERROR:".$prestudentSecond->errormsg;
|
||||
if (!$prestudentSecond->getPrestudentRolle($student->prestudent_id, null, null, 'Datum DESC, insertamum DESC'))
|
||||
$text .= "ERROR:".$prestudentSecond->errormsg;
|
||||
|
||||
for($i=0; $i<count($prestudentFirst->result); $i++)
|
||||
$anzahl_stati = count($prestudentFirst->result);
|
||||
for ($i = 0; $i < $anzahl_stati; $i++)
|
||||
{
|
||||
if($prestudentFirst->result[$i]->studiensemester_kurzbz != $prestudentSecond->result[$i]->studiensemester_kurzbz)
|
||||
if ($prestudentFirst->result[$i]->studiensemester_kurzbz
|
||||
!= $prestudentSecond->result[$i]->studiensemester_kurzbz)
|
||||
{
|
||||
$ausgabe[$student->studiengang][8][]= $student->student_uid;
|
||||
$text.= "Studenten-uid: ".$student->student_uid."<br>";
|
||||
$ausgabe[$student->studiengang][8][] = $student->student_uid;
|
||||
$text .= "Studenten-uid: ".$student->student_uid."<br>";
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
@@ -346,24 +426,31 @@ if($result = $db->db_query($qry_student))
|
||||
*/
|
||||
|
||||
$prestudent = new prestudent();
|
||||
$text.="<br><br>Suche alle aktiven Studenten die keinen Status im aktuellen Studiensemester haben.<br><br>";
|
||||
$text .= "<br><br>Suche alle aktiven Studenten die keinen Status im aktuellen Studiensemester haben.<br><br>";
|
||||
|
||||
$qry ="Select distinct (student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
|
||||
from public.tbl_student student
|
||||
join public.tbl_benutzer benutzer on (benutzer.uid = student.student_uid)
|
||||
join public.tbl_prestudent prestudent using(prestudent_id)
|
||||
join public.tbl_prestudentstatus status using(prestudent_id)
|
||||
where benutzer.aktiv = 'true'";
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct (student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
|
||||
FROM
|
||||
public.tbl_student student
|
||||
JOIN public.tbl_benutzer benutzer on (benutzer.uid = student.student_uid)
|
||||
JOIN public.tbl_prestudent prestudent using(prestudent_id)
|
||||
JOIN public.tbl_prestudentstatus status using(prestudent_id)
|
||||
WHERE
|
||||
benutzer.aktiv=true";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if(!$prestudent->getLastStatus($row->prestudent_id, $aktSem)
|
||||
if (!$prestudent->getLastStatus($row->prestudent_id, $aktSem)
|
||||
&& !$prestudent->getLastStatus($row->prestudent_id, $nextSem))
|
||||
{
|
||||
$ausgabe[$row->studiengang][9][]= $row->student_uid;
|
||||
$text.= $row->student_uid."<br>";
|
||||
$ausgabe[$row->studiengang][9][] = $row->student_uid;
|
||||
$text .= $row->student_uid."<br>";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -371,9 +458,9 @@ if($result = $db->db_query($qry))
|
||||
/*
|
||||
* Bewerber im aktuellen StSem die in Mischformstudiengängen keine Orgform eingetragen haben
|
||||
*/
|
||||
$text.="<br><br>Suche alle Bewerber die keine Orgform eingetragen haben.<br><br>";
|
||||
$text .= "<br><br>Suche alle Bewerber die keine Orgform eingetragen haben.<br><br>";
|
||||
|
||||
$qry ="
|
||||
$qry = "
|
||||
SELECT
|
||||
tbl_prestudent.prestudent_id, tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz as studiengang
|
||||
FROM
|
||||
@@ -387,21 +474,24 @@ WHERE
|
||||
AND (tbl_prestudentstatus.orgform_kurzbz='' OR tbl_prestudentstatus.orgform_kurzbz is null)
|
||||
AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem);
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$ausgabe[$row->studiengang][10][]= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id;
|
||||
$text.= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id."<br>";
|
||||
$ausgabe[$row->studiengang][10][] = $row->vorname.' '.$row->nachname.' '.$row->prestudent_id;
|
||||
$text .= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id."<br>";
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Studierende im aktuellen StSem die in Mischformstudiengängen keine Orgform eingetragen haben
|
||||
*/
|
||||
$text.="<br><br>Suche alle Bewerber die keine Orgform eingetragen haben.<br><br>";
|
||||
$text .= "<br><br>Suche alle Bewerber die keine Orgform eingetragen haben.<br><br>";
|
||||
|
||||
$qry ="
|
||||
$qry = "
|
||||
SELECT
|
||||
tbl_prestudent.prestudent_id, tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz as studiengang
|
||||
FROM
|
||||
@@ -415,23 +505,27 @@ WHERE
|
||||
AND (tbl_prestudentstatus.orgform_kurzbz='' OR tbl_prestudentstatus.orgform_kurzbz is null)
|
||||
AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem);
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$ausgabe[$row->studiengang][11][]= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id;
|
||||
$text.= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id."<br>";
|
||||
$ausgabe[$row->studiengang][11][] = $row->vorname.' '.$row->nachname.' '.$row->prestudent_id;
|
||||
$text .= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id."<br>";
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Studiengang des Prestudenten passt nicht zu Studiengang des Studienplans
|
||||
*/
|
||||
$text.="<br><br>Suche alle bei denen Studiengang des Prestudenten nicht zum Studiengang des Studienplans passt<br><br>";
|
||||
$text .= "<br><br>Suche alle bei denen Studiengang des Prestudenten
|
||||
nicht zum Studiengang des Studienplans passt<br><br>";
|
||||
|
||||
$qry ="
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct tbl_person.*,
|
||||
distinct tbl_person.vorname, tbl_person.nachname,
|
||||
tbl_prestudent.studiengang_kz as studiengang,
|
||||
tbl_prestudent.prestudent_id
|
||||
FROM
|
||||
@@ -440,115 +534,263 @@ FROM
|
||||
JOIN lehre.tbl_studienplan USING(studienplan_id)
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
WHERE tbl_prestudent.studiengang_kz<>tbl_studienordnung.studiengang_kz
|
||||
WHERE
|
||||
tbl_prestudent.studiengang_kz<>tbl_studienordnung.studiengang_kz
|
||||
";
|
||||
if($result = $db->db_query($qry))
|
||||
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$ausgabe[$row->studiengang][12][]= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id;
|
||||
$text.= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id."<br>";
|
||||
$ausgabe[$row->studiengang][12][] = $row->vorname.' '.$row->nachname.' '.$row->prestudent_id;
|
||||
$text .= $row->vorname.' '.$row->nachname.' '.$row->prestudent_id."<br>";
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Studienplan ist nicht gueltig
|
||||
*/
|
||||
$text .= "<br><br>Studienplan ist im gewaehlten Ausbildungssemester nicht gueltig<br><br>";
|
||||
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct tbl_person.vorname, tbl_person.nachname,
|
||||
tbl_prestudent.prestudent_id,
|
||||
tbl_studienplan.bezeichnung,
|
||||
tbl_prestudent.studiengang_kz as studiengang,
|
||||
tbl_prestudentstatus.status_kurzbz,
|
||||
tbl_prestudentstatus.studiensemester_kurzbz,
|
||||
tbl_prestudentstatus.ausbildungssemester
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
JOIN lehre.tbl_studienplan USING(studienplan_id)
|
||||
WHERE
|
||||
status_kurzbz in('Student', 'Interessent','Bewerber','Aufgenommener')
|
||||
AND NOT EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_studienplan_semester
|
||||
WHERE
|
||||
studienplan_id=tbl_prestudentstatus.studienplan_id
|
||||
AND tbl_studienplan_semester.semester = tbl_prestudentstatus.ausbildungssemester
|
||||
AND tbl_studienplan_semester.studiensemester_kurzbz = Tbl_prestudentstatus.studiensemester_kurzbz
|
||||
)
|
||||
AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($aktSem);
|
||||
|
||||
if ($studiengang_kz != '')
|
||||
$qry .= " AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$ausgabe[$row->studiengang][13][] = $row->vorname.' '.$row->nachname.
|
||||
' ('.$row->studiensemester_kurzbz.' '.$row->status_kurzbz.' '.$row->ausbildungssemester.'.Sem)';
|
||||
$text .= $row->vorname.' '.$row->nachname.
|
||||
' ('.$row->studiensemester_kurzbz.' '.$row->status_kurzbz.' '.$row->ausbildungssemester.".Sem)<br>";
|
||||
}
|
||||
}
|
||||
|
||||
// Ausgabe der Studenten
|
||||
foreach($ausgabe as $stg_kz=>$value)
|
||||
foreach ($ausgabe as $stg_kz => $value)
|
||||
{
|
||||
//Wenn eine Studiengangskennzahl uebergeben wird, nur diese anzeigen und die anderen ueberspringen
|
||||
if(isset($_REQUEST['stg_kz']) && $_REQUEST['stg_kz']!=$stg_kz)
|
||||
if ($studiengang_kz != $stg_kz)
|
||||
continue;
|
||||
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->load($stg_kz);
|
||||
|
||||
echo "<br><br><h2>".$studiengang->bezeichnung ." (".$studiengang->kurzbzlang.")</h2>";
|
||||
echo "<h2>".$studiengang->bezeichnung." (".$studiengang->kurzbzlang.")</h2>";
|
||||
echo "<table border='0'>";
|
||||
foreach($value as $code=>$uid)
|
||||
foreach ($value as $code => $uid)
|
||||
{
|
||||
switch ($code) {
|
||||
case 1:
|
||||
echo '<tr><td> </td></tr><tr><td colspan="4"><b>Studenten deren Studiengänge (Prestudent <-> Student) nicht gleich sind</b></td></tr>';
|
||||
break;
|
||||
echo '
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<b>Studenten deren Studiengänge (Prestudent <-> Student) nicht gleich sind</b>
|
||||
</td>
|
||||
</tr>';
|
||||
break;
|
||||
case 2:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Abrecher die noch aktiv sind</b></td></td>";
|
||||
break;
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'><b>Abrecher die noch aktiv sind</b></td>
|
||||
</tr>";
|
||||
break;
|
||||
case 3:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Studenten mit nicht identischen Organisationsformeinträgen (Studiengang <-> Prestudentstatus)</b></td></tr>";
|
||||
break;
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'>
|
||||
<b>Studenten mit nicht identischen Organisationsformeinträgen
|
||||
(Studiengang <-> Prestudentstatus)</b>
|
||||
</td>
|
||||
</tr>";
|
||||
break;
|
||||
case 4:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Abbrecher die wieder einen Status bekommen haben</b></td></td>";
|
||||
break;
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'><b>Abbrecher die wieder einen Status bekommen haben</b></td>
|
||||
</tr>";
|
||||
break;
|
||||
case 5:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Studenten deren Semester nicht mit dem Ausbildungssemester des aktuellen Status übereinstimmt</b></td></tr>";
|
||||
break;
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'>
|
||||
<b>Studenten deren Semester nicht mit dem Ausbildungssemester
|
||||
des aktuellen Status übereinstimmt</b>
|
||||
</td>
|
||||
</tr>";
|
||||
break;
|
||||
case 6:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Inaktive Studenten mit einem aktiven Status</b></td></tr>";
|
||||
break;
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'><b>Inaktive Studenten mit einem aktiven Status</b></td>
|
||||
</tr>";
|
||||
break;
|
||||
case 7:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Studenten deren Inskription im aktuellen Semester vor der letzten BIS-Meldung liegt</b></td></tr>";
|
||||
break;
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'>
|
||||
<b>Studenten deren Inskription im aktuellen Semester
|
||||
vor der letzten BIS-Meldung liegt</b>
|
||||
</td>
|
||||
</tr>";
|
||||
break;
|
||||
case 8:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Studenten die Datum und Studiensemestern in deren Stati in falscher Reihenfolge haben</b></td></tr>";
|
||||
break;
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'>
|
||||
<b>Studenten die Datum und Studiensemestern in deren Stati
|
||||
in falscher Reihenfolge haben</b>
|
||||
</td>
|
||||
</tr>";
|
||||
break;
|
||||
case 9:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Aktive Studenten die keinen Status im aktuellen oder nächsten Studiensemester haben</b></td></tr>";
|
||||
break;
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'>
|
||||
<b>Aktive Studenten die keinen Status im aktuellen
|
||||
oder nächsten Studiensemester haben</b>
|
||||
</td>
|
||||
</tr>";
|
||||
break;
|
||||
case 10:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Bewerberstati die keiner Organisationsform zugeordnet sind</b></td></tr>";
|
||||
break;
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'><b>Bewerberstati die keiner Organisationsform zugeordnet sind</b></td>
|
||||
</tr>";
|
||||
break;
|
||||
case 11:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Studierendenstati die keiner Organisationsform zugeordnet sind</b></td></tr>";
|
||||
break;
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'><b>Studierendenstati die keiner Organisationsform zugeordnet sind</b></td>
|
||||
</tr>";
|
||||
break;
|
||||
case 12:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Studienplan passt nicht zum Studiengang des Studierenden</b></td></tr>";
|
||||
break;
|
||||
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'><b>Studienplan passt nicht zum Studiengang des Studierenden</b></td>
|
||||
</tr>";
|
||||
break;
|
||||
case 13:
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'><b>Studienplan ist in diesem Semester nicht gültig</b></td>
|
||||
</tr>";
|
||||
break;
|
||||
default:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Ungültiger Code</b></td></tr>";
|
||||
break;
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Ungültiger Code</b></td></tr>";
|
||||
break;
|
||||
}
|
||||
|
||||
foreach ($uid as $student_id)
|
||||
{
|
||||
echo "<tr>";
|
||||
$student = new student();
|
||||
if($student->load($student_id))
|
||||
if ($student->load($student_id))
|
||||
echo '<td>'.$student->vorname.'</td><td>'.$student->nachname.'</td><td>'.$student->uid.'</td>';
|
||||
else
|
||||
echo '<td colspan="3">'.$student_id,'</td>';
|
||||
echo '<td colspan="3">'.$student_id.'</td>';
|
||||
echo "</tr>";
|
||||
}
|
||||
|
||||
}
|
||||
echo "</table>";
|
||||
}
|
||||
|
||||
//echo $text;
|
||||
|
||||
/*
|
||||
/**
|
||||
* Gibt das Datum der BIS Meldung des übergebenen Semesters zurück
|
||||
* @param string $semester Studiensemester_kurzbz.
|
||||
* @return Datum der BIS-Meldung des uebergebeben Semesters.
|
||||
*/
|
||||
function getDateForInscription ($semester)
|
||||
function getDateForInscription($semester)
|
||||
{
|
||||
global $datum;
|
||||
|
||||
$semesterYear = substr($semester,2,6);
|
||||
$semesterType = substr($semester,0,2);
|
||||
$semesterYear = substr($semester, 2, 6);
|
||||
$semesterType = substr($semester, 0, 2);
|
||||
|
||||
if($semesterType == 'SS')
|
||||
if ($semesterType == 'SS')
|
||||
{
|
||||
$date = "15.11.".($semesterYear-1);
|
||||
$date = "15.11.".($semesterYear - 1);
|
||||
$date = $datum->formatDatum($date, 'Y-m-d');
|
||||
return $date;
|
||||
}
|
||||
|
||||
if($semesterType == 'WS')
|
||||
if ($semesterType == 'WS')
|
||||
{
|
||||
$date = '15.04'.$semesterYear;
|
||||
$date = $datum->formatDatum($date, 'Y-m-d');
|
||||
return $date;
|
||||
}
|
||||
}
|
||||
?>
|
||||
echo '
|
||||
</body>
|
||||
</html>
|
||||
</html>';
|
||||
|
||||
@@ -151,6 +151,123 @@ if(!$result = @$db->db_query("SELECT final FROM lehre.tbl_projektarbeit LIMIT 1"
|
||||
echo '<br>lehre.tbl_projektarbeit: Spalte final hinzugefuegt';
|
||||
}
|
||||
|
||||
//Spalte insertamum tbl_pruefungsanmeldung zur Ausgabe des Anmeldedatums auf Anmeldelisten
|
||||
if(!$result = @$db->db_query("SELECT insertamum FROM campus.tbl_pruefungsanmeldung LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE campus.tbl_pruefungsanmeldung ADD COLUMN insertamum timestamp DEFAULT now();";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>campus.tbl_pruefungsanmeldung: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>campus.tbl_pruefungsanmeldung: Spalte insertamum hinzugefuegt';
|
||||
}
|
||||
|
||||
// Berechtigungs View liefert nur noch aktive Benutzer
|
||||
if($result = $db->db_query("SELECT view_definition FROM information_schema.views WHERE table_schema='system' AND table_name='vw_berechtigung_nichtrekursiv'"))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if(!mb_stristr($row->view_definition, 'tbl_benutzer.aktiv = true'))
|
||||
{
|
||||
$qry = "
|
||||
CREATE OR REPLACE VIEW system.vw_berechtigung_nichtrekursiv AS
|
||||
SELECT
|
||||
uid, berechtigung_kurzbz,
|
||||
-- art zusammenfassung und nur die nehmen die gleich sind
|
||||
CASE WHEN length(art)>length(art1) THEN art1 ELSE art END as art,
|
||||
oe_kurzbz, kostenstelle_id
|
||||
FROM
|
||||
(
|
||||
-- Normal
|
||||
SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
|
||||
|
||||
-- Rollen
|
||||
UNION
|
||||
SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_berechtigung.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_rolleberechtigung.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_rolle USING(rolle_kurzbz)
|
||||
JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
|
||||
JOIN system.tbl_berechtigung ON(tbl_rolleberechtigung.berechtigung_kurzbz=tbl_berechtigung.berechtigung_kurzbz)
|
||||
|
||||
-- Funktionen
|
||||
UNION
|
||||
SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerfunktion.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerfunktion.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN public.tbl_benutzerfunktion USING(funktion_kurzbz)
|
||||
WHERE
|
||||
(tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now())
|
||||
AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now())
|
||||
|
||||
-- Funktion Mitarbeiter
|
||||
UNION
|
||||
SELECT
|
||||
benutzerberechtigung_id, vw_mitarbeiter.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle, campus.vw_mitarbeiter
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Mitarbeiter' and vw_mitarbeiter.aktiv
|
||||
|
||||
|
||||
-- Funktion Student
|
||||
UNION
|
||||
SELECT
|
||||
benutzerberechtigung_id, vw_student.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle, campus.vw_student
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Student' and vw_student.aktiv
|
||||
) as a
|
||||
JOIN public.tbl_benutzer USING(uid)
|
||||
WHERE
|
||||
-- Datumsgrenzen beruecksichtigen
|
||||
tbl_benutzer.aktiv = true
|
||||
AND (a.start<=now() OR a.start is null)
|
||||
AND (a.ende>=now() OR a.ende is null)
|
||||
|
||||
-- Neagtiv Rechte entfernen
|
||||
AND not negativ
|
||||
AND NOT EXISTS(SELECT
|
||||
1
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz) WHERE uid=a.uid AND berechtigung_kurzbz=a.berechtigung_kurzbz AND negativ);
|
||||
|
||||
GRANT SELECT ON system.vw_berechtigung_nichtrekursiv TO web;
|
||||
GRANT SELECT ON system.vw_berechtigung_nichtrekursiv TO vilesci;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>system.vw_berechtigung_nichtrekursiv:'.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>system.vw_berechtigung_nichtrekursiv angepasst damit nur aktive Benutzer beruecksichtigt werden';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
|
||||
@@ -212,6 +212,58 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<style:style style:name="fr3" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="from-left" style:horizontal-rel="page-content" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
|
||||
</style:style>
|
||||
<text:list-style style:name="L1">
|
||||
<text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.4cm" fo:text-indent="-0.4cm" fo:margin-left="0.4cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.905cm" fo:text-indent="-0.635cm" fo:margin-left="1.905cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.54cm" fo:text-indent="-0.635cm" fo:margin-left="2.54cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.175cm" fo:text-indent="-0.635cm" fo:margin-left="3.175cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.81cm" fo:text-indent="-0.635cm" fo:margin-left="3.81cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.445cm" fo:text-indent="-0.635cm" fo:margin-left="4.445cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.08cm" fo:text-indent="-0.635cm" fo:margin-left="5.08cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.715cm" fo:text-indent="-0.635cm" fo:margin-left="5.715cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.35cm" fo:text-indent="-0.635cm" fo:margin-left="6.35cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.985cm" fo:text-indent="-0.635cm" fo:margin-left="6.985cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
</text:list-style>
|
||||
</office:automatic-styles>
|
||||
<office:body>
|
||||
<xsl:apply-templates select="zertifikat"/>
|
||||
@@ -300,11 +352,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:choose>
|
||||
<xsl:when test="sws=''">
|
||||
<xsl:when test="sws_lv=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="sws"/>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
@@ -341,16 +393,15 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P25"><text:tab/>angerechnet (ar), nicht beurteilt (nb), bestanden (b), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea)</text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P21"/>
|
||||
<text:p text:style-name="P22">Inhalte der Lehrveranstaltung:</text:p>
|
||||
<text:p text:style-name="P22">Nach erfolgreichem Abschluss sind die Studierenden in der Lage, ...</text:p>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22">
|
||||
|
||||
<xsl:call-template name="replace">
|
||||
<xsl:with-param name="string" select="lehrziele"/>
|
||||
</xsl:call-template>
|
||||
<text:list xml:id="list4694811147287548861" text:style-name="L1">
|
||||
<xsl:apply-templates select="lehrziele_arr"/>
|
||||
</text:list>
|
||||
|
||||
</text:p>
|
||||
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
@@ -400,20 +451,16 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:p>
|
||||
</office:text>
|
||||
</xsl:template>
|
||||
<xsl:template name="replace">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($string,'\n')">
|
||||
<xsl:value-of select="substring-before($string,'\n')"/>
|
||||
<text:line-break/>
|
||||
<xsl:call-template name="replace">
|
||||
<xsl:with-param name="string" select="substring-after($string,'\n')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$string"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:template match="lehrziele_arr">
|
||||
<xsl:apply-templates select="lehrziel"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="lehrziel">
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P21"><xsl:value-of select="."/></text:p>
|
||||
</text:list-item>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
|
||||
@@ -212,6 +212,59 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<style:style style:name="fr3" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="from-left" style:horizontal-rel="page-content" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
|
||||
</style:style>
|
||||
<text:list-style style:name="L1">
|
||||
<text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.4cm" fo:text-indent="-0.4cm" fo:margin-left="0.4cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.905cm" fo:text-indent="-0.635cm" fo:margin-left="1.905cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.54cm" fo:text-indent="-0.635cm" fo:margin-left="2.54cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.175cm" fo:text-indent="-0.635cm" fo:margin-left="3.175cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.81cm" fo:text-indent="-0.635cm" fo:margin-left="3.81cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.445cm" fo:text-indent="-0.635cm" fo:margin-left="4.445cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.08cm" fo:text-indent="-0.635cm" fo:margin-left="5.08cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.715cm" fo:text-indent="-0.635cm" fo:margin-left="5.715cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.35cm" fo:text-indent="-0.635cm" fo:margin-left="6.35cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.985cm" fo:text-indent="-0.635cm" fo:margin-left="6.985cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
</text:list-style>
|
||||
|
||||
</office:automatic-styles>
|
||||
<office:body>
|
||||
<xsl:apply-templates select="zertifikat"/>
|
||||
@@ -300,11 +353,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:choose>
|
||||
<xsl:when test="sws=''">
|
||||
<xsl:when test="sws_lv=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="sws"/>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
@@ -341,16 +394,15 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P25"><text:tab/>angerechnet (ar), nicht beurteilt (nb), bestanden (b), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea)</text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P21"/>
|
||||
<text:p text:style-name="P22">Inhalte der Lehrveranstaltung:</text:p>
|
||||
<text:p text:style-name="P22">Nach erfolgreichem Abschluss sind die Studierenden in der Lage, ...</text:p>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22">
|
||||
|
||||
<xsl:call-template name="replace">
|
||||
<xsl:with-param name="string" select="lehrziele"/>
|
||||
</xsl:call-template>
|
||||
<text:list xml:id="list4694811147287548861" text:style-name="L1">
|
||||
<xsl:apply-templates select="lehrziele_arr"/>
|
||||
</text:list>
|
||||
|
||||
</text:p>
|
||||
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
@@ -400,20 +452,16 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:p>
|
||||
</office:text>
|
||||
</xsl:template>
|
||||
<xsl:template name="replace">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($string,'\n')">
|
||||
<xsl:value-of select="substring-before($string,'\n')"/>
|
||||
<text:line-break/>
|
||||
<xsl:call-template name="replace">
|
||||
<xsl:with-param name="string" select="substring-after($string,'\n')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$string"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:template match="lehrziele_arr">
|
||||
<xsl:apply-templates select="lehrziel"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="lehrziel">
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P21"><xsl:value-of select="."/></text:p>
|
||||
</text:list-item>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
|
||||
@@ -0,0 +1,474 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
||||
>
|
||||
|
||||
<xsl:output method="xml" version="1.0" indent="yes"/>
|
||||
<xsl:template match="zertifikate">
|
||||
|
||||
<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2">
|
||||
<office:scripts/>
|
||||
<office:font-face-decls>
|
||||
<style:font-face style:name="Mangal2" svg:font-family="Mangal"/>
|
||||
<style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="roman"/>
|
||||
<style:font-face style:name="Liberation Serif" svg:font-family="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-adornments="Standard" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Sans1" svg:font-family="'Liberation Sans'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Mangal1" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Microsoft YaHei" svg:font-family="'Microsoft YaHei'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
</office:font-face-decls>
|
||||
<office:automatic-styles>
|
||||
<style:style style:name="Tabelle3" style:family="table">
|
||||
<style:table-properties style:width="16.401cm" fo:margin-top="0cm" fo:margin-bottom="0cm" table:align="margins" style:may-break-between-rows="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="5.001cm" style:rel-column-width="19981*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="3.9cm" style:rel-column-width="15583*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.C" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="7.5cm" style:rel-column-width="29971*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.A1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="bottom" fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="1pt dotted #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.B1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.C1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="1pt dotted #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.A2" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.B2" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.C2" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1" style:family="table">
|
||||
<style:table-properties style:width="16.401cm" fo:margin-top="0.199cm" fo:margin-bottom="0cm" table:align="margins"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="10.437cm" style:rel-column-width="41702*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.988cm" style:rel-column-width="7944*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.988cm" style:rel-column-width="7945*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.1" style:family="table-row">
|
||||
<style:table-row-properties style:min-row-height="0.75cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="0.05pt solid #000000" fo:border-bottom="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.C2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A7" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties>
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="4.498cm"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="2pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="1.75pt" style:font-size-complex="2pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="5pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="1.75pt" style:font-size-complex="2pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P8" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P9" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P10" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="left" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P11" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P12" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P13" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties fo:font-size="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P14" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="0013c612" officeooo:paragraph-rsid="0013c612" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P15" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:break-before="page"/>
|
||||
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P16" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="16pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="16pt" style:font-size-complex="16pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P17" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P18" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties>
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="4.498cm"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P19" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties>
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="4.498cm"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P20" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties>
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="1.499cm"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties fo:font-size="6pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="0024d69b" style:font-size-asian="6pt" style:font-size-complex="6pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P21" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P22" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P23" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P24" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="00317832" officeooo:paragraph-rsid="00317832" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P25" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="6pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="T1" style:family="text">
|
||||
<style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="T2" style:family="text">
|
||||
<style:text-properties officeooo:rsid="003032c4"/>
|
||||
</style:style>
|
||||
<style:style style:name="T3" style:family="text">
|
||||
<style:text-properties officeooo:rsid="00317832"/>
|
||||
</style:style>
|
||||
<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Frame">
|
||||
<style:graphic-properties style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="center" style:horizontal-rel="page-content" fo:padding="0cm" fo:border="none" style:shadow="none" draw:shadow-opacity="100%"/>
|
||||
</style:style>
|
||||
<style:style style:name="fr2" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="from-left" style:horizontal-rel="page-content" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
|
||||
</style:style>
|
||||
<style:style style:name="fr3" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="from-left" style:horizontal-rel="page-content" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
|
||||
</style:style>
|
||||
<text:list-style style:name="L1">
|
||||
<text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.4cm" fo:text-indent="-0.4cm" fo:margin-left="0.4cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.905cm" fo:text-indent="-0.635cm" fo:margin-left="1.905cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.54cm" fo:text-indent="-0.635cm" fo:margin-left="2.54cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.175cm" fo:text-indent="-0.635cm" fo:margin-left="3.175cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.81cm" fo:text-indent="-0.635cm" fo:margin-left="3.81cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.445cm" fo:text-indent="-0.635cm" fo:margin-left="4.445cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.08cm" fo:text-indent="-0.635cm" fo:margin-left="5.08cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.715cm" fo:text-indent="-0.635cm" fo:margin-left="5.715cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.35cm" fo:text-indent="-0.635cm" fo:margin-left="6.35cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
<text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
|
||||
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
|
||||
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.985cm" fo:text-indent="-0.635cm" fo:margin-left="6.985cm"/>
|
||||
</style:list-level-properties>
|
||||
</text:list-level-style-bullet>
|
||||
</text:list-style>
|
||||
</office:automatic-styles>
|
||||
<office:body>
|
||||
<xsl:apply-templates select="zertifikat"/>
|
||||
</office:body>
|
||||
</office:document-content>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="zertifikat">
|
||||
<office:text text:use-soft-page-breaks="true" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0">
|
||||
<text:sequence-decls>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
|
||||
</text:sequence-decls>
|
||||
<text:p text:style-name="P15">ZERTIFIKAT</text:p>
|
||||
<text:p text:style-name="P16">
|
||||
<text:span text:style-name="T1">Freifächer</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P2">Personenkennzeichen: <xsl:value-of select="matrikelnr" /></text:p>
|
||||
<text:p text:style-name="P2"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P7"/>
|
||||
<text:p text:style-name="P4">Vorname/Familienname:<text:tab/>
|
||||
<text:span text:style-name="T1"><xsl:value-of select="name"/></text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P7"/>
|
||||
<text:p text:style-name="P4">Geburtsdatum:<text:tab/><xsl:value-of select="gebdatum" /></text:p>
|
||||
<text:p text:style-name="P4"/>
|
||||
<text:p text:style-name="P19">
|
||||
<xsl:choose>
|
||||
<xsl:when test="geschlecht='m'">
|
||||
<xsl:text>Herr </xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="geschlecht='w'">
|
||||
<xsl:text>Frau </xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text>Herr/Frau </xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:value-of select="name"/> hat im <xsl:value-of select="studiensemester" /> das folgende Freifach an der FH Technikum Wien belegt:</text:p>
|
||||
<text:p text:style-name="P19"/>
|
||||
<table:table table:name="Tabelle1" table:style-name="Tabelle1">
|
||||
<table:table-column table:style-name="Tabelle1.A"/>
|
||||
<table:table-column table:style-name="Tabelle1.B"/>
|
||||
<table:table-column table:style-name="Tabelle1.D"/>
|
||||
<table:table-column table:style-name="Tabelle1.D"/>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P11">Lehrveranstaltung</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P12">SWS</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P12">ECTS</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D1" office:value-type="string">
|
||||
<text:p text:style-name="P12">Note</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle1.A7" office:value-type="string">
|
||||
<text:p text:style-name="P10"><xsl:value-of select="bezeichnung"/></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:choose>
|
||||
<xsl:when test="sws_lv=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:choose>
|
||||
<xsl:when test="ects=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="ects"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:choose>
|
||||
<xsl:when test="note=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="note"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p text:style-name="P6"/>
|
||||
<text:p text:style-name="P6"/>
|
||||
<text:p text:style-name="P25">Notenstufen:<text:tab/>Sehr gut (1), Gut (2), Befriedigend (3), Genügend (4), Nicht genügend (5), mit Erfolg teilgenommen (met), nicht teilgenommen (nt), teilgenommen(tg),</text:p>
|
||||
<text:p text:style-name="P25"><text:tab/>angerechnet (ar), nicht beurteilt (nb), bestanden (b), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea)</text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P21"/>
|
||||
<text:p text:style-name="P22">Nach erfolgreichem Abschluss sind die Studierenden in der Lage, ...</text:p>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22">
|
||||
|
||||
<!--<xsl:call-template name="replace">
|
||||
<xsl:with-param name="string" select="lehrziele"/>
|
||||
</xsl:call-template>-->
|
||||
</text:p>
|
||||
|
||||
<text:list xml:id="list4694811147287548861" text:style-name="L1">
|
||||
<xsl:apply-templates select="lehrziele_arr"/>
|
||||
</text:list>
|
||||
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22"/>
|
||||
<text:p text:style-name="P22">
|
||||
<draw:frame draw:style-name="fr1" draw:name="Rahmen1" text:anchor-type="char" draw:z-index="0">
|
||||
<draw:text-box fo:min-height="0.499cm" fo:min-width="2cm">
|
||||
<table:table table:name="Tabelle3" table:style-name="Tabelle3">
|
||||
<table:table-column table:style-name="Tabelle3.A"/>
|
||||
<table:table-column table:style-name="Tabelle3.B"/>
|
||||
<table:table-column table:style-name="Tabelle3.C"/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P17">
|
||||
<draw:frame xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" draw:style-name="fr3" draw:name="Bild1" text:anchor-type="char" svg:x="5.2cm" svg:width="3.51cm" svg:height="3.51cm" draw:z-index="1">
|
||||
<draw:image xlink:href="Pictures/10000201000002290000022939997AEC.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
|
||||
</draw:frame>
|
||||
<xsl:value-of select="ort_datum" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.B1" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.C1" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P17">Ort, Datum</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.B2" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.C2" office:value-type="string">
|
||||
<text:p text:style-name="P14"><xsl:value-of select="lvleiter" /></text:p>
|
||||
<text:p text:style-name="P23">LeiterIn Freifach</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
</draw:text-box>
|
||||
</draw:frame>
|
||||
</text:p>
|
||||
</office:text>
|
||||
</xsl:template>
|
||||
<xsl:template name="replace">
|
||||
<xsl:param name="string"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($string,'\n')">
|
||||
<xsl:value-of select="substring-before($string,'\n')"/>
|
||||
<text:line-break/>
|
||||
<xsl:call-template name="replace">
|
||||
<xsl:with-param name="string" select="substring-after($string,'\n')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$string"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="lehrziele_arr">
|
||||
<xsl:apply-templates select="lehrziel"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="lehrziel">
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P21"><xsl:value-of select="."/></text:p>
|
||||
</text:list-item>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -340,11 +340,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:choose>
|
||||
<xsl:when test="sws=''">
|
||||
<xsl:when test="sws_lv=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="sws"/>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
@@ -471,3 +471,4 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
|
||||
@@ -549,10 +549,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="sws=''">
|
||||
<xsl:if test="sws_lv=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="sws"/>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C2" office:value-type="string">
|
||||
@@ -649,7 +649,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B8" office:value-type="string">
|
||||
<text:p text:style-name="P13">
|
||||
<xsl:value-of select="sws"/>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C8" office:value-type="string">
|
||||
@@ -666,4 +666,4 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -0,0 +1,657 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
||||
>
|
||||
|
||||
<xsl:output method="xml" version="1.0" indent="yes"/>
|
||||
<xsl:template match="zeugnisse">
|
||||
|
||||
<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2">
|
||||
<office:scripts/>
|
||||
<office:font-face-decls>
|
||||
<style:font-face style:name="Mangal2" svg:font-family="Mangal"/>
|
||||
<style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="roman"/>
|
||||
<style:font-face style:name="Liberation Serif" svg:font-family="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-adornments="Standard" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Sans1" svg:font-family="'Liberation Sans'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Mangal1" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Microsoft YaHei" svg:font-family="'Microsoft YaHei'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
</office:font-face-decls>
|
||||
<office:automatic-styles>
|
||||
<style:style style:name="Tabelle1" style:family="table">
|
||||
<style:table-properties style:width="16.401cm" fo:margin-top="0.199cm" fo:margin-bottom="0cm" table:align="margins"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="10.437cm" style:rel-column-width="41702*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.988cm" style:rel-column-width="7944*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.988cm" style:rel-column-width="7945*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.1" style:family="table-row">
|
||||
<style:table-row-properties style:min-row-height="0.75cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="0.05pt solid #000000" fo:border-bottom="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.C2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A3" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B3" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.C3" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D3" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A4" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B4" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.C4" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D4" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A5" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B5" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.C5" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D5" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A6" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B6" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.C6" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D6" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A7" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B7" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.07cm" fo:padding-bottom="0.07cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.C7" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D7" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A8" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B8" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.C8" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D8" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2" style:family="table">
|
||||
<style:table-properties style:width="16.401cm" table:align="margins"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="10.437cm" style:rel-column-width="41702*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="5.964cm" style:rel-column-width="23833*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.1" style:family="table-row">
|
||||
<style:table-row-properties style:min-row-height="0.75cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.A1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding="0.097cm" fo:border="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.A2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.097cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.B2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.097cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3" style:family="table">
|
||||
<style:table-properties style:width="16.401cm" fo:margin-top="0cm" fo:margin-bottom="0cm" table:align="margins" style:may-break-between-rows="false"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="5.001cm" style:rel-column-width="19981*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="3.9cm" style:rel-column-width="15583*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.C" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="7.5cm" style:rel-column-width="29971*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.A1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="" fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="1pt dotted #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.B1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.C1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="1pt dotted #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.A2" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.B2" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.C2" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties>
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="4.498cm"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="16pt" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-size-complex="16pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="6pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="5.25pt" style:font-size-complex="6pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P8" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P9" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P10" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P11" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="0010009a" officeooo:paragraph-rsid="0010009a" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P12" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="0010009a" officeooo:paragraph-rsid="0010009a" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P13" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P14" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P15" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P16" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties fo:font-size="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P17" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="0013c612" officeooo:paragraph-rsid="0013c612" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P18" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:background-color="#999999">
|
||||
<style:background-image/>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties fo:font-size="9pt" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P19" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="0013c612" officeooo:paragraph-rsid="0010009a" style:font-size-asian="7.84999990463257pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P20" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P21" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P22" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties>
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="1.499cm"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties fo:font-size="6pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="0024d69b" style:font-size-asian="6pt" style:font-size-complex="6pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P23" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties>
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="1.499cm"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties fo:font-size="6pt" officeooo:rsid="0010009a" officeooo:paragraph-rsid="0010009a" style:font-size-asian="6pt" style:font-size-complex="6pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P24" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P25" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="16pt" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-size-complex="16pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P26" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="2pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="1.75pt" style:font-size-complex="2pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P27" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="5pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="1.75pt" style:font-size-complex="2pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P28" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" fo:color="#ffffff" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P29" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" fo:color="#ffffff" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Seitenumbruch" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:break-before="page"/>
|
||||
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="T1" style:family="text">
|
||||
<style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="T2" style:family="text">
|
||||
<style:text-properties officeooo:rsid="0024d69b"/>
|
||||
</style:style>
|
||||
<style:style style:name="T3" style:family="text">
|
||||
<style:text-properties officeooo:rsid="0027b377"/>
|
||||
</style:style>
|
||||
<style:style style:name="T4" style:family="text">
|
||||
<style:text-properties style:text-position="super 58%"/>
|
||||
</style:style>
|
||||
<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Frame">
|
||||
<style:graphic-properties style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="from-top" style:vertical-rel="page-content" style:horizontal-pos="center" style:horizontal-rel="page-content" fo:padding="0cm" fo:border="none" style:shadow="none" draw:shadow-opacity="100%"/>
|
||||
</style:style>
|
||||
<style:style style:name="fr2" style:family="graphic" style:parent-style-name="Frame">
|
||||
<style:graphic-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="left" style:horizontal-rel="paragraph" fo:padding="0cm" fo:border="none" style:shadow="none" draw:shadow-opacity="100%"/>
|
||||
</style:style>
|
||||
<style:style style:name="fr3" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="from-left" style:horizontal-rel="page-content" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
|
||||
</style:style>
|
||||
</office:automatic-styles>
|
||||
<office:body>
|
||||
<xsl:apply-templates select="zeugnis"/>
|
||||
</office:body>
|
||||
</office:document-content>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="zeugnis">
|
||||
<office:text text:use-soft-page-breaks="true" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0">
|
||||
<text:sequence-decls>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
|
||||
</text:sequence-decls>
|
||||
<!-- Wichtig für Mehrfachdruck (mehrere Studenten ausgewählt): Wenn ein Element (in diesem Fall Stempel und Unterschriftenblock) relativ zur SEITE ausgerichtet werden soll,
|
||||
muss für jedes Dokument (jeder neue Durchlauf der Schleife) ein draw:frame-Tag definiert werden. Diese müssen ALLE VOR den ersten text:p-Elementen stehen.
|
||||
Deshalb wirde erst die Schleife für die draw:frames aufgerufen, dann folg tder Inhalt -->
|
||||
<xsl:if test="position()=1">
|
||||
<xsl:for-each select="../zeugnis">
|
||||
<xsl:variable select="position()" name="number"/><!-- Variable number definieren, die nach jedem Dokument um eines erhöht wird (position) -->
|
||||
<draw:frame draw:style-name="fr1" draw:name="Rahmen{$number}" text:anchor-type="page" text:anchor-page-number="{$number}" svg:y="21.001cm" draw:z-index="0">
|
||||
<draw:text-box fo:min-height="0.499cm" fo:min-width="2cm">
|
||||
<table:table table:name="Tabelle3" table:style-name="Tabelle3">
|
||||
<table:table-column table:style-name="Tabelle3.A"/>
|
||||
<table:table-column table:style-name="Tabelle3.B"/>
|
||||
<table:table-column table:style-name="Tabelle3.C"/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P17">Vienna, <xsl:value-of select="ort_datum" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.B1" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.C1" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P17">Place, Date</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.B2" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.C2" office:value-type="string">
|
||||
<text:p text:style-name="P17"><xsl:value-of select="studiengangsleiter" /></text:p>
|
||||
<text:p text:style-name="P17">Director of Certificate Program</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
</draw:text-box>
|
||||
</draw:frame>
|
||||
<draw:frame xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" draw:style-name="fr3" draw:name="Bild{$number}" text:anchor-type="page" text:anchor-page-number="{$number}" svg:x="5.2cm" svg:width="3.51cm" svg:height="3.51cm" draw:z-index="1">
|
||||
<draw:image xlink:href="Pictures/10000201000002290000022939997AEC.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
|
||||
</draw:frame>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
<text:p text:style-name="Seitenumbruch">Transcript of Records</text:p>
|
||||
<text:p text:style-name="P6">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(semester_bezeichnung)=0">
|
||||
<xsl:value-of select="stsem"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="semester"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="semester=1">
|
||||
<xsl:text>st</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="semester=2">
|
||||
<xsl:text>nd</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="semester=3">
|
||||
<xsl:text>rd</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text>th</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:text> Semester (</xsl:text>
|
||||
<xsl:value-of select="stsem"/>
|
||||
<xsl:text>)</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
<text:p text:style-name="P5"/>
|
||||
<text:p text:style-name="P5">Certificate Program for Further Education subjected to § 9 FHStG</text:p>
|
||||
<text:p text:style-name="P6"><xsl:value-of select="studiengang_englisch"/></text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P2">Student ID: <xsl:value-of select="matrikelnr" /></text:p>
|
||||
<text:p text:style-name="P2">Program Code: <xsl:value-of select="studiengang_kz" /></text:p>
|
||||
<text:p text:style-name="P2"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P4">First Name/Last Name:<text:tab/>
|
||||
<text:span text:style-name="T1"><xsl:value-of select="name"/></text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P27"/>
|
||||
<text:p text:style-name="P4">Date of Birth:<text:tab/><xsl:value-of select="gebdatum" /></text:p>
|
||||
<table:table table:name="Tabelle1" table:style-name="Tabelle1">
|
||||
<table:table-column table:style-name="Tabelle1.A"/>
|
||||
<table:table-column table:style-name="Tabelle1.B" table:number-columns-repeated="2"/>
|
||||
<table:table-column table:style-name="Tabelle1.D"/>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P14">Course</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P15">SP/W<text:span text:style-name="T4">1</text:span></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P15">ECTS</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D1" office:value-type="string">
|
||||
<text:p text:style-name="P15">Grade<text:span text:style-name="T4">2</text:span></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<xsl:apply-templates select="unterrichtsfach"/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle1.A7" office:value-type="string">
|
||||
<text:p text:style-name="P10">Total</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B7" office:value-type="string">
|
||||
<text:p text:style-name="P13">-</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C7" office:value-type="string">
|
||||
<text:p text:style-name="P13"><xsl:value-of select="ects_gesamt"/></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D7" office:value-type="string">
|
||||
<text:p text:style-name="P9">-</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<xsl:apply-templates select="fussnote"/>
|
||||
</table:table>
|
||||
<text:p text:style-name="P26"/>
|
||||
<text:p text:style-name="P22">¹ 1 Semester period per week = 45 minutes</text:p>
|
||||
<text:p text:style-name="P22">² Grades:<text:tab/>excellent (1), very good (2), good (3), satisfactory (4), fail (5), not graded (nb), Credit based on previous experience/work (ar),</text:p>
|
||||
<text:p text:style-name="P22">
|
||||
<text:tab/>Participated with success (met), passed (b), successfully completed (ea), not successfully completed (nea), did not participate (nt), participated(tg)</text:p>
|
||||
<text:p text:style-name="P7"/>
|
||||
<xsl:if test="abschlusspruefung_typ">
|
||||
<table:table table:name="Tabelle2" table:style-name="Tabelle2">
|
||||
<table:table-column table:style-name="Tabelle2.A"/>
|
||||
<table:table-column table:style-name="Tabelle2.B"/>
|
||||
<table:table-row table:style-name="Tabelle2.1">
|
||||
<table:table-cell table:style-name="Tabelle2.A1" table:number-columns-spanned="2" office:value-type="string">
|
||||
<text:p text:style-name="P18">Final Examination</text:p>
|
||||
</table:table-cell>
|
||||
<table:covered-table-cell/>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle2.1">
|
||||
<table:table-cell table:style-name="Tabelle2.A2" office:value-type="string">
|
||||
<xsl:if test="abschlusspruefung_typ='Bachelor'" >
|
||||
<text:p text:style-name="P8">Bachelor's Examination on <xsl:value-of select="abschlusspruefung_datum" /></text:p>
|
||||
</xsl:if>
|
||||
<xsl:if test="abschlusspruefung_typ='Diplom'" >
|
||||
<text:p text:style-name="P8">Master's Examination on <xsl:value-of select="abschlusspruefung_datum" /></text:p>
|
||||
</xsl:if>
|
||||
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.B2" office:value-type="string">
|
||||
<text:p text:style-name="P8"><xsl:value-of select="abschlusspruefung_note_english" /></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p text:style-name="P26"/>
|
||||
<text:p text:style-name="P23">Grades:<text:tab/>Passed with distinction, Passed with merit, Passed</text:p>
|
||||
<text:p text:style-name="P19"/>
|
||||
</xsl:if>
|
||||
</office:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="unterrichtsfach">
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle1.A7" office:value-type="string">
|
||||
<xsl:choose>
|
||||
<xsl:when test="bisio_von">
|
||||
<text:p text:style-name="P12">International Semester Abroad: <xsl:value-of select="bisio_von"/>-<xsl:value-of select="bisio_bis"/>, at <xsl:value-of select="bisio_ort"/>, <xsl:value-of select="bisio_universitaet"/></text:p>
|
||||
<text:p text:style-name="P12">All credits earned during the International Semester Abroad (ISA) are fully credited for the
|
||||
<xsl:value-of select="../semester"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="../semester=1">
|
||||
<xsl:text>st</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="../semester=2">
|
||||
<xsl:text>nd</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="../semester=3">
|
||||
<xsl:text>rd</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text>th</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
semester at the UAS Technikum Wien. (see Transcript of Records)</text:p>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<text:p text:style-name="P10">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(bezeichnung_englisch)!=0">
|
||||
<xsl:value-of select="bezeichnung_englisch"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text>[ACHTUNG: Keine englische Bezeichung für "</xsl:text><xsl:value-of select="bezeichnung"/><xsl:text>" in der Datenbank!]</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="sws_lv=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="ects=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="ects"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="note=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="note"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
<xsl:template match="fussnote">
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<xsl:choose>
|
||||
<xsl:when test="themenbereich!=''">
|
||||
<text:p text:style-name="P10"><xsl:value-of select="fussnotenzeichen"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<text:span text:style-name="T1">
|
||||
<xsl:choose>
|
||||
<xsl:when test="themenbereich!=''">
|
||||
<xsl:text>Subject Area:</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text></xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:span>
|
||||
<xsl:text> </xsl:text><xsl:value-of select="themenbereich"/>
|
||||
</text:p>
|
||||
<text:p text:style-name="P10">
|
||||
<xsl:text> </xsl:text>
|
||||
<text:span text:style-name="T1">
|
||||
<xsl:choose>
|
||||
<xsl:when test="titel_kurzbz='Bachelor'">
|
||||
<xsl:text>Bachelor's Thesis:</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="titel_kurzbz='Diplom'">
|
||||
<xsl:text>Master's Thesis:</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text></xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:span>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(titel_en)!=0">
|
||||
<xsl:value-of select="titel_en"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="titel"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<text:p text:style-name="P10"><xsl:value-of select="fussnotenzeichen"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<text:span text:style-name="T1">
|
||||
<xsl:choose>
|
||||
<xsl:when test="titel_kurzbz='Bachelor'">
|
||||
<xsl:text>Bachelor's Thesis:</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="titel_kurzbz='Diplom'">
|
||||
<xsl:text>Master's Thesis:</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text></xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:span>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(titel_en)!=0">
|
||||
<xsl:value-of select="titel_en"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="titel"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B8" office:value-type="string">
|
||||
<text:p text:style-name="P13">
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C8" office:value-type="string">
|
||||
<text:p text:style-name="P13">
|
||||
<xsl:value-of select="ects"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D8" office:value-type="string">
|
||||
<text:p text:style-name="P13">
|
||||
<xsl:if test="../projektarbeit_note_anzeige='true'">
|
||||
<xsl:value-of select="note"/>
|
||||
</xsl:if>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
+72
-74
@@ -37,12 +37,12 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<style:table-row-properties style:min-row-height="0.75cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#afb8bc" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="0.05pt solid #000000" fo:border-bottom="0.05pt solid #000000">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="0.05pt solid #000000" fo:border-bottom="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#afb8bc" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border="0.05pt solid #000000">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
@@ -143,7 +143,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<style:table-row-properties style:min-row-height="0.75cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.A1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#afb8bc" fo:padding="0.097cm" fo:border="0.05pt solid #000000">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding="0.097cm" fo:border="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
@@ -248,7 +248,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="0013c612" officeooo:paragraph-rsid="0013c612" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P18" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:background-color="#afb8bc">
|
||||
<style:paragraph-properties fo:background-color="#999999">
|
||||
<style:background-image/>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties fo:font-size="9pt" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
@@ -290,6 +290,14 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<style:style style:name="P27" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="5pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="1.75pt" style:font-size-complex="2pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P28" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" fo:color="#ffffff" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P29" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" fo:color="#ffffff" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Seitenumbruch" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:break-before="page"/>
|
||||
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
|
||||
@@ -334,45 +342,45 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<xsl:for-each select="../zeugnis">
|
||||
<xsl:variable select="position()" name="number"/><!-- Variable number definieren, die nach jedem Dokument um eines erhöht wird (position) -->
|
||||
<draw:frame draw:style-name="fr1" draw:name="Rahmen{$number}" text:anchor-type="page" text:anchor-page-number="{$number}" svg:y="21.001cm" draw:z-index="0">
|
||||
<draw:text-box fo:min-height="0.499cm" fo:min-width="2cm">
|
||||
<table:table table:name="Tabelle3" table:style-name="Tabelle3">
|
||||
<table:table-column table:style-name="Tabelle3.A"/>
|
||||
<table:table-column table:style-name="Tabelle3.B"/>
|
||||
<table:table-column table:style-name="Tabelle3.C"/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P17">Wien, am <xsl:value-of select="ort_datum" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.B1" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.C1" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P17">Ort, Datum</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.B2" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.C2" office:value-type="string">
|
||||
<text:p text:style-name="P17"><xsl:value-of select="studiengangsleiter" /></text:p>
|
||||
<text:p text:style-name="P17">Studiengangsleitung</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
</draw:text-box>
|
||||
</draw:frame>
|
||||
<draw:frame xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" draw:style-name="fr3" draw:name="Bild{$number}" text:anchor-type="page" text:anchor-page-number="{$number}" svg:x="5.2cm" svg:width="3.51cm" svg:height="3.51cm" draw:z-index="1">
|
||||
<draw:image xlink:href="Pictures/10000201000002290000022939997AEC.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
|
||||
</draw:frame>
|
||||
<draw:text-box fo:min-height="0.499cm" fo:min-width="2cm">
|
||||
<table:table table:name="Tabelle3" table:style-name="Tabelle3">
|
||||
<table:table-column table:style-name="Tabelle3.A"/>
|
||||
<table:table-column table:style-name="Tabelle3.B"/>
|
||||
<table:table-column table:style-name="Tabelle3.C"/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P17">Wien, am <xsl:value-of select="ort_datum" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.B1" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.C1" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P17">Ort, Datum</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.B2" office:value-type="string">
|
||||
<text:p text:style-name="P16"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.C2" office:value-type="string">
|
||||
<text:p text:style-name="P17"><xsl:value-of select="studiengangsleiter" /></text:p>
|
||||
<text:p text:style-name="P17">Studiengangsleitung</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
</draw:text-box>
|
||||
</draw:frame>
|
||||
<draw:frame xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" draw:style-name="fr3" draw:name="Bild{$number}" text:anchor-type="page" text:anchor-page-number="{$number}" svg:x="5.2cm" svg:width="3.51cm" svg:height="3.51cm" draw:z-index="1">
|
||||
<draw:image xlink:href="Pictures/10000201000002290000022939997AEC.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
|
||||
</draw:frame>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
<text:p text:style-name="Seitenumbruch">ZEUGNIS</text:p>
|
||||
<text:p text:style-name="P6">
|
||||
<xsl:choose>
|
||||
<text:p text:style-name="Seitenumbruch">ZEUGNIS</text:p>
|
||||
<text:p text:style-name="P6">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(semester_bezeichnung)=0">
|
||||
<xsl:value-of select="stsem"/>
|
||||
</xsl:when>
|
||||
@@ -386,15 +394,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:p>
|
||||
<text:p text:style-name="P5"/>
|
||||
<text:p text:style-name="P5"><xsl:value-of select="studiengang_art"/>-Studiengang</text:p>
|
||||
<text:p text:style-name="P1">
|
||||
<draw:frame draw:style-name="fr2" draw:name="Rahmen2" text:anchor-type="paragraph" svg:width="7.999cm" draw:z-index="2">
|
||||
<draw:text-box fo:min-height="0.499cm">
|
||||
<text:p text:style-name="P6"><xsl:value-of select="studiengang"/></text:p>
|
||||
</draw:text-box>
|
||||
</draw:frame>
|
||||
</text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P6"><xsl:value-of select="studiengang"/></text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
@@ -403,8 +403,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P2"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P27"/>
|
||||
<text:p text:style-name="P4">Vorname/Familienname:<text:tab/>
|
||||
<text:span text:style-name="T1"><xsl:value-of select="name"/></text:span>
|
||||
</text:p>
|
||||
@@ -418,15 +416,15 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P14">Lehrveranstaltung</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P15">Note</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P15">SWS</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D1" office:value-type="string">
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P15">ECTS</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D1" office:value-type="string">
|
||||
<text:p text:style-name="P15">Note</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<xsl:apply-templates select="unterrichtsfach"/>
|
||||
<table:table-row>
|
||||
@@ -437,10 +435,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P13">-</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C7" office:value-type="string">
|
||||
<text:p text:style-name="P13">-</text:p>
|
||||
<text:p text:style-name="P13"><xsl:value-of select="ects_gesamt"/></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D7" office:value-type="string">
|
||||
<text:p text:style-name="P9"><xsl:value-of select="ects_gesamt"/></text:p>
|
||||
<text:p text:style-name="P9">-</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<xsl:apply-templates select="fussnote"/>
|
||||
@@ -496,21 +494,13 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="note=''">
|
||||
<xsl:if test="sws_lv=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="note"/>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="sws=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="sws"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="ects=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
@@ -518,6 +508,14 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<xsl:value-of select="ects"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="note=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="note"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
<xsl:template match="fussnote">
|
||||
@@ -544,21 +542,21 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B8" office:value-type="string">
|
||||
<text:p text:style-name="P13">
|
||||
<xsl:if test="../projektarbeit_note_anzeige='true'">
|
||||
<xsl:value-of select="note"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C8" office:value-type="string">
|
||||
<text:p text:style-name="P13">
|
||||
<xsl:value-of select="sws"/>
|
||||
<xsl:value-of select="ects"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D8" office:value-type="string">
|
||||
<text:p text:style-name="P13">
|
||||
<xsl:value-of select="ects"/>
|
||||
<xsl:if test="../projektarbeit_note_anzeige='true'">
|
||||
<xsl:value-of select="note"/>
|
||||
</xsl:if>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -37,12 +37,12 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<style:table-row-properties style:min-row-height="0.75cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#afb8bc" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="0.05pt solid #000000" fo:border-bottom="0.05pt solid #000000">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="0.05pt solid #000000" fo:border-bottom="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#afb8bc" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border="0.05pt solid #000000">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
@@ -143,7 +143,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<style:table-row-properties style:min-row-height="0.75cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.A1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#afb8bc" fo:padding="0.097cm" fo:border="0.05pt solid #000000">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding="0.097cm" fo:border="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
@@ -248,7 +248,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<style:text-properties fo:font-size="9pt" officeooo:rsid="0013c612" officeooo:paragraph-rsid="0013c612" style:font-size-complex="9pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P18" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:background-color="#afb8bc">
|
||||
<style:paragraph-properties fo:background-color="#999999">
|
||||
<style:background-image/>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties fo:font-size="9pt" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
@@ -290,6 +290,14 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<style:style style:name="P27" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties fo:font-size="5pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="1.75pt" style:font-size-complex="2pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P28" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" fo:color="#ffffff" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P29" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties fo:font-size="9pt" fo:color="#ffffff" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="Seitenumbruch" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:break-before="page"/>
|
||||
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
|
||||
@@ -386,15 +394,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:p>
|
||||
<text:p text:style-name="P5"/>
|
||||
<text:p text:style-name="P5">Lehrgang zur Weiterbildung nach §9 FHStG idgF</text:p>
|
||||
<text:p text:style-name="P1">
|
||||
<draw:frame draw:style-name="fr2" draw:name="Rahmen2" text:anchor-type="paragraph" svg:width="7.999cm" draw:z-index="2">
|
||||
<draw:text-box fo:min-height="0.499cm">
|
||||
<text:p text:style-name="P6"><xsl:value-of select="studiengang"/></text:p>
|
||||
</draw:text-box>
|
||||
</draw:frame>
|
||||
</text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P6"><xsl:value-of select="studiengang"/></text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
@@ -403,8 +403,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P2"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P27"/>
|
||||
<text:p text:style-name="P4">Vorname/Familienname:<text:tab/>
|
||||
<text:span text:style-name="T1"><xsl:value-of select="name"/></text:span>
|
||||
</text:p>
|
||||
@@ -418,15 +416,15 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P14">Lehrveranstaltung</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P15">Note</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P15">SWS</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D1" office:value-type="string">
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P15">ECTS</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D1" office:value-type="string">
|
||||
<text:p text:style-name="P15">Note</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<xsl:apply-templates select="unterrichtsfach"/>
|
||||
<table:table-row>
|
||||
@@ -437,10 +435,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P13">-</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C7" office:value-type="string">
|
||||
<text:p text:style-name="P13">-</text:p>
|
||||
<text:p text:style-name="P13"><xsl:value-of select="ects_gesamt"/></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D7" office:value-type="string">
|
||||
<text:p text:style-name="P9"><xsl:value-of select="ects_gesamt"/></text:p>
|
||||
<text:p text:style-name="P9">-</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<xsl:apply-templates select="fussnote"/>
|
||||
@@ -450,7 +448,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P22">
|
||||
<text:tab/>angerechnet (ar), nicht beurteilt (nb), bestanden (b), erfolgreich absolviert (ea), nicht erfolgreich absolviert (nea)</text:p>
|
||||
<text:p text:style-name="P7"/>
|
||||
<xsl:if test="abschlusspruefung_datum != ''">
|
||||
<xsl:if test="abschlusspruefung_typ">
|
||||
<table:table table:name="Tabelle2" table:style-name="Tabelle2">
|
||||
<table:table-column table:style-name="Tabelle2.A"/>
|
||||
<table:table-column table:style-name="Tabelle2.B"/>
|
||||
@@ -496,21 +494,13 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="note=''">
|
||||
<xsl:if test="sws_lv=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="note"/>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="sws=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="sws"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="ects=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
@@ -518,6 +508,14 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<xsl:value-of select="ects"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D2" office:value-type="string">
|
||||
<text:p text:style-name="P9">
|
||||
<xsl:if test="note=''">
|
||||
<xsl:text>-</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="note"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
<xsl:template match="fussnote">
|
||||
@@ -544,21 +542,21 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B8" office:value-type="string">
|
||||
<text:p text:style-name="P13">
|
||||
<xsl:if test="../projektarbeit_note_anzeige='true'">
|
||||
<xsl:value-of select="note"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.C8" office:value-type="string">
|
||||
<text:p text:style-name="P13">
|
||||
<xsl:value-of select="sws"/>
|
||||
<xsl:value-of select="ects"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.D8" office:value-type="string">
|
||||
<text:p text:style-name="P13">
|
||||
<xsl:value-of select="ects"/>
|
||||
<xsl:if test="../projektarbeit_note_anzeige='true'">
|
||||
<xsl:value-of select="note"/>
|
||||
</xsl:if>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -2885,7 +2885,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Table12.D5" office:value-type="string">
|
||||
<text:p text:style-name="P65">
|
||||
<xsl:value-of select="sws"/>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Table12.E5" office:value-type="string">
|
||||
@@ -2902,3 +2902,4 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
|
||||
@@ -2916,7 +2916,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Table12.D5" office:value-type="string">
|
||||
<text:p text:style-name="P65">
|
||||
<xsl:value-of select="sws"/>
|
||||
<xsl:value-of select="sws_lv"/>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Table12.E5" office:value-type="string">
|
||||
@@ -2933,3 +2933,4 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
|
||||
@@ -574,7 +574,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P25"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtstunden" /></text:p>
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtstunden_lv" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtects" /></text:p>
|
||||
@@ -633,7 +633,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P27"><xsl:value-of select="../semester" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P27"><xsl:value-of select="sws" /></text:p>
|
||||
<text:p text:style-name="P27"><xsl:value-of select="sws_lv" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P27"><xsl:value-of select="ects" /></text:p>
|
||||
@@ -646,4 +646,4 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -565,7 +565,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P25"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtstunden" /></text:p>
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtstunden_lv" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtects" /></text:p>
|
||||
@@ -624,7 +624,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P27"><xsl:value-of select="../semester" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P27"><xsl:value-of select="sws" /></text:p>
|
||||
<text:p text:style-name="P27"><xsl:value-of select="sws_lv" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P27"><xsl:value-of select="ects" /></text:p>
|
||||
@@ -637,4 +637,4 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -572,7 +572,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P25"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtstunden" /></text:p>
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtstunden_lv" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtects" /></text:p>
|
||||
@@ -623,7 +623,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P27"><xsl:value-of select="../semester" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P27"><xsl:value-of select="sws" /></text:p>
|
||||
<text:p text:style-name="P27"><xsl:value-of select="sws_lv" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P27"><xsl:value-of select="ects" /></text:p>
|
||||
@@ -636,4 +636,4 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -563,7 +563,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P25"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtstunden" /></text:p>
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtstunden_lv" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P23"><xsl:value-of select="gesamtects" /></text:p>
|
||||
@@ -614,7 +614,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P27"><xsl:value-of select="../semester" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P27"><xsl:value-of select="sws" /></text:p>
|
||||
<text:p text:style-name="P27"><xsl:value-of select="sws_lv" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
|
||||
<text:p text:style-name="P27"><xsl:value-of select="ects" /></text:p>
|
||||
@@ -627,4 +627,4 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mailinglisten</TITLE>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<LINK rel="stylesheet" href="../../../skin/vilesci.css" type="text/css">
|
||||
</HEAD>
|
||||
<BODY class="background_main">
|
||||
<H2>MailingListen </H2>
|
||||
<H3>Gruppen</H3>
|
||||
<UL>
|
||||
<!--<LI><A href="mlists_index.php" class="linkblue">Verwaltung</A></LI>-->
|
||||
<LI><A href="../../../admin/mlists_generate.php" class="linkblue">Generate Lists</A></LI>
|
||||
</UL>
|
||||
|
||||
<UL>
|
||||
<LI>Check UIDs </LI>
|
||||
</UL>
|
||||
</BODY>
|
||||
</HTML>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user