This commit is contained in:
kindlm
2017-09-21 20:30:24 +02:00
23 changed files with 2321 additions and 1945 deletions
+3 -1
View File
@@ -243,4 +243,6 @@ $config['fhc_acl'] = array
'PhrasesLib.getPhrase' => 'system/PhrasesLib'
);
$config['addons_aufnahme_url'] = 'http://debian.dev/build/addons/aufnahme/cis/index.php';
//
$config['addons_aufnahme_url'] = array();
$config['addons_aufnahme_url']['OE_ROOT'] = 'http://debian.dev/addons/aufnahme/OE_ROOT/cis/index.php';
+5 -5
View File
@@ -167,9 +167,9 @@ $config['auth_library_function'] = 'basicAuthentication';
| $config['auth_override_class_method']['accounts']['user'] = 'basic';
| $config['auth_override_class_method']['dashboard']['*'] = 'none|digest|basic';
|
| Here 'deals', 'accounts' and 'dashboard' are controller names, 'view', 'insert' and 'user' are methods within.
* An asterisk may also be used to specify an authentication method for an entire classes methods.
* Ex: $config['auth_override_class_method']['dashboard']['*'] = 'basic'; (NOTE: leave off the '_get' or '_post' from the end
| Here 'deals', 'accounts' and 'dashboard' are controller names, 'view', 'insert' and 'user' are methods within.
* An asterisk may also be used to specify an authentication method for an entire classes methods.
* Ex: $config['auth_override_class_method']['dashboard']['*'] = 'basic'; (NOTE: leave off the '_get' or '_post' from the end
* of the method name)
| Acceptable values are; 'none', 'digest' and 'basic'.
|
@@ -223,7 +223,7 @@ $config['auth_library_function'] = 'basicAuthentication';
| restrict certain methods to IPs in your whitelist
|
*/
$config['rest_ip_whitelist_enabled'] = FALSE;
$config['rest_ip_whitelist_enabled'] = TRUE;
/*
|--------------------------------------------------------------------------
@@ -238,7 +238,7 @@ $config['rest_ip_whitelist_enabled'] = FALSE;
| 127.0.0.1 and 0.0.0.0 are allowed by default
|
*/
$config['rest_ip_whitelist'] = '';
$config['rest_ip_whitelist'] = '127.0.0.1';
/*
|--------------------------------------------------------------------------
+42 -3
View File
@@ -25,13 +25,52 @@ class Redirect extends FHC_Controller
// Loads config file fhcomplete
$this->config->load('fhcomplete');
// Loads message helper
$this->load->helper('message');
// Loads model MessageTokenModel
$this->load->model('system/MessageToken_model', 'MessageTokenModel');
// Loads library OrganisationseinheitLib
$this->load->library('OrganisationseinheitLib');
}
/**
* redirectByToken
*
* - Loads the message using a token
* - Loads the root of the organisation unit tree using the oe_kurzbz present in the message
* - Redirect to the aufnahme related to the found organisation unit
*/
public function redirectByToken($token)
{
if (isset($token))
$msg = $this->MessageTokenModel->getMessageByToken($token);
if ($msg->error)
{
redirect($this->config->item('addons_aufnahme_url') . '?token=' . $token);
show_error($msg->retval);
}
$oe_kurzbz = $msg->retval[0]->oe_kurzbz;
if ($oe_kurzbz != null && $oe_kurzbz != '')
{
$rootOE = $this->organisationseinheitlib->getRoot($oe_kurzbz);
if ($rootOE->error)
{
show_error($rootOE->retval);
}
$addonAufnahmeUrls = $this->config->item('addons_aufnahme_url');
if (isset($token)
&& hasData($msg)
&& is_array($addonAufnahmeUrls)
&& hasData($rootOE)
&& isset($addonAufnahmeUrls[$rootOE->retval[0]->oe_kurzbz]))
{
redirect($addonAufnahmeUrls[$rootOE->retval[0]->oe_kurzbz] . '?token=' . $token);
}
}
}
}
}
@@ -11,28 +11,32 @@
* @filesource
*/
// ------------------------------------------------------------------------
if (!defined("BASEPATH")) exit("No direct script access allowed");
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Studiengang2 extends APIv1_Controller
{
/**
* Course API constructor.
*
*/
public function __construct()
{
parent::__construct();
// Load model PersonModel
$this->load->model("organisation/studiengang_model", "StudiengangModel");
$this->load->model('organisation/studiengang_model', 'StudiengangModel');
}
/**
* getStudiengang
*/
public function getStudiengang()
{
$studiengang_kz = $this->get("studiengang_kz");
$studiengang_kz = $this->get('studiengang_kz');
if (isset($studiengang_kz))
{
$result = $this->StudiengangModel->load($studiengang_kz);
$this->response($result, REST_Controller::HTTP_OK);
}
else
@@ -40,32 +44,35 @@ class Studiengang2 extends APIv1_Controller
$this->response();
}
}
/**
* getAllForBewerbung
*/
public function getAllForBewerbung()
{
$this->response($this->StudiengangModel->getAllForBewerbung(), REST_Controller::HTTP_OK);
}
/**
* Method getStudiengangStudienplan
* getStudiengangStudienplan
*/
public function getStudiengangStudienplan()
{
// Getting HTTP GET parameters
$studiensemester_kurzbz = $this->get("studiensemester_kurzbz");
$ausbildungssemester = $this->get("ausbildungssemester");
$aktiv = $this->get("aktiv");
$onlinebewerbung = $this->get("onlinebewerbung");
$studiensemester_kurzbz = $this->get('studiensemester_kurzbz');
$ausbildungssemester = $this->get('ausbildungssemester');
$aktiv = $this->get('aktiv');
$onlinebewerbung = $this->get('onlinebewerbung');
// If $studiensemester_kurzbz and $ausbildungssemester are present
if (isset($studiensemester_kurzbz) && isset($ausbildungssemester))
{
// Check & set
if (!isset($aktiv)) $aktiv = "TRUE";
if (!isset($onlinebewerbung)) $onlinebewerbung = "TRUE";
if (!isset($aktiv)) $aktiv = 'TRUE';
if (!isset($onlinebewerbung)) $onlinebewerbung = 'TRUE';
$result = $this->StudiengangModel->getStudienplan($studiensemester_kurzbz, $ausbildungssemester, $aktiv, $onlinebewerbung);
$this->response($result, REST_Controller::HTTP_OK);
}
else
@@ -73,33 +80,38 @@ class Studiengang2 extends APIv1_Controller
$this->response();
}
}
/**
* getStudiengangBewerbung
*/
public function getStudiengangBewerbung()
{
$result = $this->StudiengangModel->getStudiengangBewerbung();
$oe_kurzbz = $this->get('oe_kurzbz');
$result = $this->StudiengangModel->getStudiengangBewerbung($oe_kurzbz);
$this->response($result, REST_Controller::HTTP_OK);
}
/**
* @return void
* getAppliedStudiengang
*/
public function getAppliedStudiengang()
{
$person_id = $this->get('person_id');
$studiensemester_kurzbz = $this->get('studiensemester_kurzbz');
$titel = $this->get('titel');
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
);
$this->response($result, REST_Controller::HTTP_OK);
}
else
@@ -107,24 +119,24 @@ class Studiengang2 extends APIv1_Controller
$this->response();
}
}
/**
* @return void
* getAppliedStudiengangFromNow
*/
public function getAppliedStudiengangFromNow()
{
$person_id = $this->get('person_id');
$titel = $this->get('titel');
if (isset($person_id) && isset($titel))
{
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$result = $this->StudiengangModel->getAppliedStudiengangFromNow(
$person_id,
$titel
);
$this->response($result, REST_Controller::HTTP_OK);
}
else
@@ -132,4 +144,31 @@ class Studiengang2 extends APIv1_Controller
$this->response();
}
}
}
/**
* getAppliedStudiengangFromNowOE
*/
public function getAppliedStudiengangFromNowOE()
{
$person_id = $this->get('person_id');
$titel = $this->get('titel');
$oe_kurzbz = $this->get('oe_kurzbz');
if (isset($person_id) && isset($titel) && isset($oe_kurzbz))
{
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$result = $this->StudiengangModel->getAppliedStudiengangFromNowOE(
$person_id,
$titel,
$oe_kurzbz
);
$this->response($result, REST_Controller::HTTP_OK);
}
else
{
$this->response();
}
}
}
@@ -27,17 +27,18 @@ class Message extends APIv1_Controller
}
/**
* @return void
* getMessagesByPersonID
*/
public function getMessagesByPersonID()
{
$person_id = $this->get('person_id');
$oe_kurzbz = $this->get('oe_kurzbz'); // root organisation unit
$all = $this->get('all');
if (isset($person_id))
{
$result = $this->messagelib->getMessagesByPerson($person_id, $all);
$result = $this->messagelib->getMessagesByPerson($person_id, $oe_kurzbz, $all);
$this->response($result, REST_Controller::HTTP_OK);
}
else
@@ -45,19 +46,20 @@ class Message extends APIv1_Controller
$this->response();
}
}
/**
* @return void
* getMessagesByUID
*/
public function getMessagesByUID()
{
$uid = $this->get('uid');
$oe_kurzbz = $this->get('oe_kurzbz'); // root organisation unit
$all = $this->get('all');
if (isset($uid))
{
$result = $this->messagelib->getMessagesByUID($uid, $all);
$result = $this->messagelib->getMessagesByUID($uid, $oe_kurzbz, $all);
$this->response($result, REST_Controller::HTTP_OK);
}
else
@@ -65,18 +67,18 @@ class Message extends APIv1_Controller
$this->response();
}
}
/**
* @return void
* getMessagesByToken
*/
public function getMessagesByToken()
{
$token = $this->get('token');
if (isset($token))
{
$result = $this->messagelib->getMessageByToken($token);
$this->response($result, REST_Controller::HTTP_OK);
}
else
@@ -84,19 +86,20 @@ class Message extends APIv1_Controller
$this->response();
}
}
/**
* @return void
* getSentMessagesByPerson
*/
public function getSentMessagesByPerson()
{
$person_id = $this->get('person_id');
$oe_kurzbz = $this->get('oe_kurzbz'); // root organisation unit
$all = $this->get('all');
if (isset($person_id))
{
$result = $this->messagelib->getSentMessagesByPerson($person_id, $all);
$result = $this->messagelib->getSentMessagesByPerson($person_id, $oe_kurzbz, $all);
$this->response($result, REST_Controller::HTTP_OK);
}
else
@@ -104,18 +107,19 @@ class Message extends APIv1_Controller
$this->response();
}
}
/**
* @return void
* getCountUnreadMessages
*/
public function getCountUnreadMessages()
{
$person_id = $this->get('person_id');
$oe_kurzbz = $this->get('oe_kurzbz'); // root organisation unit
if (isset($person_id))
{
$result = $this->messagelib->getCountUnreadMessages($person_id);
$result = $this->messagelib->getCountUnreadMessages($person_id, $oe_kurzbz);
$this->response($result, REST_Controller::HTTP_OK);
}
else
@@ -123,14 +127,14 @@ class Message extends APIv1_Controller
$this->response();
}
}
/**
* @return void
* postMessage
*/
public function postMessage()
{
$validation = $this->_validatePostMessage($this->post());
if (isSuccess($validation))
{
$result = $this->messagelib->sendMessage(
@@ -140,10 +144,10 @@ class Message extends APIv1_Controller
$this->post()['body'],
PRIORITY_NORMAL,
isset($this->post()['relationmessage_id']) ? $this->post()['relationmessage_id'] : null,
isset($this->post()['oe_kurzbz']) ? $this->post()['oe_kurzbz'] : null,
isset($this->post()['oe_kurzbz']) ? $this->post()['oe_kurzbz'] : null, // Sender organisation unit
isset($this->post()['multiPartMime']) ? $this->post()['multiPartMime'] : true
);
$this->response($result, REST_Controller::HTTP_OK);
}
else
@@ -151,27 +155,27 @@ class Message extends APIv1_Controller
$this->response($validation, REST_Controller::HTTP_OK);
}
}
/**
* @return void
* postMessageVorlage
*/
public function postMessageVorlage()
{
$validation = $this->_validatePostMessageVorlage($this->post());
if (isSuccess($validation))
{
$result = $this->messagelib->sendMessageVorlage(
isset($this->post()['sender_id']) ? $this->post()['sender_id'] : null,
isset($this->post()['receiver_id']) ? $this->post()['receiver_id'] : null,
$this->post()['vorlage_kurzbz'],
isset($this->post()['oe_kurzbz']) ? $this->post()['oe_kurzbz'] : null,
isset($this->post()['oe_kurzbz']) ? $this->post()['oe_kurzbz'] : null, // Sender organisation unit
$this->post()['data'],
isset($this->post()['relationmessage_id']) ? $this->post()['relationmessage_id'] : null,
isset($this->post()['orgform_kurzbz']) ? $this->post()['orgform_kurzbz'] : null,
isset($this->post()['multiPartMime']) ? $this->post()['multiPartMime'] : true
);
$this->response($result, REST_Controller::HTTP_OK);
}
else
@@ -179,16 +183,16 @@ class Message extends APIv1_Controller
$this->response($validation, REST_Controller::HTTP_OK);
}
}
/**
* @return void
* postChangeStatus
*/
public function postChangeStatus()
{
$person_id = $this->post()['person_id'];
$message_id = $this->post()['message_id'];
$status = $this->post()['status'];
if (isset($person_id) && isset($message_id) && isset($status) &&
in_array($status, array(MSG_STATUS_UNREAD, MSG_STATUS_READ, MSG_STATUS_ARCHIVED, MSG_STATUS_DELETED)))
{
@@ -201,7 +205,10 @@ class Message extends APIv1_Controller
$this->response();
}
}
/**
* _validatePostMessage
*/
private function _validatePostMessage($message = null)
{
if (!isset($message))
@@ -220,10 +227,13 @@ class Message extends APIv1_Controller
{
return error('If a receiver_id is not given a oe_kurzbz must be specified');
}
return success('Input data are valid');
}
/**
* _validatePostMessageVorlage
*/
private function _validatePostMessageVorlage($message = null)
{
if (!isset($message))
@@ -242,7 +252,7 @@ class Message extends APIv1_Controller
{
return error('If a receiver_id is not given a oe_kurzbz must be specified');
}
return success('Input data are valid');
}
}
}
+61 -42
View File
@@ -2,29 +2,32 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
class Messages extends VileSci_Controller
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');
}
/**
*
* write
*/
public function write($sender_id, $msg_id = null, $receiver_id = null)
{
$prestudent_id = $this->input->post('prestudent_id');
$msg = null;
// Get message data if possible
if (is_numeric($msg_id) && is_numeric($receiver_id))
{
@@ -38,7 +41,7 @@ class Messages extends VileSci_Controller
$msg = $msg->retval[0];
}
}
// Get variables
$this->load->model('system/Message_model', 'MessageModel');
$msgVarsDataByPrestudentId = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudent_id);
@@ -46,7 +49,7 @@ class Messages extends VileSci_Controller
{
show_error($msgVarsDataByPrestudentId->retval);
}
if (!hasData($variables = $this->MessageModel->getMessageVars()))
{
unset($variables);
@@ -60,11 +63,11 @@ class Messages extends VileSci_Controller
$variablesArray['{'.str_replace(" ", "_", strtolower($variables->retval[$i])).'}'] = $variables->retval[$i];
}
}
array_shift($variables->retval); // Remove person_id
array_shift($variables->retval); // Remove prestudent_id
// Organisation units
// Organisation units used to get the templates
$oe_kurzbz = array(); // A person can have more organisation units
$this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel');
$benutzerResult = $this->BenutzerfunktionModel->getByPersonId($sender_id);
@@ -75,7 +78,7 @@ class Messages extends VileSci_Controller
$oe_kurzbz[] = $val->oe_kurzbz;
}
}
// Admin or commoner?
$this->load->model('system/Benutzerrolle_model', 'BenutzerrolleModel');
$isAdmin = $this->BenutzerrolleModel->isAdminByPersonId($sender_id);
@@ -83,38 +86,45 @@ class Messages extends VileSci_Controller
{
show_error($isAdmin->retval);
}
$data = array (
'sender_id' => $sender_id,
'receivers' => $msgVarsDataByPrestudentId->retval,
'message' => $msg,
'variables' => $variablesArray,
'oe_kurzbz' => $oe_kurzbz,
'oe_kurzbz' => $oe_kurzbz, // used to get the templates
'isAdmin' => $isAdmin->retval
);
$v = $this->load->view('system/messageWrite', $data);
}
/**
*
* send
*/
public function send($sender_id)
{
$error = false;
$subject = $this->input->post('subject');
$body = $this->input->post('body');
$prestudents = $this->input->post('prestudents');
$relationmessage_id = $this->input->post('relationmessage_id');
if (!isset($relationmessage_id) || $relationmessage_id == '')
{
$relationmessage_id = null;
}
//
$data = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudents);
if (hasData($data))
//
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
$prestudentsData = $this->PrestudentModel->getOrganisationunits($prestudents);
//
if (hasData($data) && hasData($prestudentsData))
{
for ($i = 0; $i < count($data->retval); $i++)
{
@@ -125,10 +135,19 @@ class Messages extends VileSci_Controller
$newKey = str_replace(" ", "_", strtolower($key));
$dataArray[$newKey] = $dataArray[$key];
}
$parsedText = $this->messagelib->parseMessageText($body, $dataArray);
$msg = $this->messagelib->sendMessage($sender_id, $dataArray['person_id'], $subject, $parsedText, PRIORITY_NORMAL, $relationmessage_id);
$oe_kurzbz = '';
for ($p = 0; $p < count($prestudentsData->retval); $p++)
{
if ($prestudentsData->retval[$p]->prestudent_id == $data->retval[$i]->prestudent_id)
{
$oe_kurzbz = $prestudentsData->retval[$p]->oe_kurzbz;
}
}
$msg = $this->messagelib->sendMessage($sender_id, $dataArray['person_id'], $subject, $parsedText, PRIORITY_NORMAL, $relationmessage_id, $oe_kurzbz);
if ($msg->error)
{
show_error($msg->retval);
@@ -137,20 +156,20 @@ class Messages extends VileSci_Controller
}
}
}
if (!$error)
{
echo "Messages sent successfully";
}
}
/**
*
* getPersonId
*/
private function getPersonId()
{
$person_id = null;
if ($this->input->get('person_id') !== null)
{
$person_id = $this->input->get('person_id');
@@ -159,45 +178,45 @@ class Messages extends VileSci_Controller
{
$person_id = $this->input->get('person_id');
}
if (!is_numeric($person_id))
{
show_error('Person_id is not numeric');
}
return $person_id;
}
/**
*
* getVorlage
*/
public function getVorlage()
{
$vorlage_kurzbz = $this->input->get('vorlage_kurzbz');
if (isset($vorlage_kurzbz))
{
$this->load->model('system/Vorlagestudiengang_model', 'VorlagestudiengangModel');
$result = $this->VorlagestudiengangModel->loadWhere(array('vorlage_kurzbz' => $vorlage_kurzbz));
$this->output
->set_content_type('application/json')
->set_output(json_encode($result));
}
}
/**
*
* parseMessageText
*/
public function parseMessageText()
{
$prestudent_id = $this->input->get('prestudent_id');
$text = $this->input->get('text');
if (isset($prestudent_id))
{
$data = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudent_id);
$parsedText = "";
if (hasData($data))
{
@@ -207,13 +226,13 @@ class Messages extends VileSci_Controller
$newKey = str_replace(" ", "_", strtolower($key));
$dataArray[$newKey] = $dataArray[$key];
}
$parsedText = $this->messagelib->parseMessageText($text, $dataArray);
}
$this->output
->set_content_type('application/json')
->set_output(json_encode($parsedText));
}
}
}
}
+8 -8
View File
@@ -62,12 +62,12 @@ class MessageLib
/**
* getMessagesByUID() - will return all messages, including the latest status for specified user. It don´t returns Attachments.
*/
public function getMessagesByUID($uid, $all = false)
public function getMessagesByUID($uid, $oe_kurzbz = null, $all = false)
{
if (empty($uid))
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
$msg = $this->ci->RecipientModel->getMessagesByUID($uid, $all);
$msg = $this->ci->RecipientModel->getMessagesByUID($uid, $oe_kurzbz, $all);
return $msg;
}
@@ -75,12 +75,12 @@ class MessageLib
/**
* getMessagesByPerson() - will return all messages, including the latest status for specified user. It don´t returns Attachments.
*/
public function getMessagesByPerson($person_id, $all = false)
public function getMessagesByPerson($person_id, $oe_kurzbz = null, $all = false)
{
if (empty($person_id))
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
$msg = $this->ci->RecipientModel->getMessagesByPerson($person_id, $all);
$msg = $this->ci->RecipientModel->getMessagesByPerson($person_id, $oe_kurzbz, $all);
return $msg;
}
@@ -88,12 +88,12 @@ class MessageLib
/**
* getSentMessagesByPerson() - Get all sent messages from a person identified by person_id
*/
public function getSentMessagesByPerson($person_id, $all = false)
public function getSentMessagesByPerson($person_id, $oe_kurzbz = null, $all = false)
{
if (empty($person_id))
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
$msg = $this->ci->MessageModel->getMessagesByPerson($person_id, $all);
$msg = $this->ci->MessageModel->getMessagesByPerson($person_id, $oe_kurzbz, $all);
return $msg;
}
@@ -144,12 +144,12 @@ class MessageLib
/**
* getCountUnreadMessages
*/
public function getCountUnreadMessages($person_id)
public function getCountUnreadMessages($person_id, $oe_kurzbz = null)
{
if (!is_numeric($person_id))
return $this->_error('', MSG_ERR_INVALID_RECIPIENTS);
$msg = $this->ci->RecipientModel->getCountUnreadMessages($person_id);
$msg = $this->ci->RecipientModel->getCountUnreadMessages($person_id, $oe_kurzbz);
return $msg;
}
@@ -10,14 +10,14 @@ class OrganisationseinheitLib
public function __construct()
{
$this->ci =& get_instance();
// Loads model Organisationseinheit_model
$this->ci->load->model('organisation/Organisationseinheit_model', 'OrganisationseinheitModel');
// Loads helper message to manage returning messages
$this->ci->load->helper('Message');
}
/**
* treeSearch
*
@@ -54,7 +54,7 @@ class OrganisationseinheitLib
}
$result = $this->ci->OrganisationseinheitModel->getOneLevel($schema, $table, $select, $where, $orderby, $oe_kurzbz);
if (hasData($result))
{
if ($result->retval[0]->_ppk != null && $result->retval[0]->oe_kurzbz == null)
@@ -62,12 +62,14 @@ class OrganisationseinheitLib
return $this->treeSearch($schema, $table, $select, $where, $orderby, $result->retval[0]->_ppk);
}
}
return $result;
}
/**
* treeSearchEntire
*
* Like tree search, but it returns all the results found while travelling through the tree structure
*/
public function treeSearchEntire($table, $alias, $fields, $where, $orderby, $oe_kurzbz)
{
@@ -89,13 +91,13 @@ class OrganisationseinheitLib
}
$result = $this->ci->OrganisationseinheitModel->getOneLevelAlias($table, $alias, $select, $where, $orderby, $oe_kurzbz);
if (hasData($result))
{
if ($result->retval[0]->_pk != null && $result->retval[0]->_ppk != null && $result->retval[0]->_jtpk != null)
{
$tmpResult = $this->treeSearchEntire($table, $alias, $select, $where, $orderby, $result->retval[0]->_ppk);
if (hasData($tmpResult)
&& $tmpResult->retval[0]->_pk != null
&& $tmpResult->retval[0]->_ppk != null
@@ -109,7 +111,25 @@ class OrganisationseinheitLib
$result = $this->treeSearchEntire($table, $alias, $select, $where, $orderby, $result->retval[0]->_ppk);
}
}
return $result;
}
/**
* getRoot - Get the root of the organisation unit tree which belongs the given organisation unit parameter
*/
public function getRoot($oe_kurzbz)
{
$result = $this->ci->OrganisationseinheitModel->load($oe_kurzbz);
if (hasData($result))
{
if ($result->retval[0]->oe_parent_kurzbz != null)
{
$result = $this->getRoot($result->retval[0]->oe_parent_kurzbz);
}
}
return $result;
}
}
+7 -3
View File
@@ -210,7 +210,7 @@ class UDFLib
{
// Get udf values from $data & clean udf values from $data
// NOTE: Must be performed here because the load method populates the property UDFs too
$this->_popUDFParameters($data);
$udfsParameters = $this->_popUDFParameters($data);
$requiredUDFsArray = array(); // contains a list of required UDFs
// Contains the UDFs values to be stored
@@ -228,7 +228,7 @@ class UDFLib
$decodedUDFDefinition = $decodedUDFDefinitions[$i]; // Definition of a single UDF
// Loops through the UDFs values that should be stored
foreach ($this->UDFs as $key => $val)
foreach ($udfsParameters as $key => $val)
{
$tmpValidate = success(true); // temporary variable used to store the returned value from _validateUDFs
@@ -378,14 +378,18 @@ class UDFLib
*/
private function _popUDFParameters(&$data)
{
$udfsParameters = array();
foreach ($data as $key => $val)
{
if (substr($key, 0, 4) == UDFLib::COLUMN_PREFIX)
{
$this->UDFs[$key] = $val; // stores UDF value into property UDFs
$udfsParameters[$key] = $val; // stores UDF value into property UDFs
unset($data[$key]); // remove from data
}
}
return $udfsParameters;
}
/**
+14 -1
View File
@@ -88,7 +88,7 @@ class Prestudent_model extends DB_Model
)
{
if (isError($ent = $this->isEntitled($this->dbTable, PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR))) return $ent;
$this->addSelect(
'p.person_id,
prestudent_id,
@@ -179,4 +179,17 @@ class Prestudent_model extends DB_Model
return $this->loadWhere($parametersArray);
}
/**
* getOrganisationunits
*/
public function getOrganisationunits($prestudent_id)
{
$query = 'SELECT p.prestudent_id, s.oe_kurzbz
FROM public.tbl_prestudent p
INNER JOIN public.tbl_studiengang s USING(studiengang_kz)
WHERE prestudent_id %s ?';
return $this->execQuery(sprintf($query, is_array($prestudent_id) ? 'IN' : '='), array($prestudent_id));
}
}
@@ -1,4 +1,5 @@
<?php
class Organisationseinheit_model extends DB_Model
{
/**
@@ -11,6 +12,9 @@ class Organisationseinheit_model extends DB_Model
$this->pk = 'oe_kurzbz';
}
/**
* getRecursiveList
*/
public function getRecursiveList($typ = null)
{
$qry = "WITH RECURSIVE tree (oe_kurzbz, bezeichnung, path, organisationseinheittyp_kurzbz) AS (
@@ -31,17 +35,17 @@ class Organisationseinheit_model extends DB_Model
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);
}
@@ -78,12 +82,15 @@ class Organisationseinheit_model extends DB_Model
) _joined_table ON (orgs._pk = _joined_table._pk)
WHERE orgs._pk = ?
ORDER BY %s";
$query = sprintf($query, $table, $fields, $schema, $table, $where, $orderby);
return $this->execQuery($query, array($oe_kurzbz));
}
/**
* getOneLevelAlias
*/
public function getOneLevelAlias($table, $alias, $fields, $where, $orderby, $oe_kurzbz)
{
$query = "WITH RECURSIVE organizations(_pk, _ppk) AS
@@ -103,9 +110,9 @@ class Organisationseinheit_model extends DB_Model
) _joined_table ON (orgs._pk = _joined_table._jtpk)
WHERE orgs._pk = ?
ORDER BY %s";
$query = sprintf($query, $alias, $fields, $table, $where, $orderby);
return $this->execQuery($query, array($oe_kurzbz));
}
}
}
@@ -104,7 +104,7 @@ class Studiengang_model extends DB_Model
public function getStudienplan($studiensemester_kurzbz, $ausbildungssemester, $aktiv, $onlinebewerbung)
{
if (isError($ent = $this->isEntitled($this->dbTable, PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR))) return $ent;
// Join table public.tbl_studiengang with table lehre.tbl_studienordnung on column studiengang_kz
$this->addJoin('lehre.tbl_studienordnung', 'studiengang_kz');
// Then join with table lehre.tbl_studienplan on column studienordnung_id
@@ -138,10 +138,10 @@ class Studiengang_model extends DB_Model
/**
* getStudiengangBewerbung
*/
public function getStudiengangBewerbung()
public function getStudiengangBewerbung($oe_kurzbz = null)
{
if (isError($ent = $this->isEntitled($this->dbTable, PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR))) return $ent;
// Join table public.tbl_studiengang with table lehre.tbl_studienordnung on column studiengang_kz
$this->addJoin('lehre.tbl_studienordnung', 'studiengang_kz');
// Join table lehre.tbl_studienordnung with table lehre.tbl_akadgrad on column akadgrad_id
@@ -161,21 +161,45 @@ class Studiengang_model extends DB_Model
$this->addOrder('public.tbl_studiengang.bezeichnung');
$this->addOrder('lehre.tbl_studienplan.studienplan_id');
$where = 'public.tbl_studiengang.aktiv = TRUE
AND public.tbl_studiengang.onlinebewerbung = TRUE
AND (
(tbl_bewerbungstermine.beginn <= NOW() AND tbl_bewerbungstermine.ende >= NOW())
OR tbl_bewerbungstermine.beginn IS NULL
)
AND ss.studiensemester_kurzbz IN (
SELECT DISTINCT studiensemester_kurzbz
FROM public.tbl_bewerbungstermine
WHERE beginn <= NOW() AND ende >= NOW()
)
AND ss.semester = 1
AND lehre.tbl_studienplan.aktiv = TRUE';
if ($oe_kurzbz != null)
{
$where .= ' AND public.tbl_studiengang.oe_kurzbz IN (
WITH RECURSIVE organizations(_pk, _ppk) AS
(
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL
AND o.oe_kurzbz = '.$this->escape($oe_kurzbz).'
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
)
SELECT orgs._pk
FROM organizations orgs
)';
}
$result = $this->loadTree(
'public.tbl_studiengang',
array(
'lehre.tbl_studienplan',
'lehre.tbl_akadgrad'
),
'public.tbl_studiengang.aktiv = TRUE
AND public.tbl_studiengang.onlinebewerbung = TRUE
AND ((tbl_bewerbungstermine.beginn <= NOW() AND tbl_bewerbungstermine.ende >= NOW()) OR tbl_bewerbungstermine.beginn IS NULL)
AND ss.studiensemester_kurzbz IN (
SELECT DISTINCT studiensemester_kurzbz FROM public.tbl_bewerbungstermine WHERE beginn <= NOW() AND ende >= NOW()
)
AND ss.semester = 1
AND lehre.tbl_studienplan.aktiv = TRUE'
,
$where,
array(
'studienplaene',
'akadgrad'
@@ -191,7 +215,7 @@ class Studiengang_model extends DB_Model
public function getAppliedStudiengang($person_id, $studiensemester_kurzbz, $titel)
{
if (isError($ent = $this->isEntitled($this->dbTable, PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR))) return $ent;
// Then join with table public.tbl_prestudent
$this->addJoin('public.tbl_prestudent', 'studiengang_kz');
// Join table public.tbl_prestudentstatus
@@ -233,14 +257,14 @@ class Studiengang_model extends DB_Model
return $result;
}
/**
* getAppliedStudiengangFromNow
*/
public function getAppliedStudiengangFromNow($person_id, $titel)
{
if (isError($ent = $this->isEntitled($this->dbTable, PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR))) return $ent;
// Then join with table public.tbl_prestudent
$this->addJoin('public.tbl_prestudent', 'studiengang_kz');
// Join table public.tbl_prestudentstatus
@@ -257,10 +281,10 @@ class Studiengang_model extends DB_Model
'prestudent_id',
'LEFT'
);
// Ordering by studiengang_kz and studienplan_id
$this->addOrder('public.tbl_studiengang.bezeichnung');
$result = $this->loadTree(
'public.tbl_studiengang',
array(
@@ -283,7 +307,74 @@ class Studiengang_model extends DB_Model
'notizen'
)
);
return $result;
}
/**
* getAppliedStudiengangFromNowOE
*/
public function getAppliedStudiengangFromNowOE($person_id, $titel, $oe_kurzbz)
{
if (isError($ent = $this->isEntitled($this->dbTable, PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR))) return $ent;
// Then join with table public.tbl_prestudent
$this->addJoin('public.tbl_prestudent', 'studiengang_kz');
// Join table public.tbl_prestudentstatus
$this->addJoin('public.tbl_prestudentstatus', 'prestudent_id');
// Then join with table lehre.tbl_studienplan
$this->addJoin('lehre.tbl_studienplan', 'studienplan_id');
// Then join with table public.tbl_notizzuordnung + public.tbl_notiz
$this->addJoin(
'(
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'
);
// Ordering by studiengang_kz and studienplan_id
$this->addOrder('public.tbl_studiengang.bezeichnung');
$result = $this->loadTree(
'public.tbl_studiengang',
array(
'public.tbl_prestudent',
'public.tbl_prestudentstatus',
'lehre.tbl_studienplan',
'public.tbl_notiz'
),
'public.tbl_prestudent.person_id = '.$this->escape($person_id).
' AND public.tbl_prestudentstatus.studiensemester_kurzbz IN (
SELECT studiensemester_kurzbz
FROM public.tbl_studiensemester
WHERE ende >= NOW()
)
AND (public.tbl_prestudentstatus.status_kurzbz = \'Interessent\')
AND public.tbl_studiengang.oe_kurzbz IN (
WITH RECURSIVE organizations(_pk, _ppk) AS
(
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL
AND o.oe_kurzbz = '.$this->escape($oe_kurzbz).'
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
)
SELECT orgs._pk
FROM organizations orgs
)',
array(
'prestudenten',
'prestudentstatus',
'studienplaene',
'notizen'
)
);
return $result;
}
+30 -11
View File
@@ -1,4 +1,4 @@
<?php
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
@@ -13,11 +13,11 @@ class Message_model extends DB_Model
$this->dbTable = 'public.tbl_msg_message';
$this->pk = 'message_id';
}
/**
* Get all sent messages from a person identified by person_id
*/
public function getMessagesByPerson($person_id, $all)
public function getMessagesByPerson($person_id, $oe_kurzbz, $all)
{
// Checks if the operation is permitted by the API caller
if (isError($ent = $this->isEntitled('public.tbl_person', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)))
@@ -26,7 +26,7 @@ class Message_model extends DB_Model
return $ent;
if (isError($ent = $this->isEntitled('public.tbl_msg_message', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)))
return $ent;
$sql = 'SELECT m.message_id,
m.person_id,
m.subject,
@@ -52,9 +52,9 @@ class Message_model extends DB_Model
ORDER BY insertamum DESC
) s ON (m.message_id = s.message_id AND m.person_id = s.person_id)
WHERE m.person_id = ?';
$parametersArray = array($person_id);
if ($all == 'true')
{
$sql = sprintf($sql, '');
@@ -63,17 +63,36 @@ class Message_model extends DB_Model
{
$sql = sprintf($sql, 'WHERE status >= 3');
}
if ($oe_kurzbz != null)
{
array_push($parametersArray, $oe_kurzbz);
$sql .= ' AND m.oe_kurzbz IN (
WITH RECURSIVE organizations(_pk, _ppk) AS
(
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL
AND o.oe_kurzbz = ?
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
)
SELECT orgs._pk
FROM organizations orgs
)';
}
return $this->execQuery($sql, $parametersArray);
}
/**
* getMessageVars
*/
public function getMessageVars()
{
$result = $this->db->query('SELECT * FROM public.vw_msg_vars WHERE 0 = 1');
if ($result)
{
return success($result->list_fields());
@@ -83,14 +102,14 @@ class Message_model extends DB_Model
return error($this->db->error(), FHC_DB_ERROR);
}
}
/**
* getMsgVarsDataByPrestudentId
*/
public function getMsgVarsDataByPrestudentId($prestudent_id)
{
$query = 'SELECT * FROM public.vw_msg_vars WHERE prestudent_id %s ?';
return $this->execQuery(sprintf($query, is_array($prestudent_id) ? 'IN' : '='), array($prestudent_id));
}
}
+80 -16
View File
@@ -87,7 +87,7 @@ class Recipient_model extends DB_Model
/**
* Get all received messages for a person identified by person_id
*/
public function getMessagesByPerson($person_id, $all)
public function getMessagesByPerson($person_id, $oe_kurzbz, $all)
{
// Checks if the operation is permitted by the API caller
if (isError($ent = $this->isEntitled('public.tbl_msg_recipient', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)))
@@ -124,8 +124,7 @@ class Recipient_model extends DB_Model
%s
ORDER BY insertamum DESC
) s ON (m.message_id = s.message_id AND r.person_id = s.person_id)
WHERE r.person_id = ?
ORDER BY r.message_id DESC, s.status DESC';
WHERE r.person_id = ?';
$parametersArray = array($person_id);
@@ -139,16 +138,37 @@ class Recipient_model extends DB_Model
$sql = sprintf($sql, 'WHERE person_id = ? AND message_id NOT IN (SELECT message_id FROM public.tbl_msg_status WHERE status >= 3 AND person_id = ?)');
}
if ($oe_kurzbz != null)
{
array_push($parametersArray, $oe_kurzbz);
$sql .= ' AND m.oe_kurzbz IN (
WITH RECURSIVE organizations(_pk, _ppk) AS
(
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL
AND o.oe_kurzbz = ?
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
)
SELECT orgs._pk
FROM organizations orgs
)';
}
$sql .= ' ORDER BY r.message_id DESC, s.status DESC';
return $this->execQuery($sql, $parametersArray);
}
/**
* Get all received messages for a person identified by uid
*/
public function getMessagesByUID($uid, $all)
public function getMessagesByUID($uid, $oe_kurzbz, $all)
{
// Checks if the operation is permitted by the API caller
// @ToDo: Define the special right for reading own messages 'basis/message:own'
// TODO: Define the special right for reading own messages 'basis/message:own'
// if same user
if ($uid === getAuthUID())
{
@@ -163,15 +183,14 @@ class Recipient_model extends DB_Model
}
// get Data
$sql = 'SELECT b.uid,
$sql = 'SELECT DISTINCT ON (r.message_id) r.message_id,
m.person_id,
m.message_id,
m.subject,
m.body,
m.priority,
m.insertamum,
m.relationmessage_id,
m.oe_kurzbz,
m.insertamum,
p.anrede,
p.titelpost,
p.titelpre,
@@ -185,14 +204,39 @@ class Recipient_model extends DB_Model
JOIN public.tbl_person p ON (r.person_id = p.person_id)
JOIN public.tbl_benutzer b ON (r.person_id = b.person_id)
JOIN (
SELECT * FROM public.tbl_msg_status ORDER BY insertamum DESC LIMIT 1
) s ON (r.message_id = s.message_id AND r.person_id = s.person_id)
SELECT message_id, person_id, status, statusinfo, insertamum
FROM public.tbl_msg_status
ORDER BY insertamum DESC
) s ON (m.message_id = s.message_id AND r.person_id = s.person_id)
WHERE b.uid = ?';
if (! $all)
$sql .= ' AND (status < 3 OR status IS NULL)';
$parametersArray = array($uid);
return $this->execQuery($sql, array($uid));
if ($all == 'true')
{
$sql .= ' AND (status < 3 OR status IS NULL)';
}
if ($oe_kurzbz != null)
{
array_push($parametersArray, $oe_kurzbz);
$sql .= ' AND m.oe_kurzbz IN (
WITH RECURSIVE organizations(_pk, _ppk) AS
(
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL
AND o.oe_kurzbz = ?
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
)
SELECT orgs._pk
FROM organizations orgs
)';
}
return $this->execQuery($sql, $parametersArray);
}
/**
@@ -270,7 +314,7 @@ class Recipient_model extends DB_Model
/**
* Get all unread messages for a person identified by person_id
*/
public function getCountUnreadMessages($person_id)
public function getCountUnreadMessages($person_id, $oe_kurzbz)
{
// Checks if the operation is permitted by the API caller
if (isError($ent = $this->isEntitled('public.tbl_msg_recipient', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)))
@@ -279,8 +323,9 @@ class Recipient_model extends DB_Model
return $ent;
$sql = 'SELECT COUNT(r.message_id) AS unreadMessages
FROM public.tbl_msg_recipient r JOIN public.tbl_msg_status s
ON (r.message_id = s.message_id AND r.person_id = s.person_id)
FROM public.tbl_msg_recipient r
JOIN public.tbl_msg_status s ON (r.message_id = s.message_id AND r.person_id = s.person_id)
JOIN public.tbl_msg_message m ON (r.message_id = m.message_id)
WHERE r.person_id = ?
AND s.status = ?
AND r.message_id NOT IN (
@@ -293,6 +338,25 @@ class Recipient_model extends DB_Model
$parametersArray = array($person_id, MSG_STATUS_UNREAD, $person_id, MSG_STATUS_UNREAD);
if ($oe_kurzbz != null)
{
array_push($parametersArray, $oe_kurzbz);
$sql .= ' AND m.oe_kurzbz IN (
WITH RECURSIVE organizations(_pk, _ppk) AS
(
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL
AND o.oe_kurzbz = ?
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
)
SELECT orgs._pk
FROM organizations orgs
)';
}
return $this->execQuery($sql, $parametersArray);
}
}
+412 -411
View File
@@ -1,411 +1,412 @@
<?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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
require_once('../../config/cis.config.inc.php');
require_once('../../config/global.config.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/prestudent.class.php');
require_once('../../include/pruefling.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/reihungstest.class.php');
require_once('../../include/sprache.class.php');
require_once '../../include/phrasen.class.php';
require_once '../../include/datum.class.php';
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
//if(isset($_GET['lang']))
// setSprache($_GET['lang']);
$date = new datum();
function getSpracheUser()
{
if(isset($_SESSION['sprache_user']))
{
$sprache_user=$_SESSION['sprache_user'];
}
else
{
if(isset($_COOKIE['sprache_user']))
{
$sprache_user=$_COOKIE['sprache_user'];
}
else
{
$sprache_user=DEFAULT_LANGUAGE;
}
setSpracheUser($sprache_user);
}
return $sprache_user;
}
function setSpracheUser($sprache)
{
$_SESSION['sprache_user']=$sprache;
setcookie('sprache_user',$sprache,time()+60*60*24*30,'/');
}
if(isset($_GET['sprache_user']))
{
$sprache_user = new sprache();
if($sprache_user->load($_GET['sprache_user']))
{
setSpracheUser($_GET['sprache_user']);
}
else
setSpracheUser(DEFAULT_LANGUAGE);
}
$sprache_user = getSpracheUser();
$p = new phrasen($sprache_user);
$gebdatum='';
session_start();
$reload=false;
$reload_parent=false;
$sg_var = new studiengang();
if (isset($_GET['logout']))
{
if(isset($_SESSION['prestudent_id']))
{
$reload = true;
session_destroy();
}
}
if(isset($_POST['gebdatum']) && $_POST['gebdatum']!='')
{
$gebdatum = $date->formatDatum($_POST['gebdatum'],'Y-m-d');
}
else
$gebdatum='';
if (isset($_POST['prestudent']) && isset($gebdatum))
{
$ps=new prestudent($_POST['prestudent']);
//Geburtsdatum Pruefen
if ($gebdatum==$ps->gebdatum)
{
$reihungstest_id='';
//Freischaltung fuer zugeteilten Reihungstest pruefen
$rt = new reihungstest();
// Wenns der Dummy ist dann extra laden
$prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:'');
if($prestudent_id_dummy_student==$ps->prestudent_id)
{
$rt->getReihungstestPerson($ps->person_id);
if(isset($rt->result[0]))
$reihungstest_id = $rt->result[0]->reihungstest_id;
else
{
echo '<span class="error">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</span>';
}
}
else
{
if($rt->getReihungstestPersonDatum($ps->prestudent_id, date('Y-m-d')))
{
// TODO Was ist wenn da mehrere Zurueckkommen?!
if(isset($rt->result[0]))
$reihungstest_id = $rt->result[0]->reihungstest_id;
else
{
echo '<span class="error">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</span>';
}
}
else
{
echo 'Failed:'.$rt->errormsg;
}
}
//echo "Reihungstest $reihungstest_id";
if($reihungstest_id != '' && $rt->load($reihungstest_id))
{
if($rt->freigeschaltet)
{
$pruefling = new pruefling();
if($pruefling->getPruefling($ps->prestudent_id))
{
$studiengang = $pruefling->studiengang_kz;
$semester = $pruefling->semester;
}
else
{
$studiengang = $ps->studiengang_kz;
$ps->getLastStatus($ps->prestudent_id);
$semester = $ps->ausbildungssemester;
}
if($semester=='')
$semester=1;
$_SESSION['prestudent_id']=$_POST['prestudent'];
$_SESSION['studiengang_kz']=$studiengang;
$_SESSION['nachname']=$ps->nachname;
$_SESSION['vorname']=$ps->vorname;
$_SESSION['gebdatum']=$ps->gebdatum;
$stg_obj = new studiengang($studiengang);
$_SESSION['sprache']=$stg_obj->sprache;
$_SESSION['semester']=$semester;
}
else
{
echo '<span class="error">'.$p->t('testtool/reihungstestNichtFreigeschalten').'</span>';
}
}
else
{
echo '<span class="error">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</span>';
}
}
else
{
echo '<span class="error">'.$p->t('testtool/geburtsdatumStimmtNichtUeberein').'</span>';
}
}
if (isset($_SESSION['prestudent_id']))
$prestudent_id=$_SESSION['prestudent_id'];
else
{
//$prestudent_id=null;
$ps=new prestudent();
$datum=date('Y-m-d');
$ps->getPrestudentRT($datum);
}
if(isset($_GET['type']) && $_GET['type']=='sprachechange' && isset($_GET['sprache']))
{
setSprache($_GET['sprache']);
}
if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id']))
{
$pruefling = new pruefling();
if(!$pruefling->getPruefling($_SESSION['prestudent_id']))
{
$pruefling->new = true;
$pruefling->studiengang_kz = $_SESSION['studiengang_kz'];
$pruefling->semester = $_SESSION['semester'];
$pruefling->idnachweis = '';
$pruefling->registriert = date('Y-m-d H:i:s');
$pruefling->prestudent_id = $_SESSION['prestudent_id'];
if($pruefling->save())
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
$reload_parent=true;
}
}
}
if(isset($_POST['save']) && isset($_SESSION['prestudent_id']))
{
$pruefling = new pruefling();
if($_POST['pruefling_id']!='')
if(!$pruefling->load($_POST['pruefling_id']))
die('Pruefling wurde nicht gefunden');
else
$pruefling->new=false;
else
$pruefling->new=true;
$pruefling->studiengang_kz = $_SESSION['studiengang_kz'];
$pruefling->idnachweis = isset($_POST['idnachweis'])?$_POST['idnachweis']:'';
$pruefling->registriert = date('Y-m-d H:i:s');
$pruefling->prestudent_id = $_SESSION['prestudent_id'];
$pruefling->semester = $_POST['semester'];
if($pruefling->save())
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
$_SESSION['semester']=$pruefling->semester;
$reload_parent=true;
}
}
?><!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css"/>
<script type="text/javascript">
$(document).ready(function()
{
$.datepicker.setDefaults( $.datepicker.regional[ "" ] );
<?php //Wenn Deutsch ausgewaehlt, dann Datepicker auch in Deutsch
if ($sprache_user=="German")
echo '$.datepicker.setDefaults( $.datepicker.regional[ "de" ] );
$( "#datepicker" ).datepicker(
{
changeMonth: true,
changeYear: true,
defaultDate: "-6570",
maxDate: -5110,
yearRange: "-60:+00",
}
);';
else
echo '$( "#datepicker" ).datepicker({
dateFormat: "dd.mm.yy",
changeMonth: true,
changeYear: true,
defaultDate: "-6570",
maxDate: -5110,
yearRange: "-60:+00",
});';
?>
});
</script>
<?php
if($reload_parent)
echo '<script language="Javascript">parent.menu.location.reload()</script>';
if($reload)
echo "<script language=\"Javascript\">parent.location.reload();</script>";
?>
</head>
<body>
<?php echo '<h1>'.$p->t('testtool/startseite').'</h1>';
if (isset($prestudent_id))
{
$prestudent = new prestudent($prestudent_id);
$stg_obj = new studiengang($prestudent->studiengang_kz);
$pruefling = new pruefling();
$typ = new studiengang($prestudent->studiengang_kz);
$typ->getStudiengangTyp($stg_obj->typ);
//Sprachwahl des Studiengangs
$qry = "SELECT sprachwahl FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=".$db->db_add_param($prestudent->studiengang_kz)." LIMIT 1";
$result = $db->db_query($qry);
$sprachwahl = $db->db_fetch_object($result);
$sprachwahl = $db->db_parse_bool($sprachwahl->sprachwahl);
echo '<form method="GET">';
echo '<br>'.$p->t('testtool/begruessungstext').' <br/><br/>';
echo '<b>'.$p->t('zeitaufzeichnung/id').'</b>: '.$_SESSION['prestudent_id'].'<br/>';
echo '<b>'.$p->t('global/name').'</b>: '.$_SESSION['vorname'].' '.$_SESSION['nachname'].'<br/>';
echo '<b>'.$p->t('global/geburtsdatum').'</b>: '.$date->formatDatum($_SESSION['gebdatum'],'d.m.Y').'<br/>';
echo '<b>'.$p->t('global/studiengang').'</b>: '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'<br/><br/>';
echo '<INPUT type="submit" value="Logout" name="logout" />';
echo '</form>';
echo '<br><br>';
if($pruefling->getPruefling($prestudent_id))
{
echo '<FORM accept-charset="UTF-8" action="'. $_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data">';
echo '<input type="hidden" name="pruefling_id" value="'.$pruefling->pruefling_id.'">';
echo '<table>';
//echo '<tr><td>'.$p->t('global/semester').':</td><td><input type="text" name="semester" size="1" maxlength="1" value="'.$pruefling->semester.'">&nbsp;<input type="submit" name="save" value="Semester ändern"></td></tr>';
//echo '<tr><td>ID Nachweis:</td><td><INPUT type="text" maxsize="50" name="idnachweis" value="'.$pruefling->idnachweis.'"></td></tr>';
//echo '<tr><td></td><td><input type="submit" name="save" value="Semester ändern"></td>';
echo '</table>';
echo '</FORM>';
//Wenn die Sprachwahl fuer diesen Studiengang aktiviert ist, dann die Sprachen anzeigen
if($sprachwahl==true)
{
//Liste der Sprachen, die in den Gebieten vorkommen koennen
$qry = "SELECT distinct sprache
FROM
testtool.tbl_pruefling
JOIN testtool.tbl_ablauf USING(studiengang_kz)
JOIN testtool.tbl_frage USING(gebiet_id)
JOIN testtool.tbl_frage_sprache USING(frage_id)
WHERE
tbl_pruefling.pruefling_id=".$db->db_add_param($pruefling->pruefling_id)."
ORDER BY sprache DESC";
echo $p->t('testtool/spracheDerTestfragen').':';
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
if($_SESSION['sprache']==$row->sprache)
$selected='style="border:1px solid black;"';
else
$selected='';
echo " <a href='".$_SERVER['PHP_SELF']."?type=sprachechange&sprache=$row->sprache' class='Item' $selected><img src='bild.php?src=flag&amp;sprache=$row->sprache' alt='$row->sprache' title='$row->sprache'/></a>";
}
}
}
echo '<br><br><br><b>'.$p->t('testtool/klickenSieAufEinTeilgebiet').'</b>';
if($pruefling->pruefling_id!='')
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
echo '<script language="Javascript">parent.menu.location.reload()</script>';
}
}
else
{
echo '<span class="error">'.$p->t('testtool/keinPrueflingseintragVorhanden').'</span>';
}
}
else
{
$prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:'');
echo '<form method="post">
<SELECT name="prestudent">';
echo '<OPTION value="'.$prestudent_id_dummy_student.'">'.$p->t('testtool/nameAuswaehlen').'</OPTION>\n';
foreach($ps->result as $prestd)
{
$stg = new studiengang();
$stg->load($prestd->studiengang_kz);
if(isset($_POST['prestudent']) && $prestd->prestudent_id==$_POST['prestudent'])
$selected = 'selected';
else
$selected='';
echo '<OPTION value="'.$prestd->prestudent_id.'" '.$selected.'>'.$prestd->nachname.' '.$prestd->vorname.' ('.(strtoupper($stg->typ.$stg->kurzbz)).')</OPTION>\n';
}
echo '</SELECT>';
echo '&nbsp; '.$p->t('global/geburtsdatum').': ';
echo '<input type="text" id="datepicker" size="12" name="gebdatum" value="'.$date->formatDatum($gebdatum,'d.m.Y').'">';
echo '&nbsp; <INPUT type="submit" value="'.$p->t('testtool/login').'" />';
echo '</form>';
echo '<br /><br /><br />
<center>
<span style="font-size: 1.2em; font-style: italic;">'.$p->t('testtool/willkommenstext').'</span>
</center>';
}
?>
</body>
</html>
<?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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
require_once('../../config/cis.config.inc.php');
require_once('../../config/global.config.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/prestudent.class.php');
require_once('../../include/pruefling.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/reihungstest.class.php');
require_once('../../include/sprache.class.php');
require_once '../../include/phrasen.class.php';
require_once '../../include/datum.class.php';
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
//if(isset($_GET['lang']))
// setSprache($_GET['lang']);
$date = new datum();
function getSpracheUser()
{
if(isset($_SESSION['sprache_user']))
{
$sprache_user=$_SESSION['sprache_user'];
}
else
{
if(isset($_COOKIE['sprache_user']))
{
$sprache_user=$_COOKIE['sprache_user'];
}
else
{
$sprache_user=DEFAULT_LANGUAGE;
}
setSpracheUser($sprache_user);
}
return $sprache_user;
}
function setSpracheUser($sprache)
{
$_SESSION['sprache_user']=$sprache;
setcookie('sprache_user',$sprache,time()+60*60*24*30,'/');
}
if(isset($_GET['sprache_user']))
{
$sprache_user = new sprache();
if($sprache_user->load($_GET['sprache_user']))
{
setSpracheUser($_GET['sprache_user']);
}
else
setSpracheUser(DEFAULT_LANGUAGE);
}
$sprache_user = getSpracheUser();
$p = new phrasen($sprache_user);
$gebdatum='';
session_start();
$reload=false;
$reload_parent=false;
$sg_var = new studiengang();
if (isset($_GET['logout']))
{
if(isset($_SESSION['prestudent_id']))
{
$reload = true;
session_destroy();
}
}
if(isset($_POST['gebdatum']) && $_POST['gebdatum']!='')
{
$gebdatum = $date->formatDatum($_POST['gebdatum'],'Y-m-d');
}
else
$gebdatum='';
if (isset($_POST['prestudent']) && isset($gebdatum))
{
$ps=new prestudent($_POST['prestudent']);
//Geburtsdatum Pruefen
if ($gebdatum==$ps->gebdatum)
{
$reihungstest_id='';
//Freischaltung fuer zugeteilten Reihungstest pruefen
$rt = new reihungstest();
// Wenns der Dummy ist dann extra laden
$prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:'');
if($prestudent_id_dummy_student==$ps->prestudent_id)
{
$rt->getReihungstestPerson($ps->person_id);
if(isset($rt->result[0]))
$reihungstest_id = $rt->result[0]->reihungstest_id;
else
{
echo '<span class="error">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</span>';
}
}
else
{
if($rt->getReihungstestPersonDatum($ps->prestudent_id, date('Y-m-d')))
{
// TODO Was ist wenn da mehrere Zurueckkommen?!
if(isset($rt->result[0]))
$reihungstest_id = $rt->result[0]->reihungstest_id;
else
{
echo '<span class="error">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</span>';
}
}
else
{
echo 'Failed:'.$rt->errormsg;
}
}
//echo "Reihungstest $reihungstest_id";
if($reihungstest_id != '' && $rt->load($reihungstest_id))
{
if($rt->freigeschaltet)
{
$pruefling = new pruefling();
if($pruefling->getPruefling($ps->prestudent_id))
{
$studiengang = $pruefling->studiengang_kz;
$semester = $pruefling->semester;
}
else
{
$studiengang = $ps->studiengang_kz;
$ps->getLastStatus($ps->prestudent_id);
$semester = $ps->ausbildungssemester;
}
if($semester=='')
$semester=1;
$_SESSION['prestudent_id']=$_POST['prestudent'];
$_SESSION['studiengang_kz']=$studiengang;
$_SESSION['nachname']=$ps->nachname;
$_SESSION['vorname']=$ps->vorname;
$_SESSION['gebdatum']=$ps->gebdatum;
$stg_obj = new studiengang($studiengang);
$_SESSION['sprache']=$stg_obj->sprache;
$_SESSION['semester']=$semester;
}
else
{
echo '<span class="error">'.$p->t('testtool/reihungstestNichtFreigeschalten').'</span>';
}
}
else
{
echo '<span class="error">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</span>';
}
}
else
{
echo '<span class="error">'.$p->t('testtool/geburtsdatumStimmtNichtUeberein').'</span>';
}
}
if (isset($_SESSION['prestudent_id']))
$prestudent_id=$_SESSION['prestudent_id'];
else
{
//$prestudent_id=null;
$ps=new prestudent();
$datum=date('Y-m-d');
$ps->getPrestudentRT($datum);
}
if(isset($_GET['type']) && $_GET['type']=='sprachechange' && isset($_GET['sprache']))
{
setSprache($_GET['sprache']);
}
if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id']))
{
$pruefling = new pruefling();
//wenn kein Prüfling geladen werden kann
if(!$pruefling->getPruefling($_SESSION['prestudent_id']))
$pruefling->new = true;
else
$pruefling->new = false;
$pruefling->studiengang_kz = $_SESSION['studiengang_kz'];
$pruefling->semester = $_SESSION['semester'];
$pruefling->idnachweis = '';
$pruefling->registriert = date('Y-m-d H:i:s');
$pruefling->prestudent_id = $_SESSION['prestudent_id'];
if($pruefling->save())
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
$reload_parent=true;
}
}
if(isset($_POST['save']) && isset($_SESSION['prestudent_id']))
{
$pruefling = new pruefling();
if($_POST['pruefling_id']!='')
if(!$pruefling->load($_POST['pruefling_id']))
die('Pruefling wurde nicht gefunden');
else
$pruefling->new=false;
else
$pruefling->new=true;
$pruefling->studiengang_kz = $_SESSION['studiengang_kz'];
$pruefling->idnachweis = isset($_POST['idnachweis'])?$_POST['idnachweis']:'';
$pruefling->registriert = date('Y-m-d H:i:s');
$pruefling->prestudent_id = $_SESSION['prestudent_id'];
$pruefling->semester = $_POST['semester'];
if($pruefling->save())
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
$_SESSION['semester']=$pruefling->semester;
$reload_parent=true;
}
}
?><!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../include/js/jquery1.9.min.js"></script>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css"/>
<script type="text/javascript">
$(document).ready(function()
{
$.datepicker.setDefaults( $.datepicker.regional[ "" ] );
<?php //Wenn Deutsch ausgewaehlt, dann Datepicker auch in Deutsch
if ($sprache_user=="German")
echo '$.datepicker.setDefaults( $.datepicker.regional[ "de" ] );
$( "#datepicker" ).datepicker(
{
changeMonth: true,
changeYear: true,
defaultDate: "-6570",
maxDate: -5110,
yearRange: "-60:+00",
}
);';
else
echo '$( "#datepicker" ).datepicker({
dateFormat: "dd.mm.yy",
changeMonth: true,
changeYear: true,
defaultDate: "-6570",
maxDate: -5110,
yearRange: "-60:+00",
});';
?>
});
</script>
<?php
if($reload_parent)
echo '<script language="Javascript">parent.menu.location.reload();</script>'; //CRIS: nach reload()ein ; ergänzt
if($reload)
echo "<script language=\"Javascript\">parent.location.reload();</script>";
?>
</head>
<body>
<?php echo '<h1>'.$p->t('testtool/startseite').'</h1>';
//REIHUNGSTEST STARTSEITE (nach Login)
if (isset($prestudent_id))
{
$prestudent = new prestudent($prestudent_id);
$stg_obj = new studiengang($prestudent->studiengang_kz);
$pruefling = new pruefling();
$typ = new studiengang($prestudent->studiengang_kz);
$typ->getStudiengangTyp($stg_obj->typ);
//Sprachwahl des Studiengangs
$qry = "SELECT sprachwahl FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=".$db->db_add_param($prestudent->studiengang_kz)." LIMIT 1";
$result = $db->db_query($qry);
$sprachwahl = $db->db_fetch_object($result);
$sprachwahl = $db->db_parse_bool($sprachwahl->sprachwahl);
//Prestudent Informationen und Logout
echo '<form method="GET">';
echo '<br>'.$p->t('testtool/begruessungstext').' <br/><br/>';
echo '<b>'.$p->t('zeitaufzeichnung/id').'</b>: '.$_SESSION['prestudent_id'].'<br/>';
echo '<b>'.$p->t('global/name').'</b>: '.$_SESSION['vorname'].' '.$_SESSION['nachname'].'<br/>';
echo '<b>'.$p->t('global/geburtsdatum').'</b>: '.$date->formatDatum($_SESSION['gebdatum'],'d.m.Y').'<br/>';
echo '<b>'.$p->t('global/studiengang').'</b>: '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'<br/><br/>';
echo '<INPUT type="submit" value="Logout" name="logout" />';
echo '</form>';
echo '<br><br>';
if($pruefling->getPruefling($prestudent_id))
{
echo '<FORM accept-charset="UTF-8" action="'. $_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data">';
echo '<input type="hidden" name="pruefling_id" value="'.$pruefling->pruefling_id.'">';
echo '<table>';
//echo '<tr><td>'.$p->t('global/semester').':</td><td><input type="text" name="semester" size="1" maxlength="1" value="'.$pruefling->semester.'">&nbsp;<input type="submit" name="save" value="Semester ändern"></td></tr>';
//echo '<tr><td>ID Nachweis:</td><td><INPUT type="text" maxsize="50" name="idnachweis" value="'.$pruefling->idnachweis.'"></td></tr>';
//echo '<tr><td></td><td><input type="submit" name="save" value="Semester ändern"></td>';
echo '</table>';
echo '</FORM>';
//Wenn die Sprachwahl fuer diesen Studiengang aktiviert ist, dann die Sprachen anzeigen
if($sprachwahl==true)
{
//Liste der Sprachen, die in den Gebieten vorkommen koennen
$qry = "SELECT distinct sprache
FROM
testtool.tbl_pruefling
JOIN testtool.tbl_ablauf USING(studiengang_kz)
JOIN testtool.tbl_frage USING(gebiet_id)
JOIN testtool.tbl_frage_sprache USING(frage_id)
WHERE
tbl_pruefling.pruefling_id=".$db->db_add_param($pruefling->pruefling_id)."
ORDER BY sprache DESC";
echo $p->t('testtool/spracheDerTestfragen').':';
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
if($_SESSION['sprache']==$row->sprache)
$selected='style="border:1px solid black;"';
else
$selected='';
echo " <a href='".$_SERVER['PHP_SELF']."?type=sprachechange&sprache=$row->sprache' class='Item' $selected><img src='bild.php?src=flag&amp;sprache=$row->sprache' alt='$row->sprache' title='$row->sprache'/></a>";
}
}
}
echo '<br><br><br><b>'.$p->t('testtool/klickenSieAufEinTeilgebiet').'</b>';
if($pruefling->pruefling_id!='')
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
echo '<script language="Javascript">parent.menu.location.reload()</script>';
}
}
else
{
echo '<span class="error">'.$p->t('testtool/keinPrueflingseintragVorhanden').'</span>';
}
}
else
{
//LOGIN FORM (Startseite vor Login)
$prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:'');
echo '<form method="post">
<SELECT name="prestudent">';
echo '<OPTION value="'.$prestudent_id_dummy_student.'">'.$p->t('testtool/nameAuswaehlen').'</OPTION>\n';
foreach($ps->result as $prestd)
{
$stg = new studiengang();
$stg->load($prestd->studiengang_kz);
if(isset($_POST['prestudent']) && $prestd->prestudent_id==$_POST['prestudent'])
$selected = 'selected';
else
$selected='';
echo '<OPTION value="'.$prestd->prestudent_id.'" '.$selected.'>'.$prestd->nachname.' '.$prestd->vorname.' ('.(strtoupper($stg->typ.$stg->kurzbz)).')</OPTION>\n';
}
echo '</SELECT>';
echo '&nbsp; '.$p->t('global/geburtsdatum').': ';
echo '<input type="text" id="datepicker" size="12" name="gebdatum" value="'.$date->formatDatum($gebdatum,'d.m.Y').'">';
echo '&nbsp; <INPUT type="submit" value="'.$p->t('testtool/login').'" />';
echo '</form>';
echo '<br /><br /><br />
<center>
<span style="font-size: 1.2em; font-style: italic;">'.$p->t('testtool/willkommenstext').'</span>
</center>';
}
?>
</body>
</html>
+123 -206
View File
@@ -21,7 +21,7 @@
*/
/*
* Erstellt eine Liste der Studenten eines Studiensemesters
* Aufteilung in
* Aufteilung in
* - Anzahl Gesamt
* - Prozent Anteil
* - Vollzeit/Berufsbegleitend
@@ -32,6 +32,7 @@ require_once('../../config/vilesci.config.inc.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/organisationsform.class.php');
$db = new basis_db();
$stsem_obj = new studiensemester();
@@ -42,10 +43,19 @@ else
$stsem = $stsem_obj->getaktorNext();
}
$stsem_obj->load($stsem);
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
$orgform = new organisationsform();
$orgform->getAll();
$orgform_arr = array();
foreach($orgform->result as $row_orgform)
if($row_orgform->rolle==true)
$orgform_arr[] = $row_orgform->orgform_kurzbz;
echo '<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta 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>
@@ -64,9 +74,9 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
{
if($stsemester->studiensemester_kurzbz==$stsem)
$selected='selected';
else
else
$selected='';
echo '<option value="'.$stsemester->studiensemester_kurzbz.'" '.$selected.'>'.$stsemester->studiensemester_kurzbz.'</option>';
}
echo '</SELECT>
@@ -81,7 +91,7 @@ if($stsem!='')
<th></th>
<th>Anteil an Gesamt</th>
<th>Extern</th>
<th>Studienart</th>
<th colspan=".count($orgform_arr).">Studienart</th>
<th colspan=2>Geschlecht</th>
<th colspan=3>Staatsb&uuml;rgerschaft</th>
</tr>
@@ -91,8 +101,10 @@ if($stsem!='')
<th>Bachelor</th>
<th>Studiengänge</th>
<th>Absolut / %</th>
<th>In / Out</th>
<th>BB / VZ / DL / DDP / PT</th>
<th>In / Out</th>";
foreach($orgform_arr as $row_orgform)
echo "<th>".$row_orgform."</th>";
echo "
<th>m</th>
<th>w</th>
<th>&Ouml;sterreich</th>
@@ -105,45 +117,38 @@ if($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='Student' AND studiensemester_kurzbz='$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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND typ='b'
WHERE status_kurzbz='Student' 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='Incoming' AND studiensemester_kurzbz='".addslashes($stsem)."'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) a) AS inc,
(SELECT count(*) FROM (SELECT distinct student_uid FROM public.tbl_student JOIN bis.tbl_bisio USING (student_uid)
WHERE studiengang_kz=stg.studiengang_kz AND (bis>='".addslashes($stsem_obj->start)."' OR bis is null) AND von<='".addslashes($stsem_obj->ende)."'
) a) AS out,
(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='Student' AND studiensemester_kurzbz='".addslashes($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='Student' AND studiensemester_kurzbz='".addslashes($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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DL'
) a) AS fs,
(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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DDP'
) a) AS ddp,
(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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='PT'
) a) AS pt,
(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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w'
WHERE studiengang_kz=stg.studiengang_kz AND (bis>=".$db->db_add_param($stsem_obj->start)." OR bis is null) AND von<=".$db->db_add_param($stsem_obj->ende)."
) a) AS out,";
foreach($orgform_arr as $row_orgform)
{
$qry.=" (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='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz=".$db->db_add_param($row_orgform)."
) a) AS orgform_".$row_orgform.",";
}
$qry.=" (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='Student' 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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' 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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND nation_code='A'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." 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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND eu AND nation_code<>'A'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." 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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND NOT eu
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND NOT eu
) a) AS herkunft_noteu,
true
FROM
@@ -151,17 +156,14 @@ if($stsem!='')
WHERE
studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='b'
ORDER BY typ, kurzbzlang; ";
if($result = $db->db_query($qry))
{
$gesamt=0;
$gesamt_prozent=0;
$gesamt_bb=0;
$gesamt_vz=0;
$gesamt_fs=0;
$gesamt_ddp=0;
$gesamt_pt=0;
foreach($orgform_arr as $row_orgform)
$gesamt_orgform[$row_orgform] = 0;
$gesamt_m=0;
$gesamt_w=0;
$gesamt_at=0;
@@ -177,65 +179,23 @@ if($stsem!='')
$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->inc / $row->out</td>";
if($row->orgform_kurzbz=='BB' && $db->db_parse_bool($row->mischform)==false)
foreach($orgform_arr as $row_orgform)
{
//berufsbegleitend: gesamtzahl in spalte bb
echo "<td align='center'>$row->gesamt_stg / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->gesamt_stg;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='VZ' && $db->db_parse_bool($row->mischform)==false)
{
//vollzeit: gesamtzahl in spalte vz
echo "<td align='center'>$row->bb / $row->gesamt_stg / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->gesamt_stg;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='DL' && $db->db_parse_bool($row->mischform)==false)
{
//fernlehre: gesamtzahl in spalte DL
echo "<td align='center'>$row->bb / $row->vz / $row->gesamt_stg / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->gesamt_stg;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='DDP' && $db->db_parse_bool($row->mischform)==false)
{
//doubledegree: gesamtzahl in spalte DDP
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->gesamt_stg / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_pt += $row->gesamt_stg;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='PT' && $db->db_parse_bool($row->mischform)==false)
{
//parttime: gesamtzahl in spalte PT
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->gesamt_stg</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->gesamt_stg;
}
else
{
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
echo "<td align='center'>";
if($row->orgform_kurzbz == $row_orgform && $db->db_parse_bool($row->mischform) == false)
{
echo $row->gesamt_stg;
$gesamt_orgform[$row_orgform] += $row->gesamt_stg;
}
else
{
echo $row->{'orgform_'.mb_strtolower($row_orgform)};
$gesamt_orgform[$row_orgform] += $row->{'orgform_'.mb_strtolower($row_orgform)};
}
echo "</td>";
}
echo "<td align='center'>$row->m</td>";
echo "<td align='center'>$row->w</td>";
echo "<td align='center'>$row->herkunft_at</td>";
@@ -257,23 +217,25 @@ if($stsem!='')
echo "<td>&nbsp;</td>";
echo "<td align='center'><b>$gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %</b></td>";
echo "<td align='center'><b>$gesamt_inc / $gesamt_out</b></td>";
echo "<td align='center'><b>$gesamt_bb / $gesamt_vz / $gesamt_fs / $gesamt_ddp / $gesamt_pt</b></td>";
foreach($orgform_arr as $row_orgform)
echo "<td align='center'><b>".$gesamt_orgform[$row_orgform]."</b></td>";
echo "<td align='center'><b>$gesamt_m</b></td>";
echo "<td align='center'><b>$gesamt_w</b></td>";
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>";
}
$gesamtsumme = $gesamt;
$gesamtsumme_prozent = $gesamt_prozent;
$gesamtsumme_bb = $gesamt_bb;
$gesamtsumme_vz = $gesamt_vz;
$gesamtsumme_fs = $gesamt_fs;
$gesamtsumme_ddp = $gesamt_ddp;
$gesamtsumme_pt = $gesamt_pt;
$gesamtsumme_orgform = array();
foreach($orgform_arr as $row_orgform)
{
$gesamtsumme_orgform[$row_orgform] = $gesamt_orgform[$row_orgform];
}
$gesamtsumme_m = $gesamt_m;
$gesamtsumme_w = $gesamt_w;
$gesamtsumme_at = $gesamt_at;
@@ -281,15 +243,18 @@ if($stsem!='')
$gesamtsumme_noteu = $gesamt_noteu;
$gesamtsumme_inc = $gesamt_inc;
$gesamtsumme_out = $gesamt_out;
//Master
echo '
<tr>
<th>Master</th>
<th>Studiengänge</th>
<th>Absolut / %</th>
<th>In / Out</th>
<th>BB / VZ / DL / DDP / PT</th>
<th>In / Out</th>';
foreach($orgform_arr as $row_orgform)
echo '<th>'.$row_orgform.'</th>';
echo '
<th>m</th>
<th>w</th>
<th>&Ouml;sterreich</th>
@@ -300,45 +265,39 @@ if($stsem!='')
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND typ='m'
WHERE status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND typ='m'
) 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='Incoming' AND studiensemester_kurzbz='".addslashes($stsem)."'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz=".$db->db_add_param($stsem)."
) a) AS inc,
(SELECT count(*) FROM (SELECT distinct student_uid FROM public.tbl_student JOIN bis.tbl_bisio USING (student_uid)
WHERE studiengang_kz=stg.studiengang_kz AND (bis>='".addslashes($stsem_obj->start)."' OR bis is null) AND von<='".addslashes($stsem_obj->ende)."'
) a) AS out,
WHERE studiengang_kz=stg.studiengang_kz AND (bis>=".$db->db_add_param($stsem_obj->start)." OR bis is null) AND von<=".$db->db_add_param($stsem_obj->ende)."
) a) AS out,";
foreach($orgform_arr as $row_orgform)
{
$qry .= "
(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='Student' AND studiensemester_kurzbz='".addslashes($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='Student' AND studiensemester_kurzbz='".addslashes($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)
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DL'
) a) AS fs,
(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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DDP'
) a) AS ddp,
(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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='PT'
) a) AS pt,
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz=".$db->db_add_param($row_orgform)."
) a) AS orgform_".$row_orgform.",";
}
$qry .= "
(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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' 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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' 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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND nation_code='A'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." 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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND eu AND nation_code<>'A'
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." 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='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND NOT eu
WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND NOT eu
) a) AS herkunft_noteu,
true
FROM
@@ -346,17 +305,14 @@ if($stsem!='')
WHERE
studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='m'
ORDER BY typ, kurzbzlang; ";
if($result = $db->db_query($qry))
{
$gesamt=0;
$gesamt_prozent=0;
$gesamt_bb=0;
$gesamt_vz=0;
$gesamt_fs=0;
$gesamt_ddp=0;
$gesamt_pt=0;
foreach($orgform_arr as $row_orgform)
$gesamt_orgform[$row_orgform] = 0;
$gesamt_m=0;
$gesamt_w=0;
$gesamt_at=0;
@@ -372,65 +328,23 @@ if($stsem!='')
$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->inc / $row->out</td>";
if($row->orgform_kurzbz=='BB' && $db->db_parse_bool($row->mischform)==false)
foreach($orgform_arr as $row_orgform)
{
//berufsbegleitend: gesamtzahl in spalte bb
echo "<td align='center'>$row->gesamt_stg / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->gesamt_stg;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='VZ' && $db->db_parse_bool($row->mischform)==false)
{
//vollzeit: gesamtzahl in spalte vz
echo "<td align='center'>$row->bb / $row->gesamt_stg / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->gesamt_stg;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='DL' && $db->db_parse_bool($row->mischform)==false)
{
//fernlehre: gesamtzahl in spalte DL
echo "<td align='center'>$row->bb / $row->vz / $row->gesamt_stg / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->gesamt_stg;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='DDP' && $db->db_parse_bool($row->mischform)==false)
{
//doubledegree: gesamtzahl in spalte DDP
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->gesamt_stg / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_pt += $row->gesamt_stg;
$gesamt_pt += $row->pt;
}
else if($row->orgform_kurzbz=='PT' && $db->db_parse_bool($row->mischform)==false)
{
//parttime: gesamtzahl in spalte PT
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->gesamt_stg</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->gesamt_stg;
}
else
{
echo "<td align='center'>$row->bb / $row->vz / $row->fs / $row->ddp / $row->pt</td>";
$gesamt_bb += $row->bb;
$gesamt_vz += $row->vz;
$gesamt_fs += $row->fs;
$gesamt_ddp += $row->ddp;
$gesamt_pt += $row->pt;
echo "<td align='center'>";
if($row->orgform_kurzbz == $row_orgform && $db->db_parse_bool($row->mischform) == false)
{
echo $row->gesamt_stg;
$gesamt_orgform[$row_orgform] += $row->gesamt_stg;
}
else
{
echo $row->{'orgform_'.mb_strtolower($row_orgform)};
$gesamt_orgform[$row_orgform] += $row->{'orgform_'.mb_strtolower($row_orgform)};
}
echo "</td>";
}
echo "<td align='center'>$row->m</td>";
echo "<td align='center'>$row->w</td>";
echo "<td align='center'>$row->herkunft_at</td>";
@@ -452,22 +366,24 @@ if($stsem!='')
echo "<td>&nbsp;</td>";
echo "<td align='center'><b>$gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %</b></td>";
echo "<td align='center'><b>$gesamt_inc / $gesamt_out</b></td>";
echo "<td align='center'><b>$gesamt_bb / $gesamt_vz / $gesamt_fs / $gesamt_ddp / $gesamt_pt</b></td>";
foreach($orgform_arr as $row_orgform)
{
echo "<td align='center'><b>".$gesamt_orgform[$row_orgform]."</b></td>";
}
echo "<td align='center'><b>$gesamt_m</b></td>";
echo "<td align='center'><b>$gesamt_w</b></td>";
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>";
}
$gesamtsumme += $gesamt;
$gesamtsumme_prozent = 100;
$gesamtsumme_bb += $gesamt_bb;
$gesamtsumme_vz += $gesamt_vz;
$gesamtsumme_fs += $gesamt_fs;
$gesamtsumme_ddp += $gesamt_ddp;
$gesamtsumme_pt += $gesamt_pt;
foreach($orgform_arr as $row_orgform)
$gesamtsumme_orgform[$row_orgform] += $gesamt_orgform[$row_orgform];
$gesamtsumme_m += $gesamt_m;
$gesamtsumme_w += $gesamt_w;
$gesamtsumme_at += $gesamt_at;
@@ -480,7 +396,8 @@ if($stsem!='')
echo "<td>&nbsp;</td>";
echo "<td align='center'><b>$gesamtsumme / ".sprintf('%0.2f', $gesamtsumme_prozent)." %</b></td>";
echo "<td align='center'><b>$gesamtsumme_inc / $gesamtsumme_out</b></td>";
echo "<td align='center'><b>$gesamtsumme_bb / $gesamtsumme_vz / $gesamtsumme_fs / $gesamtsumme_ddp / $gesamtsumme_pt</b></td>";
foreach($orgform_arr as $row_orgform)
echo "<td align='center'><b>".$gesamtsumme_orgform[$row_orgform]."</b></td>";
echo "<td align='center'><b>$gesamtsumme_m</b></td>";
echo "<td align='center'><b>$gesamtsumme_w</b></td>";
echo "<td align='center'><b>$gesamtsumme_at</b></td>";
@@ -491,4 +408,4 @@ if($stsem!='')
}
?>
</body>
</html>
</html>
+657 -657
View File
File diff suppressed because it is too large Load Diff
+57 -57
View File
@@ -19,111 +19,111 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <burkhart@technikum-wien.at>.
*/
/**
* Klasse Organisationsform
*/
class organisationsform extends basis_db
{
public $orgform_kurzbz;
public $code;
public $bezeichnung;
public $rolle;
public $result = array();
public $orgform_kurzbz;
public $code;
public $bezeichnung;
public $rolle;
public $result = array();
/**
*
* Konstruktor
*
* Konstruktor
*/
public function __construct()
public function __construct()
{
parent::__construct();
parent::__construct();
}
/**
* Laedt eine Organisationsform
* @param $orgform_kurzbz
*/
public function load($orgform_kurzbz)
{
$qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz=".$this->db_add_param($orgform_kurzbz).';';
$qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz=".$this->db_add_param($orgform_kurzbz).';';
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->code = $row->code;
$this->bezeichnung = $row->bezeichnung;
$this->rolle = $row->rolle;
{
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->code = $row->code;
$this->bezeichnung = $row->bezeichnung;
$this->rolle = $this->db_parse_bool($row->rolle);
}
}
else
{
$this->errormsg ="Fehler bei der Abfrage aufgetreten";
return false;
$this->errormsg ="Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
*
*
* Liefert alle Organisationsformen zurück
*/
public function getAll()
{
$qry = "SELECT * FROM bis.tbl_orgform";
$qry = "SELECT * FROM bis.tbl_orgform";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$orgform = new organisationsform();
$orgform->orgform_kurzbz = $row->orgform_kurzbz;
$orgform->code = $row->code;
$orgform->bezeichnung = $row->bezeichnung;
$orgform->rolle = $row->rolle;
$this->result[] = $orgform;
$orgform = new organisationsform();
$orgform->orgform_kurzbz = $row->orgform_kurzbz;
$orgform->code = $row->code;
$orgform->bezeichnung = $row->bezeichnung;
$orgform->rolle = $this->db_parse_bool($row->rolle);
$this->result[] = $orgform;
}
return true;
}
else
{
$this->errormsg ="Fehler bei der Abfrage aufgetreten";
return false;
$this->errormsg ="Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
*
*
* Orgform Kurzbezeichnung wird übergeben und alle passenden Kurzbezeichnungen werden zurückgegeben
* @param $orgform_kurzbz
*/
public function checkOrgForm($orgform_kurzbz)
{
{
if(is_null($orgform_kurzbz))
{
$this->errormsg ="Kein gültiger Wert für Orgform Kurzbz.";
return false;
$this->errormsg ="Kein gültiger Wert für Orgform Kurzbz.";
return false;
}
switch ($orgform_kurzbz)
switch ($orgform_kurzbz)
{
case "VZ":
$vzArray= array('VZ', '');
return $vzArray;
return $vzArray;
case "BB":
$bbArray=array('BB','DL','DDP','');
return $bbArray;
return $bbArray;
case "VBB":
$vbbArray = array('VZ','BB','DDP','DL');
return $vbbArray;
return $vbbArray;
default:
return false;
return false;
}
}
@@ -137,19 +137,19 @@ class organisationsform extends basis_db
FROM bis.tbl_orgform
WHERE orgform_kurzbz NOT IN ('VBB', 'ZGS')
ORDER BY orgform_kurzbz";
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
while ($row = $this->db_fetch_object($result))
{
$orgform = new organisationsform();
$orgform->orgform_kurzbz = $row->orgform_kurzbz;
$orgform->code = $row->code;
$orgform->bezeichnung = $row->bezeichnung;
$orgform->rolle = $row->rolle;
$this->result[] = $orgform;
$orgform = new organisationsform();
$orgform->orgform_kurzbz = $row->orgform_kurzbz;
$orgform->code = $row->code;
$orgform->bezeichnung = $row->bezeichnung;
$orgform->rolle = $row->rolle;
$this->result[] = $orgform;
}
return true;
}
@@ -159,4 +159,4 @@ class organisationsform extends basis_db
return false;
}
}
}
}
+9 -2
View File
@@ -110,7 +110,7 @@ class pruefling extends basis_db
$this->db_add_param($this->idnachweis).",".
$this->db_add_param($this->registriert).",".
$this->db_add_param($this->prestudent_id).",".
$this->db_add_param($this->semester).");";
$this->db_add_param($this->semester).");";
}
else
{
@@ -318,17 +318,21 @@ class pruefling extends basis_db
{
$qry = "SELECT * FROM testtool.vw_auswertung
WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
$ergebnis=0;
if(!is_null($reihungstest_id))
$qry.=" AND reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER);
$ergebnis=0;
if($result = $this->db_query($qry))
{
// Wenn keine Eintraege vorhanden dann false
if($this->db_num_rows($result)==0)
return false;
while($row = $this->db_fetch_object($result))
{
@@ -342,7 +346,10 @@ class pruefling extends basis_db
$prozent = ($row->punkte/$row->maxpunkte)*100;
if($punkte)
{
$ergebnis +=$row->punkte;
}
else
$ergebnis+=$prozent*$row->gewicht;
}
+2 -2
View File
@@ -3,7 +3,7 @@ $this->phrasen['lehre/abmelden']='esci';
$this->phrasen['lehre/abmeldung']='uscita';
$this->phrasen['lehre/AbmeldungAusGruppeNichtMoeglich']='Non è possibile cancellare la propria iscrizione al corso';
$this->phrasen['lehre/AbmeldungErfolgreich']='Cancellamento iscrizione avvenuto con successo';
$this->phrasen['lehre/anwesenheitsUndNotenlisten']='Elenco frequenze e votazioni';
$this->phrasen['lehre/anwesenheitsUndNotenlisten']='Elenco studenti';
$this->phrasen['lehre/benotungstoolHandbuch']='Handbook';
$this->phrasen['lehre/confirmAbmeldung']='Cancellare veramente la propria iscrizione al corso "%s" ?';
$this->phrasen['lehre/download']='Download';
@@ -19,7 +19,7 @@ $this->phrasen['lehre/lvInfoBearbeiten']='Modificare';
$this->phrasen['lehre/mail']='E-Mail agli studenti';
$this->phrasen['lehre/newsgroups']='Newsgroups';
$this->phrasen['lehre/nichtzugeteilt']='Lei non è stato/a associato/a a questo insegnamento';
$this->phrasen['lehre/pinboard']='Bacheca';
$this->phrasen['lehre/pinboard']='Bacheca notizie';
$this->phrasen['lehre/semesterplan']='Calendario del corso';
$this->phrasen['lehre/semesterplanUpload']='Upload';
$this->phrasen['lehre/semesterplanVorlage']='Schema';
+1 -1
View File
@@ -1,6 +1,6 @@
<?php
$this->phrasen['profil/AccountInaktiv']='Attenzione: questo account non è più attivo';
$this->phrasen['profil/adminstration']='Amministrazione';
$this->phrasen['profil/adminstration']='Gestione notizie';
$this->phrasen['profil/alias']='alias';
$this->phrasen['profil/alleStudentenVon']='Tutti gli studenti di';
$this->phrasen['profil/ausgegebenAm']='';
+5 -5
View File
@@ -1,6 +1,6 @@
<?php
$this->phrasen['upload/aktionen']='azioni';
$this->phrasen['upload/auswaehlen']='Sfoglia';
$this->phrasen['upload/aktionen']='Azione';
$this->phrasen['upload/auswaehlen']='Selezione';
$this->phrasen['upload/benutzerKonnteNichtZugeordnetWerden']='Non è stato potuto assegnare lutente %s';
$this->phrasen['upload/dateiAufServerDateiformat']='Errore: il formato del file che si vuole caricare non è supportato';
$this->phrasen['upload/dateien']='File';
@@ -14,7 +14,7 @@ $this->phrasen['upload/esWurdeKeinPfadDefiniert']='Non è stato definito un perc
$this->phrasen['upload/fehlerBeimLadenDerLv']='errore di caricamento del corso';
$this->phrasen['upload/fehlerBeimLoeschenDesOrdners']='errore nella cancellazione della cartella';
$this->phrasen['upload/formattributInEinNeues ']='Errore: si è tentato di cambiare il formato del file in un formato non supportato';
$this->phrasen['upload/kbGespeichert']='KB salvati';
$this->phrasen['upload/kbGespeichert']='Data salvataggio';
$this->phrasen['upload/keineDateienGefunden']='Nessun file trovtato';
$this->phrasen['upload/keineGegenstaendeDefiniert']='Non è stato possibile definire gli oggetti';
$this->phrasen['upload/keineOrdnerGefunden']='Nessuna cartella trovata';
@@ -28,8 +28,8 @@ $this->phrasen['upload/studentenUploadEinsehen']='Visualizza upload studenti';
$this->phrasen['upload/studentenUploadVerwalten']='Gestisci upload studenti';
$this->phrasen['upload/studentenUploadverzeichnis']='Registro degli upload';
$this->phrasen['upload/studentenUploadverzeichnisLeeren']='Cancella registro degli upload';
$this->phrasen['upload/umEinenOrdnerOderEineDatei']='Per cancellare o modificare un file/cartella barrare la corrispettiva casella.';
$this->phrasen['upload/unterordnerVon']='sottocartella di';
$this->phrasen['upload/umEinenOrdnerOderEineDatei']='Per cancellare o modificare un file o cartella barrare prima la rispettiva casella.';
$this->phrasen['upload/unterordnerVon']='Sottocartelle di ';
$this->phrasen['upload/upload']='Upload';
$this->phrasen['upload/verzeichnisErstellen']='Genera un registro degli upload';
$this->phrasen['upload/verzeichnisname']='Nome cartella';
File diff suppressed because it is too large Load Diff