mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 08:34:29 +00:00
Merge branch 'master' into feature-5491/UDFWidget_add_new_features
This commit is contained in:
@@ -64,7 +64,9 @@ define('LDAP_TOO_MANY_USER_DN', 11);
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
define('LANG_SESSION_NAME', 'LANGUAGE');
|
||||
define('LANG_SESSION_INDEXES', 'LANGUAGE_INDEXES');
|
||||
define('LANG_SESSION_INDEXES', 'INDEXES');
|
||||
define('LANG_SESSION_ACTIVE_LANGUAGES', 'ACTIVE_LANGUAGES');
|
||||
define('LANG_SESSION_CURRENT_LANGUAGE', 'sprache'); // NOTE: it is not under LANG_SESSION_NAME
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -125,37 +127,25 @@ define('EMAIL_CONFIG_INDEX', 'mail');
|
||||
| Messaging system constants
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
// Email kontakt type
|
||||
define('EMAIL_KONTAKT_TYPE', 'email');
|
||||
// tbl_msg_recipient->sentInfo separator
|
||||
define('SENT_INFO_NEWLINE', '\n');
|
||||
|
||||
// Message statuses
|
||||
define('MSG_STATUS_UNREAD', 0);
|
||||
define('MSG_STATUS_READ', 1);
|
||||
define('MSG_STATUS_ARCHIVED', 2);
|
||||
define('MSG_STATUS_DELETED', 3);
|
||||
|
||||
// Priority
|
||||
define('PRIORITY_LOW', 1);
|
||||
define('PRIORITY_NORMAL', 2);
|
||||
define('PRIORITY_HIGH', 3);
|
||||
define('PRIORITY_URGENT', 4);
|
||||
// Message priorities
|
||||
define('MSG_PRIORITY_LOW', 1);
|
||||
define('MSG_PRIORITY_NORMAL', 2);
|
||||
define('MSG_PRIORITY_HIGH', 3);
|
||||
define('MSG_PRIORITY_URGENT', 4);
|
||||
|
||||
define('MSG_ERR_SUBJECT_EMPTY', 40);
|
||||
define('MSG_ERR_BODY_EMPTY', 41);
|
||||
define('MSG_ERR_TEMPLATE_NOT_FOUND', 42);
|
||||
define('MSG_ERR_DELIVERY_MESSAGE', 43);
|
||||
define('MSG_ERR_CONTACT_NOT_FOUND', 44);
|
||||
define('MSG_ERR_OU_CONTACTS_NOT_FOUND', 45);
|
||||
|
||||
define('MSG_ERR_INVALID_USER_ID', 100);
|
||||
define('MSG_ERR_INVALID_MSG_ID', 101);
|
||||
define('MSG_ERR_INVALID_THREAD_ID', 102);
|
||||
define('MSG_ERR_INVALID_STATUS_ID', 103);
|
||||
define('MSG_ERR_INVALID_SENDER_ID', 104);
|
||||
define('MSG_ERR_INVALID_RECIPIENTS', 105);
|
||||
define('MSG_ERR_INVALID_RECEIVER_ID', 106);
|
||||
define('MSG_ERR_INVALID_OU', 107);
|
||||
define('MSG_ERR_INVALID_TEMPLATE', 108);
|
||||
define('MSG_ERR_INVALID_TOKEN', 109);
|
||||
// Message error status
|
||||
define('MSG_ERR_INVALID_SUBJECT', 40);
|
||||
define('MSG_ERR_INVALID_BODY', 41);
|
||||
define('MSG_ERR_INVALID_TEMPLATE', 42);
|
||||
define('MSG_ERR_INVALID_MSG_ID', 43);
|
||||
define('MSG_ERR_INVALID_STATUS_ID', 44);
|
||||
define('MSG_ERR_INVALID_SENDER', 45);
|
||||
define('MSG_ERR_INVALID_RECIPIENTS', 46);
|
||||
define('MSG_ERR_INVALID_OU', 47);
|
||||
define('MSG_ERR_INVALID_TOKEN', 48);
|
||||
|
||||
@@ -29,3 +29,6 @@ $config['wrapchars'] = 76; // Character count to wrap at.
|
||||
$config['mailtype'] = 'html'; // html or text
|
||||
$config['priority'] = 3; // Email Priority. 1 = highest. 5 = lowest. 3 = normal
|
||||
$config['validate'] = false; // If true then the email address will be validated
|
||||
|
||||
// If enabled will be logged info about emails in Codeigniter error logs
|
||||
$config['enable_debug'] = false;
|
||||
|
||||
@@ -7,13 +7,19 @@ $config['send_immediately'] = false;
|
||||
|
||||
$config['msg_delivery'] = true; // Default true
|
||||
$config['system_person_id'] = 1; // Dummy sender, used for sending messages from the system
|
||||
$config['redirect_view_message_url'] = '/Redirect/redirectByToken/';
|
||||
$config['message_html_view_url'] = '/ViewMessage/toHTML/';
|
||||
$config['redirect_view_message_url'] = '/system/messages/ViewMessage/redirectByToken/';
|
||||
$config['message_html_view_url'] = '/system/messages/ViewMessage/toHTML/';
|
||||
|
||||
// Change this to CIS Server (https://cis.example.com/index.ci.php) if you are sending Messages from Vilesci
|
||||
$config['message_server'] = site_url();
|
||||
$config['assistent_function'] = 'ass';
|
||||
// Organization unit function that are allowed to read messages for the organisation unit
|
||||
$config['ou_receivers'] = array('ass');
|
||||
// Organization units that will never receive notice emails
|
||||
$config['ou_receivers_no_notice'] = array('infocenter');
|
||||
// Organization units that will not send the notice email to the internal account, but to the private one
|
||||
$config['ou_receivers_private'] = array('eac', 'ewu', 'scs');
|
||||
|
||||
$config['message_redirect_url'] = array();
|
||||
$config['message_redirect_url']['fallback'] = site_url('ViewMessage/writeReply');
|
||||
// $config['message_redirect_url']['OE_ROOT'] = 'https://SERVER-NAME/addons/aufnahme/OE_ROOT/cis/index.php';
|
||||
$config['message_redirect_url']['fallback'] = site_url('system/messages/ViewMessage/writeReply');
|
||||
// $config['message_redirect_url']['OE_ROOT_1'] = 'https://<server name>/addons/aufnahme/OE_ROOT/cis/index.php';
|
||||
// $config['message_redirect_url']['OE_ROOT_2'] = 'https://<server name>/<where ever you like to land to a message reply page>';
|
||||
|
||||
@@ -72,11 +72,18 @@ $config['navigation_header'] = array(
|
||||
'sort' => 40,
|
||||
'requiredPermissions' => 'basis/vilesci:r',
|
||||
'children'=> array(
|
||||
'messages' => array(
|
||||
'link' => site_url('system/messages/MessageClient/read'),
|
||||
'icon' => '',
|
||||
'target' => '_blank',
|
||||
'description' => 'Messages',
|
||||
'sort' => 10,
|
||||
),
|
||||
'bpk' => array(
|
||||
'link' => site_url('person/BPKWartung'),
|
||||
'icon' => '',
|
||||
'description' => 'BPK Wartung',
|
||||
'sort' => 10,
|
||||
'sort' => 20,
|
||||
'requiredPermissions' => 'admin:r'
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* FH-Complete
|
||||
*
|
||||
* @package FHC-API
|
||||
* @author FHC-Team
|
||||
* @copyright Copyright (c) 2016, fhcomplete.org
|
||||
* @license GPLv3
|
||||
* @link http://fhcomplete.org
|
||||
* @since Version 1.0
|
||||
* @filesource
|
||||
*/
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
if (!defined("BASEPATH")) exit("No direct script access allowed");
|
||||
|
||||
class MailJob extends Auth_Controller
|
||||
{
|
||||
/**
|
||||
* API constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// An empty array as parameter will ensure that this controller is ONLY callable from command line
|
||||
parent::__construct(array());
|
||||
|
||||
// Loads MessageLib
|
||||
$this->load->library('MessageLib');
|
||||
}
|
||||
|
||||
public function sendMessages($numberToSent = null, $numberPerTimeRange = null, $email_time_range = null, $email_from_system = null)
|
||||
{
|
||||
$this->messagelib->sendAll($numberToSent, $numberPerTimeRange, $email_time_range, $email_from_system);
|
||||
}
|
||||
}
|
||||
@@ -1,87 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* FH-Complete
|
||||
*
|
||||
* @package FHC-API
|
||||
* @author FHC-Team
|
||||
* @copyright Copyright (c) 2016, fhcomplete.org
|
||||
* @license GPLv3
|
||||
* @link http://fhcomplete.org
|
||||
* @since Version 1.0
|
||||
* @filesource
|
||||
*/
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Redirect extends FHC_Controller
|
||||
{
|
||||
/**
|
||||
* API constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loads model MessageTokenModel
|
||||
$this->load->model('system/MessageToken_model', 'MessageTokenModel');
|
||||
}
|
||||
|
||||
/**
|
||||
* 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)
|
||||
{
|
||||
$msg = $this->MessageTokenModel->getMessageByToken($token);
|
||||
if (isError($msg))
|
||||
{
|
||||
show_error(getError($msg));
|
||||
}
|
||||
|
||||
$oe_kurzbz = null;
|
||||
if (hasData($msg)) $oe_kurzbz = getData($msg)[0]->oe_kurzbz;
|
||||
|
||||
if ($oe_kurzbz != null && $oe_kurzbz != '')
|
||||
{
|
||||
$organisationRoot = null;
|
||||
|
||||
$getOERoot = $this->MessageTokenModel->getOERoot($oe_kurzbz);
|
||||
if (isSuccess($getOERoot)) // If no errors occurred
|
||||
{
|
||||
$organisationRoot = getData($getOERoot);
|
||||
}
|
||||
else
|
||||
{
|
||||
show_error('No organisation unit present in the message');
|
||||
}
|
||||
|
||||
$addonAufnahmeUrls = $this->config->item('message_redirect_url');
|
||||
if(!isset($addonAufnahmeUrls[$organisationRoot]))
|
||||
$organisationRoot = 'fallback';
|
||||
|
||||
if (isset($token)
|
||||
&& hasData($msg)
|
||||
&& is_array($addonAufnahmeUrls)
|
||||
&& $organisationRoot != null
|
||||
&& isset($addonAufnahmeUrls[$organisationRoot]))
|
||||
{
|
||||
redirect($addonAufnahmeUrls[$organisationRoot] . '?token=' . $token);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$addonAufnahmeUrls = $this->config->item('message_redirect_url');
|
||||
if (isset($token)
|
||||
&& hasData($msg)
|
||||
&& is_array($addonAufnahmeUrls)
|
||||
&& isset($addonAufnahmeUrls['fallback']))
|
||||
{
|
||||
redirect($addonAufnahmeUrls['fallback'] . '?token=' . $token);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,150 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* FH-Complete
|
||||
*
|
||||
* @package FHC-API
|
||||
* @author FHC-Team
|
||||
* @copyright Copyright (c) 2016, fhcomplete.org
|
||||
* @license GPLv3
|
||||
* @link http://fhcomplete.org
|
||||
* @since Version 1.0
|
||||
* @filesource
|
||||
*/
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Handles sending messages with token
|
||||
* NOTE: in this controller is not possible to include/call everything
|
||||
* that automatically call the authentication system, like the most of models or libraries
|
||||
*/
|
||||
class ViewMessage extends FHC_Controller
|
||||
{
|
||||
/**
|
||||
* API constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loading config file message
|
||||
$this->config->load('message');
|
||||
|
||||
// Load model MessageToken_model, not calling the authentication system
|
||||
$this->load->model('system/MessageToken_model', 'MessageTokenModel');
|
||||
$this->load->model('CL/Messages_model', 'CLMessagesModel');
|
||||
}
|
||||
|
||||
/**
|
||||
* Using the MessageTokenModel instead of MessageLib to allow
|
||||
* viewing the message without prompting the login
|
||||
*/
|
||||
public function toHTML($token)
|
||||
{
|
||||
$msg = $this->MessageTokenModel->getMessageByToken($token);
|
||||
if (isError($msg))
|
||||
{
|
||||
show_error(getError($msg));
|
||||
}
|
||||
|
||||
if (is_array(getData($msg)) && count(getData($msg)) > 0)
|
||||
{
|
||||
$setReadMessageStatusByToken = $this->MessageTokenModel->setReadMessageStatusByToken($token);
|
||||
if (isError($setReadMessageStatusByToken))
|
||||
{
|
||||
show_error(getError($setReadMessageStatusByToken));
|
||||
}
|
||||
|
||||
$sender_id = getData($msg)[0]->sender_id;
|
||||
$receiver_id = getData($msg)[0]->receiver_id;
|
||||
$sender = $this->MessageTokenModel->getSenderData($sender_id);
|
||||
|
||||
// To decide how to change the redirection
|
||||
$isEmployee = $this->MessageTokenModel->isEmployee($receiver_id);
|
||||
if (isError($isEmployee))
|
||||
{
|
||||
show_error(getError($isEmployee));
|
||||
}
|
||||
|
||||
if($this->config->item('redirect_view_message_url') != '')
|
||||
$href = $this->config->item('message_server').$this->config->item('redirect_view_message_url').$token;
|
||||
else
|
||||
$href = '';
|
||||
|
||||
$data = array (
|
||||
'sender_id' => $sender_id,
|
||||
'sender' => getData($sender)[0],
|
||||
'message' => getData($msg)[0],
|
||||
'isEmployee' => hasData($isEmployee),
|
||||
'href' => $href
|
||||
);
|
||||
|
||||
$this->load->view('system/messages/messageHTML.php', $data);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* write the reply
|
||||
*/
|
||||
public function writeReply()
|
||||
{
|
||||
$token = $this->input->get('token');
|
||||
|
||||
if (isEmptyString($token))
|
||||
{
|
||||
show_error('No token supplied');
|
||||
}
|
||||
|
||||
$msg = null;
|
||||
|
||||
// Get message data if possible
|
||||
$msg = $this->MessageTokenModel->getMessageByToken($token);
|
||||
if (!hasData($msg))
|
||||
{
|
||||
show_error('No message found');
|
||||
}
|
||||
|
||||
$msg = getData($msg)[0];
|
||||
|
||||
// Get variables
|
||||
$receiverData = $this->MessageTokenModel->getPersonData($msg->sender_id);
|
||||
if (!hasData($receiverData))
|
||||
{
|
||||
show_error('No sender found');
|
||||
}
|
||||
|
||||
$data = array (
|
||||
'receivers' => getData($receiverData),
|
||||
'message' => $msg,
|
||||
'token' => $token
|
||||
);
|
||||
|
||||
$this->load->view('system/messages/messageWriteReply', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a reply
|
||||
*/
|
||||
public function sendReply()
|
||||
{
|
||||
$subject = $this->input->post('subject');
|
||||
$body = $this->input->post('body');
|
||||
$persons = $this->input->post('persons');
|
||||
$relationmessage_id = $this->input->post('relationmessage_id');
|
||||
$token = $this->input->post('token');
|
||||
|
||||
if (!isset($relationmessage_id) || $relationmessage_id == '' || !isset($token) || $token == '')
|
||||
{
|
||||
show_error('Error while sending reply');
|
||||
}
|
||||
|
||||
$sendReply = $this->CLMessagesModel->sendReply($subject, $body, $persons, $relationmessage_id, $token);
|
||||
if (isError($sendReply))
|
||||
{
|
||||
show_error(getError($sendReply));
|
||||
}
|
||||
|
||||
$this->load->view('system/messages/messageReplySent');
|
||||
}
|
||||
}
|
||||
@@ -1,267 +1,267 @@
|
||||
<?php
|
||||
/**
|
||||
* FH-Complete
|
||||
*
|
||||
* @package FHC-API
|
||||
* @author FHC-Team
|
||||
* @copyright Copyright (c) 2016, fhcomplete.org
|
||||
* @license GPLv3
|
||||
* @link http://fhcomplete.org
|
||||
* @since Version 1.0
|
||||
* @filesource
|
||||
*/
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Person extends APIv1_Controller
|
||||
{
|
||||
/**
|
||||
* Person API constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(array('Person' => 'basis/person:rw', 'CheckBewerbung' => 'basis/person:r'));
|
||||
// Load model PersonModel
|
||||
$this->load->model('person/person_model', 'PersonModel');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function getPerson()
|
||||
{
|
||||
$person_id = $this->get('person_id');
|
||||
$code = $this->get('code');
|
||||
$email = $this->get('email');
|
||||
|
||||
if (isset($code) || isset($email) || isset($person_id))
|
||||
{
|
||||
if (isset($code) && isset($email))
|
||||
{
|
||||
$result = $this->PersonModel->getPersonKontaktByZugangscode($code, $email);
|
||||
}
|
||||
else
|
||||
{
|
||||
$parametersArray = array();
|
||||
|
||||
if (isset($code))
|
||||
{
|
||||
$parametersArray['zugangscode'] = $code;
|
||||
}
|
||||
else
|
||||
{
|
||||
$parametersArray['person_id'] = $person_id;
|
||||
}
|
||||
|
||||
$result = $this->PersonModel->loadWhere($parametersArray);
|
||||
}
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function getCheckBewerbung()
|
||||
{
|
||||
$email = $this->get('email');
|
||||
$studiensemester_kurzbz = $this->get('studiensemester_kurzbz');
|
||||
|
||||
if (isset($email))
|
||||
{
|
||||
$result = $this->PersonModel->checkBewerbung($email, $studiensemester_kurzbz);
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function postPerson()
|
||||
{
|
||||
$person = $this->post();
|
||||
$validation = $this->_validate($person);
|
||||
|
||||
if (isSuccess($validation))
|
||||
{
|
||||
if(isset($person['person_id']) && !(is_null($person['person_id'])) && ($person['person_id'] != ''))
|
||||
{
|
||||
$result = $this->PersonModel->updatePerson($person);
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = $this->PersonModel->insert($person);
|
||||
}
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response($validation, REST_Controller::HTTP_OK);
|
||||
}
|
||||
}
|
||||
|
||||
private function _validate($person)
|
||||
{
|
||||
// If $person is consistent
|
||||
if (!isset($person) || (isset($person) && !is_array($person)))
|
||||
{
|
||||
return error('Any parameters posted');
|
||||
}
|
||||
|
||||
// Trim all the values
|
||||
foreach($person as $key => $value)
|
||||
{
|
||||
if (gettype($value) == 'string')
|
||||
{
|
||||
$person[$key] = trim($value);
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($person['sprache']) && mb_strlen($person['sprache']) > 16)
|
||||
{
|
||||
return error('Sprache darf nicht laenger als 16 Zeichen sein');
|
||||
}
|
||||
if (isset($person['anrede']) && mb_strlen($person['anrede']) > 16)
|
||||
{
|
||||
return error('Anrede darf nicht laenger als 16 Zeichen sein');
|
||||
}
|
||||
if (isset($person['titelpost']) && mb_strlen($person['titelpost']) > 32)
|
||||
{
|
||||
return error('Titelpost darf nicht laenger als 32 Zeichen sein');
|
||||
}
|
||||
if (isset($person['titelpre']) && mb_strlen($person['titelpre']) > 64)
|
||||
{
|
||||
return error('Titelpre darf nicht laenger als 64 Zeichen sein');
|
||||
}
|
||||
if (isset($person['nachname']) && mb_strlen($person['nachname']) > 64)
|
||||
{
|
||||
return error('Nachname darf nicht laenger als 64 Zeichen sein');
|
||||
}
|
||||
if (isset($person['nachname']) && ($person['nachname'] == '' || is_null($person['nachname'])))
|
||||
{
|
||||
return error('Nachname muss eingegeben werden');
|
||||
}
|
||||
if (isset($person['vorname']) && mb_strlen($person['vorname']) > 32)
|
||||
{
|
||||
return error('Vorname darf nicht laenger als 32 Zeichen sein');
|
||||
}
|
||||
if (isset($person['vornamen']) && mb_strlen($person['vornamen']) > 128)
|
||||
{
|
||||
return error('Vornamen darf nicht laenger als 128 Zeichen sein');
|
||||
}
|
||||
if (isset($person['gebort']) && mb_strlen($person['gebort']) > 128)
|
||||
{
|
||||
return error('Geburtsort darf nicht laenger als 128 Zeichen sein');
|
||||
}
|
||||
if (isset($person['homepage']) && mb_strlen($person['homepage']) > 256)
|
||||
{
|
||||
return error('Homepage darf nicht laenger als 256 Zeichen sein');
|
||||
}
|
||||
if (isset($person['matr_nr']) && mb_strlen($person['matr_nr']) > 32)
|
||||
{
|
||||
return error('Matrikelnummer darf nicht laenger als 32 Zeichen sein');
|
||||
}
|
||||
if (isset($person['ersatzkennzeichen']) && mb_strlen($person['ersatzkennzeichen']) > 10)
|
||||
{
|
||||
return error('Ersatzkennzeichen darf nicht laenger als 10 Zeichen sein');
|
||||
}
|
||||
if (isset($person['familienstand']) && mb_strlen($person['familienstand']) > 1)
|
||||
{
|
||||
return error('Familienstand ist ungueltig');
|
||||
}
|
||||
if (isset($person['anzahlkinder']) && $person['anzahlkinder'] != '' && !is_numeric($person['anzahlkinder']))
|
||||
{
|
||||
return error('Anzahl der Kinder ist ungueltig');
|
||||
}
|
||||
if (!isset($person['aktiv']) || (isset($person['aktiv']) && $person['aktiv'] !== true && $person['aktiv'] !== false))
|
||||
{
|
||||
return error('Aktiv ist ungueltig');
|
||||
}
|
||||
if (!isset($person['person_id']) && isset($person['insertvon']) && mb_strlen($person['insertvon']) > 32)
|
||||
{
|
||||
return error('Insertvon darf nicht laenger als 32 Zeichen sein');
|
||||
}
|
||||
if (isset($person['updatevon']) && mb_strlen($person['updatevon']) > 32)
|
||||
{
|
||||
return error('Updatevon darf nicht laenger als 32 Zeichen sein');
|
||||
}
|
||||
if (isset($person['geburtsnation']) && mb_strlen($person['geburtsnation']) > 3)
|
||||
{
|
||||
return error('Geburtsnation darf nicht laenger als 3 Zeichen sein');
|
||||
}
|
||||
if (isset($person['staatsbuergerschaft']) && mb_strlen($person['staatsbuergerschaft']) > 3)
|
||||
{
|
||||
return error('Staatsbuergerschaft darf nicht laenger als 3 Zeichen sein');
|
||||
}
|
||||
if (!isset($person['geschlecht']) || (isset($person['geschlecht']) && mb_strlen($person['geschlecht']) > 1))
|
||||
{
|
||||
return error('Geschlecht darf nicht laenger als 1 Zeichen sein');
|
||||
}
|
||||
if (isset($person['geschlecht']) && $person['geschlecht'] != 'm' && $person['geschlecht'] != 'w' && $person['geschlecht'] != 'u')
|
||||
{
|
||||
return error('Geschlecht muss w, m oder u sein!');
|
||||
}
|
||||
|
||||
if (isset($person['svnr']))
|
||||
{
|
||||
if ($person['svnr'] != '' && mb_strlen($person['svnr']) != 16
|
||||
&& mb_strlen($person['svnr']) != 12 && mb_strlen($person['svnr']) != 10)
|
||||
{
|
||||
return error('SVNR muss 10, 12 oder 16 Zeichen lang sein');
|
||||
}
|
||||
if (mb_strlen($person['svnr']) == 10 || mb_strlen($person['svnr']) == 12)
|
||||
{
|
||||
//SVNR mit Pruefziffer pruefen
|
||||
//Die 4. Stelle in der SVNR ist die Pruefziffer
|
||||
//(Summe von (gewichtung[i]*svnr[i])) modulo 11 ergibt diese Pruefziffer
|
||||
//Falls nicht, ist die SVNR ungueltig
|
||||
$gewichtung = array(3, 7, 9, 0, 5, 8, 4, 2, 1, 6);
|
||||
$erg = 0;
|
||||
$tmpSvnr = substr($person['svnr'], 0, 10);
|
||||
//Quersumme bilden
|
||||
for ($i = 0; $i < 10; $i++)
|
||||
{
|
||||
$erg += $gewichtung[$i] * $tmpSvnr{$i};
|
||||
}
|
||||
|
||||
if ($tmpSvnr{3} != ($erg % 11)) //Vergleichen der Pruefziffer mit Quersumme Modulo 11
|
||||
{
|
||||
return error('SVNR ist ungueltig');
|
||||
}
|
||||
|
||||
if (mb_strlen($person['svnr']) == 12)
|
||||
{
|
||||
$last = substr($person['svnr'], 10, 12);
|
||||
if ($last{0} != 'v' || !is_numeric($last{1}))
|
||||
{
|
||||
return error('SVNR ist ungueltig');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Pruefen ob das Geburtsdatum mit der SVNR uebereinstimmt.
|
||||
if (isset($person['gebdatum']) && $person['svnr'] != '' && $person['gebdatum'] != '')
|
||||
{
|
||||
if (!mb_ereg('([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})', $person['gebdatum'])
|
||||
&& !mb_ereg('([0-9]{4})-([0-9]{2})-([0-9]{2})', $person['gebdatum']))
|
||||
{
|
||||
return error('Format des Geburtsdatums ist ungueltig');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success('Input data are valid');
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* FH-Complete
|
||||
*
|
||||
* @package FHC-API
|
||||
* @author FHC-Team
|
||||
* @copyright Copyright (c) 2016, fhcomplete.org
|
||||
* @license GPLv3
|
||||
* @link http://fhcomplete.org
|
||||
* @since Version 1.0
|
||||
* @filesource
|
||||
*/
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Person extends APIv1_Controller
|
||||
{
|
||||
/**
|
||||
* Person API constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(array('Person' => 'basis/person:rw', 'CheckBewerbung' => 'basis/person:r'));
|
||||
// Load model PersonModel
|
||||
$this->load->model('person/person_model', 'PersonModel');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function getPerson()
|
||||
{
|
||||
$person_id = $this->get('person_id');
|
||||
$code = $this->get('code');
|
||||
$email = $this->get('email');
|
||||
|
||||
if (isset($code) || isset($email) || isset($person_id))
|
||||
{
|
||||
if (isset($code) && isset($email))
|
||||
{
|
||||
$result = $this->PersonModel->getPersonKontaktByZugangscode($code, $email);
|
||||
}
|
||||
else
|
||||
{
|
||||
$parametersArray = array();
|
||||
|
||||
if (isset($code))
|
||||
{
|
||||
$parametersArray['zugangscode'] = $code;
|
||||
}
|
||||
else
|
||||
{
|
||||
$parametersArray['person_id'] = $person_id;
|
||||
}
|
||||
|
||||
$result = $this->PersonModel->loadWhere($parametersArray);
|
||||
}
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function getCheckBewerbung()
|
||||
{
|
||||
$email = $this->get('email');
|
||||
$studiensemester_kurzbz = $this->get('studiensemester_kurzbz');
|
||||
|
||||
if (isset($email))
|
||||
{
|
||||
$result = $this->PersonModel->checkBewerbung($email, $studiensemester_kurzbz);
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function postPerson()
|
||||
{
|
||||
$person = $this->post();
|
||||
$validation = $this->_validate($person);
|
||||
|
||||
if (isSuccess($validation))
|
||||
{
|
||||
if(isset($person['person_id']) && !(is_null($person['person_id'])) && ($person['person_id'] != ''))
|
||||
{
|
||||
$result = $this->PersonModel->updatePerson($person);
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = $this->PersonModel->insert($person);
|
||||
}
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response($validation, REST_Controller::HTTP_OK);
|
||||
}
|
||||
}
|
||||
|
||||
private function _validate($person)
|
||||
{
|
||||
// If $person is consistent
|
||||
if (!isset($person) || (isset($person) && !is_array($person)))
|
||||
{
|
||||
return error('Any parameters posted');
|
||||
}
|
||||
|
||||
// Trim all the values
|
||||
foreach($person as $key => $value)
|
||||
{
|
||||
if (gettype($value) == 'string')
|
||||
{
|
||||
$person[$key] = trim($value);
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($person['sprache']) && mb_strlen($person['sprache']) > 16)
|
||||
{
|
||||
return error('Sprache darf nicht laenger als 16 Zeichen sein');
|
||||
}
|
||||
if (isset($person['anrede']) && mb_strlen($person['anrede']) > 16)
|
||||
{
|
||||
return error('Anrede darf nicht laenger als 16 Zeichen sein');
|
||||
}
|
||||
if (isset($person['titelpost']) && mb_strlen($person['titelpost']) > 32)
|
||||
{
|
||||
return error('Titelpost darf nicht laenger als 32 Zeichen sein');
|
||||
}
|
||||
if (isset($person['titelpre']) && mb_strlen($person['titelpre']) > 64)
|
||||
{
|
||||
return error('Titelpre darf nicht laenger als 64 Zeichen sein');
|
||||
}
|
||||
if (isset($person['nachname']) && mb_strlen($person['nachname']) > 64)
|
||||
{
|
||||
return error('Nachname darf nicht laenger als 64 Zeichen sein');
|
||||
}
|
||||
if (isset($person['nachname']) && ($person['nachname'] == '' || is_null($person['nachname'])))
|
||||
{
|
||||
return error('Nachname muss eingegeben werden');
|
||||
}
|
||||
if (isset($person['vorname']) && mb_strlen($person['vorname']) > 32)
|
||||
{
|
||||
return error('Vorname darf nicht laenger als 32 Zeichen sein');
|
||||
}
|
||||
if (isset($person['vornamen']) && mb_strlen($person['vornamen']) > 128)
|
||||
{
|
||||
return error('Vornamen darf nicht laenger als 128 Zeichen sein');
|
||||
}
|
||||
if (isset($person['gebort']) && mb_strlen($person['gebort']) > 128)
|
||||
{
|
||||
return error('Geburtsort darf nicht laenger als 128 Zeichen sein');
|
||||
}
|
||||
if (isset($person['homepage']) && mb_strlen($person['homepage']) > 256)
|
||||
{
|
||||
return error('Homepage darf nicht laenger als 256 Zeichen sein');
|
||||
}
|
||||
if (isset($person['matr_nr']) && mb_strlen($person['matr_nr']) > 32)
|
||||
{
|
||||
return error('Matrikelnummer darf nicht laenger als 32 Zeichen sein');
|
||||
}
|
||||
if (isset($person['ersatzkennzeichen']) && mb_strlen($person['ersatzkennzeichen']) > 10)
|
||||
{
|
||||
return error('Ersatzkennzeichen darf nicht laenger als 10 Zeichen sein');
|
||||
}
|
||||
if (isset($person['familienstand']) && mb_strlen($person['familienstand']) > 1)
|
||||
{
|
||||
return error('Familienstand ist ungueltig');
|
||||
}
|
||||
if (isset($person['anzahlkinder']) && $person['anzahlkinder'] != '' && !is_numeric($person['anzahlkinder']))
|
||||
{
|
||||
return error('Anzahl der Kinder ist ungueltig');
|
||||
}
|
||||
if (!isset($person['aktiv']) || (isset($person['aktiv']) && $person['aktiv'] !== true && $person['aktiv'] !== false))
|
||||
{
|
||||
return error('Aktiv ist ungueltig');
|
||||
}
|
||||
if (!isset($person['person_id']) && isset($person['insertvon']) && mb_strlen($person['insertvon']) > 32)
|
||||
{
|
||||
return error('Insertvon darf nicht laenger als 32 Zeichen sein');
|
||||
}
|
||||
if (isset($person['updatevon']) && mb_strlen($person['updatevon']) > 32)
|
||||
{
|
||||
return error('Updatevon darf nicht laenger als 32 Zeichen sein');
|
||||
}
|
||||
if (isset($person['geburtsnation']) && mb_strlen($person['geburtsnation']) > 3)
|
||||
{
|
||||
return error('Geburtsnation darf nicht laenger als 3 Zeichen sein');
|
||||
}
|
||||
if (isset($person['staatsbuergerschaft']) && mb_strlen($person['staatsbuergerschaft']) > 3)
|
||||
{
|
||||
return error('Staatsbuergerschaft darf nicht laenger als 3 Zeichen sein');
|
||||
}
|
||||
if (!isset($person['geschlecht']) || (isset($person['geschlecht']) && mb_strlen($person['geschlecht']) > 1))
|
||||
{
|
||||
return error('Geschlecht darf nicht laenger als 1 Zeichen sein');
|
||||
}
|
||||
if (isset($person['geschlecht']) && $person['geschlecht'] != 'm' && $person['geschlecht'] != 'w' && $person['geschlecht'] != 'u')
|
||||
{
|
||||
return error('Geschlecht muss w, m oder u sein!');
|
||||
}
|
||||
|
||||
if (isset($person['svnr']))
|
||||
{
|
||||
if ($person['svnr'] != '' && mb_strlen($person['svnr']) != 16
|
||||
&& mb_strlen($person['svnr']) != 12 && mb_strlen($person['svnr']) != 10)
|
||||
{
|
||||
return error('SVNR muss 10, 12 oder 16 Zeichen lang sein');
|
||||
}
|
||||
if (mb_strlen($person['svnr']) == 10 || mb_strlen($person['svnr']) == 12)
|
||||
{
|
||||
//SVNR mit Pruefziffer pruefen
|
||||
//Die 4. Stelle in der SVNR ist die Pruefziffer
|
||||
//(Summe von (gewichtung[i]*svnr[i])) modulo 11 ergibt diese Pruefziffer
|
||||
//Falls nicht, ist die SVNR ungueltig
|
||||
$gewichtung = array(3, 7, 9, 0, 5, 8, 4, 2, 1, 6);
|
||||
$erg = 0;
|
||||
$tmpSvnr = substr($person['svnr'], 0, 10);
|
||||
//Quersumme bilden
|
||||
for ($i = 0; $i < 10; $i++)
|
||||
{
|
||||
$erg += $gewichtung[$i] * $tmpSvnr{$i};
|
||||
}
|
||||
|
||||
if ($tmpSvnr{3} != ($erg % 11)) //Vergleichen der Pruefziffer mit Quersumme Modulo 11
|
||||
{
|
||||
return error('SVNR ist ungueltig');
|
||||
}
|
||||
|
||||
if (mb_strlen($person['svnr']) == 12)
|
||||
{
|
||||
$last = substr($person['svnr'], 10, 12);
|
||||
if ($last{0} != 'v' || !is_numeric($last{1}))
|
||||
{
|
||||
return error('SVNR ist ungueltig');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Pruefen ob das Geburtsdatum mit der SVNR uebereinstimmt.
|
||||
if (isset($person['gebdatum']) && $person['svnr'] != '' && $person['gebdatum'] != '')
|
||||
{
|
||||
if (!mb_ereg('([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})', $person['gebdatum'])
|
||||
&& !mb_ereg('([0-9]{4})-([0-9]{2})-([0-9]{2})', $person['gebdatum']))
|
||||
{
|
||||
return error('Format des Geburtsdatums ist ungueltig');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success('Input data are valid');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,26 +144,26 @@ class Message extends APIv1_Controller
|
||||
*/
|
||||
public function postMessage()
|
||||
{
|
||||
$validation = $this->_validatePostMessage($this->post());
|
||||
$postMessage = $this->_validatePostMessage($this->post());
|
||||
|
||||
if (isSuccess($validation))
|
||||
if (isSuccess($postMessage))
|
||||
{
|
||||
$result = $this->messagelib->sendMessage(
|
||||
isset($this->post()['person_id']) ? $this->post()['person_id'] : null,
|
||||
isset($this->post()['receiver_id']) ? $this->post()['receiver_id'] : null,
|
||||
$this->post()['subject'],
|
||||
$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, // Sender organisation unit
|
||||
isset($this->post()['multiPartMime']) ? $this->post()['multiPartMime'] : true
|
||||
$result = $this->messagelib->sendMessageUser(
|
||||
$this->post()['receiver_id'], // receiverPersonId
|
||||
$this->post()['subject'], // subject
|
||||
$this->post()['body'], // body
|
||||
$this->post()['person_id'] ? $this->post()['person_id'] : null, // sender_id
|
||||
isset($this->post()['oe_kurzbz']) ? $this->post()['oe_kurzbz'] : null, // senderOU
|
||||
isset($this->post()['relationmessage_id']) ? $this->post()['relationmessage_id'] : null, // relationmessage_id
|
||||
MSG_PRIORITY_NORMAL, // priority
|
||||
isset($this->post()['multiPartMime']) ? $this->post()['multiPartMime'] : true // multiPartMime
|
||||
);
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response($validation, REST_Controller::HTTP_OK);
|
||||
$this->response($postMessage, REST_Controller::HTTP_OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,26 +172,27 @@ class Message extends APIv1_Controller
|
||||
*/
|
||||
public function postMessageVorlage()
|
||||
{
|
||||
$validation = $this->_validatePostMessageVorlage($this->post());
|
||||
$postMessage = $this->_validatePostMessageVorlage($this->post());
|
||||
|
||||
if (isSuccess($validation))
|
||||
if (isSuccess($postMessage))
|
||||
{
|
||||
$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, // 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
|
||||
$result = $this->messagelib->sendMessageUserTemplate(
|
||||
isset($this->post()['receiver_id']) ? $this->post()['receiver_id'] : null, // receiversPersonId
|
||||
$this->post()['vorlage_kurzbz'], // vorlage
|
||||
$this->post()['data'], // parseData
|
||||
isset($this->post()['orgform_kurzbz']) ? $this->post()['orgform_kurzbz'] : null, // orgform
|
||||
isset($this->post()['sender_id']) ? $this->post()['sender_id'] : null, // sender_id
|
||||
isset($this->post()['oe_kurzbz']) ? $this->post()['oe_kurzbz'] : null, // senderOU
|
||||
isset($this->post()['relationmessage_id']) ? $this->post()['relationmessage_id'] : null, // relationmessage_id
|
||||
MSG_PRIORITY_NORMAL, // priority
|
||||
isset($this->post()['multiPartMime']) ? $this->post()['multiPartMime'] : true // multiPartMime
|
||||
);
|
||||
|
||||
$this->response($result, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response($validation, REST_Controller::HTTP_OK);
|
||||
$this->response($postMessage, REST_Controller::HTTP_OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,26 +221,26 @@ class Message extends APIv1_Controller
|
||||
/**
|
||||
* _validatePostMessage
|
||||
*/
|
||||
private function _validatePostMessage($message = null)
|
||||
private function _validatePostMessage($post = null)
|
||||
{
|
||||
if (!isset($message))
|
||||
if (!isset($post))
|
||||
{
|
||||
return error('Parameter is null');
|
||||
}
|
||||
if (!isset($message['subject']))
|
||||
if (!isset($post['subject']))
|
||||
{
|
||||
return error('subject is not set');
|
||||
}
|
||||
if( !isset($message['body']))
|
||||
if (!isset($post['body']))
|
||||
{
|
||||
return error('body is not set');
|
||||
}
|
||||
if (!isset($message['receiver_id']) && !isset($message['oe_kurzbz']))
|
||||
if (!isset($post['receiver_id']))
|
||||
{
|
||||
return error('If a receiver_id is not given a oe_kurzbz must be specified');
|
||||
return error('receiver_id is not set');
|
||||
}
|
||||
|
||||
return success('Input data are valid');
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
if (!defined("BASEPATH")) exit("No direct script access allowed");
|
||||
|
||||
class MailJob extends JOB_Controller
|
||||
{
|
||||
/**
|
||||
* API constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loads MessageLib
|
||||
$this->load->library('MessageLib');
|
||||
}
|
||||
|
||||
/**
|
||||
* Send all the NOT sent notice emails for messaging system
|
||||
* The parameters are all not mandatory, they could be used to overrides the configs for testing, debug or one shot purposes
|
||||
*/
|
||||
public function sendAllMessageEmailNotices($since = '1970-01-01', $numberToSent = null, $numberPerTimeRange = null, $emailTimeRange = null, $emailFromSystem = null)
|
||||
{
|
||||
$this->logInfo('Send all message email notices started');
|
||||
|
||||
// Send them all!
|
||||
$sendAllEmailNotices = $this->messagelib->sendAllEmailNotices($since, $numberToSent, $numberPerTimeRange, $emailTimeRange, $emailFromSystem);
|
||||
|
||||
if (isError($sendAllEmailNotices))
|
||||
{
|
||||
$optionalParameters = new stdClass();
|
||||
$optionalParameters->$since = $since;
|
||||
$optionalParameters->$numberToSent = $numberToSent;
|
||||
$optionalParameters->$numberPerTimeRange = $numberPerTimeRange;
|
||||
$optionalParameters->$emailTimeRange = $emailTimeRange;
|
||||
$optionalParameters->$emailFromSystem = $emailFromSystem;
|
||||
|
||||
$this->logError($sendAllEmailNotices->retval, $optionalParameters);
|
||||
}
|
||||
elseif (!hasData($sendAllEmailNotices))
|
||||
{
|
||||
$this->logInfo('There were no unsent messages');
|
||||
}
|
||||
|
||||
$this->logInfo('Send all message email notices ended');
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -26,7 +26,7 @@ class Lehrauftrag extends Auth_Controller
|
||||
array(
|
||||
'index' => 'lehre/lehrauftrag_bestellen:r',
|
||||
'orderLehrauftrag' => 'lehre/lehrauftrag_bestellen:rw',
|
||||
'Dashboard' => array('lehre/lehrauftrag_bestellen:r', 'lehre/lehrauftrag_erteilen:rw'),
|
||||
'Dashboard' => array('lehre/lehrauftrag_bestellen:r', 'lehre/lehrauftrag_erteilen:r'),
|
||||
'LehrendeUebersicht' => array('lehre/lehrauftrag_erteilen:r')
|
||||
)
|
||||
);
|
||||
@@ -107,7 +107,7 @@ class Lehrauftrag extends Auth_Controller
|
||||
$studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester
|
||||
if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value
|
||||
{
|
||||
$studiensemester = $this->StudiensemesterModel->getNext();
|
||||
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester();
|
||||
if (hasData($studiensemester))
|
||||
{
|
||||
$studiensemester_kurzbz = $studiensemester->retval[0]->studiensemester_kurzbz;
|
||||
|
||||
@@ -71,7 +71,7 @@ class LehrauftragAkzeptieren extends Auth_Controller
|
||||
$studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester
|
||||
if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value
|
||||
{
|
||||
$studiensemester = $this->StudiensemesterModel->getNext();
|
||||
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester();
|
||||
if (hasData($studiensemester))
|
||||
{
|
||||
$studiensemester_kurzbz = $studiensemester->retval[0]->studiensemester_kurzbz;
|
||||
@@ -184,14 +184,14 @@ class LehrauftragAkzeptieren extends Auth_Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if lectors latest active Verwendung has inkludierte Lehre
|
||||
* Check if lectors latest Verwendung has inkludierte Lehre
|
||||
* - inkludierte_lehre is null OR 0: freelancer lector -> has NO inkludierte Lehre
|
||||
* - inkludierte_lehre -1: fix employed lector -> has inkludierte Lehre (all inclusive)
|
||||
* - inkludierte_lehre > 0: fix employed lector -> has inkludierte Lehre (value is amount of hours included)
|
||||
*/
|
||||
public function checkInkludierteLehre()
|
||||
{
|
||||
$result = $this->BisverwendungModel->getLast($this->_uid);
|
||||
$result = $this->BisverwendungModel->getLast($this->_uid, false);
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
|
||||
@@ -90,7 +90,7 @@ class LehrauftragErteilen extends Auth_Controller
|
||||
$studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester
|
||||
if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value
|
||||
{
|
||||
$studiensemester = $this->StudiensemesterModel->getNext();
|
||||
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester();
|
||||
if (hasData($studiensemester))
|
||||
{
|
||||
$studiensemester_kurzbz = $studiensemester->retval[0]->studiensemester_kurzbz;
|
||||
|
||||
@@ -1,191 +0,0 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class FASMessages extends Auth_Controller
|
||||
{
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(
|
||||
array(
|
||||
'write' => 'basis/message:rw',
|
||||
'writeReply' => 'basis/message:rw'
|
||||
)
|
||||
);
|
||||
|
||||
// Loads the message library
|
||||
$this->load->library('MessageLib');
|
||||
|
||||
// Loads the widget library
|
||||
$this->load->library('WidgetLib');
|
||||
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
'ui'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Public methods
|
||||
|
||||
/**
|
||||
* Write a new message
|
||||
*/
|
||||
public function write($sender_id)
|
||||
{
|
||||
$prestudent_id = $this->input->post('prestudent_id'); // recipients prestudend_id(s)
|
||||
|
||||
if (!is_numeric($sender_id))
|
||||
{
|
||||
show_error('The current logged user person_id is not defined');
|
||||
}
|
||||
|
||||
$msgVarsData = $this->_getMsgVarsData($prestudent_id);
|
||||
|
||||
// Retrieves message vars for a person from view view vw_msg_vars_person
|
||||
$variablesArray = $this->_getMessageVarsPerson();
|
||||
|
||||
// Organisation units used to get the templates
|
||||
$oe_kurzbz = $this->_getOeKurzbz($sender_id);
|
||||
|
||||
// Admin or commoner?
|
||||
$isAdmin = $this->_getIsAdmin($sender_id);
|
||||
|
||||
$data = array(
|
||||
'recipients' => getData($msgVarsData),
|
||||
'variables' => $variablesArray,
|
||||
'oe_kurzbz' => $oe_kurzbz, // used to get the templates
|
||||
'isAdmin' => $isAdmin
|
||||
);
|
||||
|
||||
$this->load->view('system/messages/messageWrite', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Write a reply
|
||||
*/
|
||||
public function writeReply($sender_id, $msg_id, $receiver_id)
|
||||
{
|
||||
$prestudent_id = $this->input->post('prestudent_id'); // recipients prestudend_id(s)
|
||||
|
||||
if (!is_numeric($sender_id))
|
||||
{
|
||||
show_error('The current logged user person_id is not defined');
|
||||
}
|
||||
|
||||
if (!is_numeric($msg_id))
|
||||
{
|
||||
show_error('The msg_id must be a number');
|
||||
}
|
||||
|
||||
if (!is_numeric($receiver_id))
|
||||
{
|
||||
show_error('The receiver_id must be a number');
|
||||
}
|
||||
|
||||
$msg = $this->_getMessage($msg_id, $receiver_id);
|
||||
|
||||
$msgVarsData = $this->_getMsgVarsData($prestudent_id);
|
||||
|
||||
// Retrieves message vars for a person from view view vw_msg_vars_person
|
||||
$variablesArray = $this->_getMessageVarsPerson();
|
||||
|
||||
// Organisation units used to get the templates
|
||||
$oe_kurzbz = $this->_getOeKurzbz($sender_id);
|
||||
|
||||
// Admin or commoner?
|
||||
$isAdmin = $this->_getIsAdmin($sender_id);
|
||||
|
||||
$data = array(
|
||||
'recipients' => getData($msgVarsData),
|
||||
'message' => $msg,
|
||||
'variables' => $variablesArray,
|
||||
'oe_kurzbz' => $oe_kurzbz, // used to get the templates
|
||||
'isAdmin' => $isAdmin
|
||||
);
|
||||
|
||||
$this->load->view('system/messages/messageWrite', $data);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Private methods
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _getMessage($msg_id, $receiver_id)
|
||||
{
|
||||
$msg = $this->messagelib->getMessage($msg_id, $receiver_id);
|
||||
if (isError($msg))
|
||||
{
|
||||
show_error(getError($msg));
|
||||
}
|
||||
elseif (!hasData($msg))
|
||||
{
|
||||
show_error('The selected message does not exist');
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg = getData($msg)[0];
|
||||
}
|
||||
|
||||
return $msg;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves message vars from view vw_msg_vars
|
||||
*/
|
||||
private function _getMsgVarsData($prestudent_id)
|
||||
{
|
||||
$this->load->model('system/Message_model', 'MessageModel');
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudent_id);
|
||||
|
||||
if (isError($msgVarsData))
|
||||
{
|
||||
show_error(getError($msgVarsData));
|
||||
}
|
||||
|
||||
return $msgVarsData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper method to call messagelib->getMessageVarsPerson
|
||||
*/
|
||||
private function _getMessageVarsPerson()
|
||||
{
|
||||
$variables = $this->messagelib->getMessageVarsPerson();
|
||||
|
||||
if (isError($variables)) show_error(getError($variables));
|
||||
|
||||
return getData($variables);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper method to call messagelib->getOeKurzbz
|
||||
*/
|
||||
private function _getOeKurzbz($sender_id)
|
||||
{
|
||||
$oe_kurzbz = $this->messagelib->getOeKurzbz($sender_id);
|
||||
|
||||
if (isError($oe_kurzbz)) show_error(getError($oe_kurzbz));
|
||||
|
||||
return getData($oe_kurzbz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper method to call messagelib->getIsAdmin
|
||||
*/
|
||||
private function _getIsAdmin($sender_id)
|
||||
{
|
||||
$isAdmin = $this->messagelib->getIsAdmin($sender_id);
|
||||
|
||||
if (isError($isAdmin)) show_error(getError($isAdmin));
|
||||
|
||||
return getData($isAdmin);
|
||||
}
|
||||
}
|
||||
@@ -1,210 +0,0 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Messages extends Auth_Controller
|
||||
{
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(
|
||||
array(
|
||||
'write' => array('basis/message:rw', 'infocenter:rw'),
|
||||
'send' => array('basis/message:rw', 'infocenter:rw'),
|
||||
'sendJson' => array('basis/message:rw', 'infocenter:rw'),
|
||||
'getVorlage' => array('basis/message:r', 'infocenter:r'),
|
||||
'parseMessageText' => array('basis/message:r', 'infocenter:r'),
|
||||
'getMessageFromIds' => array('basis/message:r', 'infocenter:r')
|
||||
)
|
||||
);
|
||||
|
||||
// Loads the message library
|
||||
$this->load->library('MessageLib');
|
||||
|
||||
// Loads the widget library
|
||||
$this->load->library('WidgetLib');
|
||||
|
||||
$this->load->model('system/Message_model', 'MessageModel');
|
||||
$this->load->model('CL/Messages_model', 'CLMessagesModel');
|
||||
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
'ui'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Public methods
|
||||
|
||||
/**
|
||||
* Write a new message
|
||||
*/
|
||||
public function write()
|
||||
{
|
||||
$person_id = $this->input->post('person_id');
|
||||
$sender_id = null;
|
||||
|
||||
$authUser = $this->CLMessagesModel->getAuthUser();
|
||||
if (isError($authUser))
|
||||
{
|
||||
show_error(getError($authUser));
|
||||
}
|
||||
else
|
||||
{
|
||||
$sender_id = getData($authUser)[0]->person_id;
|
||||
}
|
||||
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPersonId($person_id);
|
||||
if (isError($msgVarsData)) show_error(getError($msgVarsData));
|
||||
|
||||
// Retrieves message vars for a person from view view vw_msg_vars_person
|
||||
$variables = $this->messagelib->getMessageVarsPerson();
|
||||
if (isError($variables)) show_error(getError($variables));
|
||||
|
||||
// Organisation units used to get the templates
|
||||
$oe_kurzbz = $this->messagelib->getOeKurzbz($sender_id);
|
||||
if (isError($oe_kurzbz)) show_error(getError($oe_kurzbz));
|
||||
|
||||
// Admin or commoner?
|
||||
$isAdmin = $this->messagelib->getIsAdmin($sender_id);
|
||||
if (isError($isAdmin)) show_error(getError($isAdmin));
|
||||
|
||||
$data = array (
|
||||
'recipients' => getData($msgVarsData),
|
||||
'variables' => getData($variables),
|
||||
'oe_kurzbz' => getData($oe_kurzbz), // used to get the templates
|
||||
'isAdmin' => getData($isAdmin)
|
||||
);
|
||||
|
||||
$this->load->view('system/messages/messageWrite', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send message
|
||||
*/
|
||||
public function send()
|
||||
{
|
||||
$persons = $this->input->post('persons');
|
||||
$relationmessage_id = $this->input->post('relationmessage_id');
|
||||
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPersonId($persons);
|
||||
|
||||
$send = $this->CLMessagesModel->send($msgVarsData, $relationmessage_id);
|
||||
|
||||
$this->load->view('system/messages/messageSent', array('success' => isSuccess($send)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Send message, response is in JSON format
|
||||
*/
|
||||
public function sendJson()
|
||||
{
|
||||
$prestudents = $this->input->post('prestudents');
|
||||
$vorlage_kurzbz = $this->input->post('vorlage_kurzbz');
|
||||
$oe_kurzbz = $this->input->post('oe_kurzbz');
|
||||
$msgVars = $this->input->post('msgvars');
|
||||
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudents);
|
||||
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
$prestudentsData = $this->PrestudentModel->getOrganisationunits($prestudents);
|
||||
|
||||
// Adds the organisation unit to each prestudent
|
||||
if (isEmptyString($oe_kurzbz) && hasData($msgVarsData) && hasData($prestudentsData))
|
||||
{
|
||||
$this->CLMessagesModel->addOeToPrestudents($msgVarsData, $prestudentsData);
|
||||
}
|
||||
|
||||
$send = $this->CLMessagesModel->send($msgVarsData, null, $oe_kurzbz, $vorlage_kurzbz, $msgVars);
|
||||
if (isError($send))
|
||||
{
|
||||
$this->outputJsonError(getError($send));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->outputJsonSuccess(getData($send));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getVorlage
|
||||
*/
|
||||
public function getVorlage()
|
||||
{
|
||||
$vorlage_kurzbz = $this->input->get('vorlage_kurzbz');
|
||||
$result = null;
|
||||
|
||||
if (!isEmptyString($vorlage_kurzbz))
|
||||
{
|
||||
$this->load->model('system/Vorlagestudiengang_model', 'VorlagestudiengangModel');
|
||||
$this->VorlagestudiengangModel->addOrder('version','DESC');
|
||||
|
||||
$result = $this->VorlagestudiengangModel->loadWhere(array('vorlage_kurzbz' => $vorlage_kurzbz));
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = error('The given vorlage_kurzbz is not valid');
|
||||
}
|
||||
|
||||
if (isError($result) || !hasData($result))
|
||||
{
|
||||
$this->outputJsonError(getError($result));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->outputJsonSuccess(getData($result));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* parseMessageText
|
||||
*/
|
||||
public function parseMessageText()
|
||||
{
|
||||
$person_id = $this->input->get('person_id');
|
||||
$text = $this->input->get('text');
|
||||
$parsedText = '';
|
||||
$data = null;
|
||||
|
||||
if (is_numeric($person_id))
|
||||
{
|
||||
$data = $this->MessageModel->getMsgVarsDataByPersonId($person_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
$data = error('The given person_id is not a valid number');
|
||||
}
|
||||
|
||||
if (isError($data) || !hasData($data))
|
||||
{
|
||||
$this->outputJsonError(getError($data));
|
||||
}
|
||||
else
|
||||
{
|
||||
$parsedText = $this->messagelib->parseMessageText($text, $this->CLMessagesModel->replaceKeys((array)getData($data)[0]));
|
||||
|
||||
$this->outputJsonSuccess($parsedText);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Outputs message data for a message (identified my msg id and receiver id) in JSON format
|
||||
* @param $msg_id
|
||||
* @param $receiver_id
|
||||
*/
|
||||
public function getMessageFromIds()
|
||||
{
|
||||
$msg_id = $this->input->get('msg_id');
|
||||
$receiver_id = $this->input->get('receiver_id');
|
||||
|
||||
$msg = $this->messagelib->getMessage($msg_id, $receiver_id);
|
||||
|
||||
$this->output
|
||||
->set_content_type('application/json')
|
||||
->set_output(json_encode(array(getData($msg)[0])));
|
||||
}
|
||||
}
|
||||
@@ -161,7 +161,7 @@ class Phrases extends Auth_Controller
|
||||
|
||||
$phrase_inhalt = $this->phraseslib->insertPhraseinhalt($data);
|
||||
if ($phrase_inhalt->error)
|
||||
show_error(getError($phrase_inhalt);
|
||||
show_error(getError($phrase_inhalt));
|
||||
|
||||
$phrase_inhalt_id = $phrase_inhalt->retval;
|
||||
|
||||
|
||||
@@ -269,7 +269,7 @@ class Vorlage extends Auth_Controller
|
||||
show_error(getError($vorlagetext));
|
||||
|
||||
$data = array(
|
||||
'text' => $this->vorlagelib->parseVorlagetext($vorlagetext->retval[0]->text, $jsonDecodedForm)
|
||||
'text' => parseText($vorlagetext->retval[0]->text, $jsonDecodedForm)
|
||||
);
|
||||
|
||||
$this->load->view('system/vorlage/templatetextPreview', $data);
|
||||
|
||||
@@ -69,6 +69,7 @@ class InfoCenter extends Auth_Controller
|
||||
// Name of Interessentenstatus
|
||||
const INTERESSENTSTATUS = 'Interessent';
|
||||
const ABGEWIESENERSTATUS = 'Abgewiesener';
|
||||
const BEWERBERSTATUS = 'Bewerber';
|
||||
|
||||
// Statusgruende for which no Studiengangsfreigabemessage should be sent
|
||||
private $_statusgruendeNoStgFreigabeMessage = array('FIT Programm', 'FIT program', 'FIT programme');
|
||||
@@ -493,7 +494,9 @@ class InfoCenter extends Auth_Controller
|
||||
|
||||
$logdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
|
||||
|
||||
$akteresult = $this->AkteModel->loadWhere(array('person_id' => $logdata['person_id'], 'formal_geprueft_amum !=' => NULL));
|
||||
$person_id = $logdata['person_id'];
|
||||
|
||||
$akteresult = $this->AkteModel->loadWhere(array('person_id' => $person_id, 'formal_geprueft_amum !=' => NULL));
|
||||
|
||||
if (hasData($lastStatus) && isSuccess($akteresult))
|
||||
{
|
||||
@@ -529,6 +532,8 @@ class InfoCenter extends Auth_Controller
|
||||
if (isSuccess($result))
|
||||
{
|
||||
$this->load->model('crm/Dokumentprestudent_model', 'DokumentprestudentModel');
|
||||
$json->retval['nonCriticalErrors'] = array();
|
||||
$json->retval['infoMessages'] = array();
|
||||
|
||||
//set documents which have been formal geprüft to accepted
|
||||
$dokument_kurzbzs = array();
|
||||
@@ -542,7 +547,7 @@ class InfoCenter extends Auth_Controller
|
||||
|
||||
// acceptresult returns null if no documents to accept
|
||||
if ($acceptresult !== null && isError($acceptresult))
|
||||
$json->retval['nonCriticalErrors'] = 'error when accepting documents in FAS';
|
||||
$json->retval['nonCriticalErrors'][] = 'error when accepting documents in FAS';
|
||||
|
||||
$logparams = array($prestudent_id, $logdata['studiengang_kurzbz'], '');
|
||||
|
||||
@@ -554,8 +559,69 @@ class InfoCenter extends Auth_Controller
|
||||
if (hasData($statusgrund_kurzbz))
|
||||
$logparams[2] = ', confirmation type '.$statusgrund_kurzbz->retval[0]->bezeichnung_mehrsprachig[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
// check if there is already a Bewerberstatus and Reihungsverfahren already absolviert
|
||||
$bewerber = $this->PersonModel->hasBewerber($person_id, $lastStatus->studiensemester_kurzbz, 'b');
|
||||
|
||||
$this->_log($logdata['person_id'], 'freigegeben', $logparams);
|
||||
if (hasData($bewerber))
|
||||
{
|
||||
$bewerbercnt = getData($bewerber);
|
||||
|
||||
if (is_numeric($bewerbercnt[0]->anzahl_bewerber) && $bewerbercnt[0]->anzahl_bewerber > 0)
|
||||
{
|
||||
// then insert Bewerberstatus and rt absolviert, teilgenommen for prestudent
|
||||
$bewerberresult = $this->PrestudentstatusModel->insert(
|
||||
array(
|
||||
'prestudent_id' => $prestudent_id,
|
||||
'status_kurzbz' => self::BEWERBERSTATUS,
|
||||
'studiensemester_kurzbz' => $lastStatus->studiensemester_kurzbz,
|
||||
'ausbildungssemester' => $lastStatus->ausbildungssemester,
|
||||
'datum' => date('Y-m-d'),
|
||||
'orgform_kurzbz' => $lastStatus->orgform_kurzbz,
|
||||
'studienplan_id' => $lastStatus->studienplan_id,
|
||||
'insertvon' => $this->_uid,
|
||||
'insertamum' => date('Y-m-d H:i:s')
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($bewerberresult))
|
||||
$json->retval['nonCriticalErrors'][] = 'error when inserting Bewerberstatus';
|
||||
|
||||
$rtangetretenres = $this->PrestudentModel->update(
|
||||
$prestudent_id,
|
||||
array(
|
||||
'reihungstestangetreten' => true
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($rtangetretenres))
|
||||
{
|
||||
$json->retval['nonCriticalErrors'][] = 'error when setting reihungstestangetreten';
|
||||
}
|
||||
else
|
||||
{
|
||||
$json->retval['infoMessages'][] = $this->p->t('infocenter', 'rtPunkteEintragenInfo');
|
||||
$this->load->model('crm/RtPerson_model', 'RtPersonModel');
|
||||
|
||||
$rtteilgenommenres = $this->RtPersonModel->update(
|
||||
array(
|
||||
'person_id' => $person_id,
|
||||
'studienplan_id' => $lastStatus->studienplan_id
|
||||
),
|
||||
array(
|
||||
'teilgenommen' => true
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($rtteilgenommenres))
|
||||
$json->retval['nonCriticalErrors'][] = 'error when setting reihungstest teilgenommen';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->_log($person_id, 'freigegeben', $logparams);
|
||||
|
||||
$this->_sendFreigabeMail($prestudent_id);
|
||||
}
|
||||
@@ -649,7 +715,7 @@ class InfoCenter extends Auth_Controller
|
||||
public function reloadMessages($person_id)
|
||||
{
|
||||
$messages = $this->MessageModel->getMessagesOfPerson($person_id, 1);
|
||||
$this->load->view('system/messages/messageList.php', array('messages' => $messages->retval));
|
||||
$this->load->view('system/infocenter/messageList.php', array('messages' => $messages->retval));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1501,7 +1567,7 @@ class InfoCenter extends Auth_Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends infomail with prestudent and person data when Prestudent is freigegeben
|
||||
* Sends infomail to Studiengang with prestudent and person data when Prestudent is freigegeben
|
||||
* @param $prestudent_id
|
||||
*/
|
||||
private function _sendFreigabeMail($prestudent_id)
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class FASMessages extends Auth_Controller
|
||||
{
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(
|
||||
array(
|
||||
'writeTemplate' => 'basis/message:rw',
|
||||
'writeReplyTemplate' => 'basis/message:rw'
|
||||
)
|
||||
);
|
||||
|
||||
// Loads model CLMessagesModel which contains the GUI logic
|
||||
$this->load->model('CL/Messages_model', 'CLMessagesModel');
|
||||
|
||||
// Phrases used in loaded views
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
'ui'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes a new message to a prestudent using templates
|
||||
*/
|
||||
public function writeTemplate()
|
||||
{
|
||||
$prestudents = $this->input->post('prestudent_id'); // recipients prestudend_id(s)
|
||||
|
||||
// Loads the view to write a new message with a template
|
||||
$this->load->view(
|
||||
'system/messages/htmlWriteTemplate',
|
||||
$this->CLMessagesModel->prepareHtmlWriteTemplatePrestudents($prestudents)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes a reply to a message identified by parameters $message_id and $recipient_id
|
||||
* The recipient is a prestudent
|
||||
* Uses templates
|
||||
*/
|
||||
public function writeReplyTemplate($message_id, $recipient_id)
|
||||
{
|
||||
$prestudents = $this->input->post('prestudent_id'); // recipients prestudend_id(s)
|
||||
|
||||
// Loads the view to write a new message with a template
|
||||
$this->load->view(
|
||||
'system/messages/htmlWriteTemplate',
|
||||
$this->CLMessagesModel->prepareHtmlWriteTemplatePrestudents($prestudents, $message_id, $recipient_id)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* NOTE: MessageClient extends FHC_Controller and NOT Auth_Controller to be able to use
|
||||
* the authentication system without the need to load the permissions system
|
||||
*/
|
||||
class MessageClient extends FHC_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loads authentication library and starts authentication
|
||||
// NOTE: it is loaded here because the controller extends FHC_Controller and NOT Auth_Controller
|
||||
$this->load->library('AuthLib');
|
||||
|
||||
// Loads model CLMessagesModel which contains the GUI logic
|
||||
$this->load->model('CL/Messages_model', 'CLMessagesModel');
|
||||
|
||||
// Phrases used in loaded views
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
'ui'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts the GUI used to read all the personal messages
|
||||
*/
|
||||
public function read()
|
||||
{
|
||||
// Loads the view to read messages
|
||||
$this->load->view('system/messages/ajaxRead');
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts the GUI used to write a personal message to an organisation unit
|
||||
*/
|
||||
public function write()
|
||||
{
|
||||
// Loads the view to write a message
|
||||
$this->load->view('system/messages/ajaxWrite', $this->CLMessagesModel->prepareAjaxWrite());
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts the GUI used to reply to a received personal message
|
||||
*/
|
||||
public function writeReply()
|
||||
{
|
||||
$token = $this->input->get('token');
|
||||
|
||||
// Loads the view to reply to a message
|
||||
$this->load->view('system/messages/ajaxWriteReply', $this->CLMessagesModel->prepareAjaxWriteReply($token));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns JSON that that contains all the received messages by the currently logged user
|
||||
*/
|
||||
public function listReceivedMessages()
|
||||
{
|
||||
$this->outputJson($this->CLMessagesModel->prepareAjaxReadReceived());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns JSON that that contains all the sent messages by the currently logged user
|
||||
*/
|
||||
public function listSentMessages()
|
||||
{
|
||||
$this->outputJson($this->CLMessagesModel->prepareAjaxReadSent());
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a message to an organisation unit
|
||||
*/
|
||||
public function sendMessageToOU()
|
||||
{
|
||||
$receiverOU = $this->input->post('receiverOU');
|
||||
$subject = $this->input->post('subject');
|
||||
$body = $this->input->post('body');
|
||||
|
||||
$this->outputJson($this->CLMessagesModel->sendToOrganisationUnit($receiverOU, $subject, $body));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a message to an organisation unit
|
||||
*/
|
||||
public function sendMessageReply()
|
||||
{
|
||||
$receiver_id = $this->input->post('receiver_id');
|
||||
$relationmessage_id = $this->input->post('relationmessage_id');
|
||||
$token = $this->input->post('token');
|
||||
$subject = $this->input->post('subject');
|
||||
$body = $this->input->post('body');
|
||||
|
||||
$this->outputJson($this->CLMessagesModel->sendReply($receiver_id, $subject, $body, $relationmessage_id, $token));
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a message as read
|
||||
*/
|
||||
public function setMessageRead()
|
||||
{
|
||||
$message_id = $this->input->post('message_id');
|
||||
$statusPersonId = $this->input->post('statusPersonId');
|
||||
|
||||
$this->outputJson($this->CLMessagesModel->setMessageRead($message_id, $statusPersonId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Messages extends Auth_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(
|
||||
array(
|
||||
'writeTemplate' => array('basis/message:rw', 'infocenter:rw'),
|
||||
'sendImplicitTemplate' => array('basis/message:rw', 'infocenter:rw'),
|
||||
'sendExplicitTemplateJson' => array('basis/message:rw', 'infocenter:rw'),
|
||||
'getVorlage' => array('basis/message:r', 'infocenter:r'),
|
||||
'parseMessageText' => array('basis/message:r', 'infocenter:r'),
|
||||
'getMessageFromIds' => array('basis/message:r', 'infocenter:r')
|
||||
)
|
||||
);
|
||||
|
||||
// Loads model CLMessagesModel which contains the GUI logic
|
||||
$this->load->model('CL/Messages_model', 'CLMessagesModel');
|
||||
|
||||
// Phrases used in loaded views
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
'ui'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Methods with HTML output
|
||||
|
||||
/**
|
||||
* Initialize all the parameters used by view system/messages/htmlWriteTemplate
|
||||
* to build a GUI used to write a messate to user/s using a template
|
||||
*/
|
||||
public function writeTemplate()
|
||||
{
|
||||
$persons = $this->input->post('person_id');
|
||||
|
||||
// Loads the view to write a new message with a template
|
||||
$this->load->view(
|
||||
'system/messages/htmlWriteTemplate',
|
||||
$this->CLMessagesModel->prepareHtmlWriteTemplatePersons($persons)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a new message or reply to user/s
|
||||
* If a relationmessage_id this message is a reply to another one
|
||||
* Body is a template and will be parsed using information present in persons parameter
|
||||
*/
|
||||
public function sendImplicitTemplate()
|
||||
{
|
||||
$subject = $this->input->post('subject');
|
||||
$body = $this->input->post('body');
|
||||
$recipients_ids = $this->input->post('recipients_ids');
|
||||
$relationmessage_id = $this->input->post('relationmessage_id');
|
||||
$type = $this->input->post('type');
|
||||
|
||||
$sendImplicitTemplate = $this->CLMessagesModel->sendImplicitTemplate($type, $recipients_ids, $subject, $body, $relationmessage_id);
|
||||
if (isSuccess($sendImplicitTemplate))
|
||||
{
|
||||
$this->load->view('system/messages/htmlMessageSentSuccess');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->load->view('system/messages/htmlMessageSentError');
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Methods with JSON output called by this controller and FASMessages (view system/messages/htmlWriteTemplate)
|
||||
|
||||
/**
|
||||
* Returns an object that represent a template store in database
|
||||
* If no templates are found with the given parameter or the given parameter is an empty string,
|
||||
* then an error is returned
|
||||
*/
|
||||
public function getVorlage()
|
||||
{
|
||||
$vorlage_kurzbz = $this->input->get('vorlage_kurzbz');
|
||||
|
||||
$this->outputJson($this->CLMessagesModel->getVorlage($vorlage_kurzbz));
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse the given given text using data from the given user
|
||||
* Use the CI parser which performs simple text substitution for pseudo-variable
|
||||
*/
|
||||
public function parseMessageText()
|
||||
{
|
||||
$receiver_id = $this->input->post('receiver_id');
|
||||
$text = $this->input->post('text');
|
||||
$type = $this->input->post('type');
|
||||
|
||||
if ($type == Messages_model::TYPE_PERSONS)
|
||||
{
|
||||
$this->outputJson($this->CLMessagesModel->parseMessageTextPerson($receiver_id, $text));
|
||||
}
|
||||
elseif ($type == Messages_model::TYPE_PRESTUDENTS)
|
||||
{
|
||||
$this->outputJson($this->CLMessagesModel->parseMessageTextPrestudent($receiver_id, $text));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->outputJsonError('Not a person nor a prestudent was provided');
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Methods with JSON output called by infocenter
|
||||
|
||||
/**
|
||||
* Outputs message data for a message (identified my msg id and receiver id) in JSON format
|
||||
*/
|
||||
public function getMessageFromIds()
|
||||
{
|
||||
$message_id = $this->input->get('msg_id');
|
||||
$receiver_id = $this->input->get('receiver_id');
|
||||
|
||||
$this->outputJson($this->CLMessagesModel->getMessageFromIds($message_id, $receiver_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a new message
|
||||
* - The recipients are prestudents
|
||||
* - An email template with message var may be provided
|
||||
* - A global organisation unit may be provided, otherwise is used the prestudent one
|
||||
* - A template is explicitly specified
|
||||
*/
|
||||
public function sendExplicitTemplateJson()
|
||||
{
|
||||
$prestudents = $this->input->post('prestudents');
|
||||
$oe_kurzbz = $this->input->post('oe_kurzbz');
|
||||
$vorlage_kurzbz = $this->input->post('vorlage_kurzbz');
|
||||
$msgVars = $this->input->post('msgvars');
|
||||
|
||||
$sendExplicitTemplate = $this->CLMessagesModel->sendExplicitTemplate($prestudents, $oe_kurzbz, $vorlage_kurzbz, $msgVars);
|
||||
$this->outputJson(getData($sendExplicitTemplate));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
<?php
|
||||
/**
|
||||
* FH-Complete
|
||||
*
|
||||
* @package FHC-API
|
||||
* @author FHC-Team
|
||||
* @copyright Copyright (c) 2016, fhcomplete.org
|
||||
* @license GPLv3
|
||||
* @link http://fhcomplete.org
|
||||
* @since Version 1.0
|
||||
* @filesource
|
||||
*/
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Handles sending messages with token
|
||||
* NOTE: it extends FHC_Controller instead of Auth_Controller because authentication is not needed
|
||||
*/
|
||||
class ViewMessage extends FHC_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loading config file message
|
||||
$this->config->load('message');
|
||||
|
||||
// Load model MessageToken_model, not calling the authentication system
|
||||
$this->load->model('CL/Messages_model', 'CLMessagesModel');
|
||||
|
||||
// Phrases used in loaded views
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
'ui'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a message in read mode only using the specified token
|
||||
*/
|
||||
public function toHTML($token)
|
||||
{
|
||||
// Loads the view to read a received message using its token as identifier
|
||||
$this->load->view('system/messages/htmlRead', $this->CLMessagesModel->prepareHtmlRead($token));
|
||||
}
|
||||
|
||||
/**
|
||||
* Write a reply message to a received one using its token as identifier
|
||||
*/
|
||||
public function writeReply()
|
||||
{
|
||||
$token = $this->input->get('token'); // gets received message token
|
||||
|
||||
// Loads the view to write a reply message
|
||||
$this->load->view('system/messages/htmlWriteReply', $this->CLMessagesModel->prepareHtmlWriteReply($token));
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a reply message (no templates are used)
|
||||
*/
|
||||
public function sendReply()
|
||||
{
|
||||
$subject = $this->input->post('subject');
|
||||
$body = $this->input->post('body');
|
||||
$receiver_id = $this->input->post('receiver_id');
|
||||
$relationmessage_id = $this->input->post('relationmessage_id');
|
||||
$token = $this->input->post('token');
|
||||
|
||||
$sendReply = $this->CLMessagesModel->sendReply($receiver_id, $subject, $body, $relationmessage_id, $token);
|
||||
if (isSuccess($sendReply))
|
||||
{
|
||||
$this->load->view('system/messages/htmlMessageSentSuccess');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->load->view('system/messages/htmlMessageSentError');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* With the given token redirects the user to reply page configured in the config/message.php file
|
||||
*/
|
||||
public function redirectByToken($token)
|
||||
{
|
||||
// Loads model MessageTokenModel
|
||||
$this->load->model('system/MessageToken_model', 'MessageTokenModel');
|
||||
|
||||
// Retrieves the single message data using the given token
|
||||
$msg = $this->MessageTokenModel->getMessageByToken($token);
|
||||
// If it is an error or it does not contain data show an error
|
||||
if (!hasData($msg)) show_error('MSG-ERR-0001: An error occurred while redirecting, please contact the administrator');
|
||||
// else
|
||||
$oe_kurzbz = getData($msg)[0]->oe_kurzbz;
|
||||
|
||||
$organisationRoot = null; // by default is null
|
||||
|
||||
// If an organisation unit is present in the message tries to retrieve the root organisation unit
|
||||
// from the one found in the message
|
||||
if (!isEmptyString($oe_kurzbz))
|
||||
{
|
||||
// Retrieves the root organisation unit from the one found in the message
|
||||
$getOERoot = $this->MessageTokenModel->getOERoot($oe_kurzbz);
|
||||
// If it is an error or it does not contain data show an error
|
||||
if (!hasData($getOERoot)) show_error('MSG-ERR-0002: An error occurred while redirecting, please contact the administrator');
|
||||
// else
|
||||
$organisationRoot = getData($getOERoot)[0]->oe_kurzbz;
|
||||
}
|
||||
|
||||
// Retrieves the possible redirecting URLs array from configs
|
||||
$messageRedirectUrls = $this->config->item('message_redirect_url');
|
||||
// If it is not a valid array then show an error
|
||||
if (isEmptyArray($messageRedirectUrls)) show_error('MSG-ERR-0003: An error occurred while redirecting, please contact the administrator');
|
||||
|
||||
// If this organisation unit root is not configured as an entry in the possible redirecting URLs array,
|
||||
// then tries to use the default one...
|
||||
if (!isset($messageRedirectUrls[$organisationRoot]))
|
||||
{
|
||||
$organisationRoot = 'fallback';
|
||||
|
||||
// ...if even the default one is not present show an error
|
||||
if (!isset($messageRedirectUrls[$organisationRoot]))
|
||||
{
|
||||
show_error('MSG-ERR-0004: An error occurred while redirecting, please contact the administrator');
|
||||
}
|
||||
}
|
||||
|
||||
// Finally if everything was right then the user can be redirected
|
||||
redirect($messageRedirectUrls[$organisationRoot] . '?token=' . $token);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* This controller is used to set the current language for a user
|
||||
* It is part of the Language Switcher Widget
|
||||
*/
|
||||
class Language extends FHC_Controller
|
||||
{
|
||||
/**
|
||||
* Calls the parent's constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Public methods
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function setSessionLanguage()
|
||||
{
|
||||
$language = $this->input->post('language');
|
||||
|
||||
$this->outputJson(setUserLanguage($language));
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,9 @@ abstract class FHC_Controller extends CI_Controller
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// NOTE: placed here before performing anything else!!!
|
||||
$this->_checkHTTPS();
|
||||
|
||||
$this->_controllerId = null; // set _controllerId as null by default
|
||||
|
||||
// Loads helper message to manage returning messages
|
||||
@@ -129,4 +132,20 @@ abstract class FHC_Controller extends CI_Controller
|
||||
{
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode($mixed));
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Private methods
|
||||
|
||||
/**
|
||||
* Checks if the call is performed via web and if HTTPS is enabled and used
|
||||
* If NOT then an error is raised and the execution is terminated
|
||||
*/
|
||||
private function _checkHTTPS()
|
||||
{
|
||||
// If NOT called from command line and if the HTTPS protocol is NOT enabled
|
||||
if (!$this->input->is_cli_request() && !isset($_SERVER['HTTPS']))
|
||||
{
|
||||
show_error('This web site cannot work correctly without the HTTPS protocol enabled');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ function getAuthPersonId()
|
||||
return isLogged() ? ($ci->authlib->getAuthObj())->{AuthLib::AO_PERSON_ID} : null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* If the user is NOT logged then a null value is returned.
|
||||
* If the user is alredy logged, then it is possible to access to the authentication object
|
||||
|
||||
@@ -24,39 +24,54 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* generateToken() - generates a new token for diffent use
|
||||
* - reading Messages from external
|
||||
* - forgotten Password
|
||||
*
|
||||
* @return string
|
||||
* Generates a new token for diffent use cases. Default token length is 64
|
||||
* - Reading messages
|
||||
* - Forgotten password
|
||||
* - etc
|
||||
* Returns null on failure
|
||||
*/
|
||||
function generateToken($length = 64)
|
||||
{
|
||||
$token = null;
|
||||
$firstGeneratedToken = null;
|
||||
|
||||
// For PHP 7 you can use random_bytes()
|
||||
if (function_exists('random_bytes'))
|
||||
{
|
||||
$token = base64_encode(random_bytes($length));
|
||||
//base64 is about 33% longer, so we need to truncate the result
|
||||
return strtr(substr($token, 0, $length), '+/=', '-_,');
|
||||
try
|
||||
{
|
||||
$firstGeneratedToken = random_bytes($length); // try to generates cryptographically secure pseudo-random bytes...
|
||||
}
|
||||
catch (Exception $e) { $firstGeneratedToken = null; } // if fails $firstGeneratedToken is set to null
|
||||
}
|
||||
|
||||
// for PHP >=5.3 and <7
|
||||
if (function_exists('openssl_random_pseudo_bytes'))
|
||||
// For PHP >= 5.3 and < 7 and openssl is available
|
||||
elseif (function_exists('openssl_random_pseudo_bytes'))
|
||||
{
|
||||
$token = base64_encode(openssl_random_pseudo_bytes($length, $strong));
|
||||
// is the token strong enough?
|
||||
if($strong == true)
|
||||
return strtr(substr($token, 0, $length), '+/=', '-_,');
|
||||
$firstGeneratedToken = openssl_random_pseudo_bytes($length, $strong);
|
||||
// If the token generation ended with errors OR the generated token is NOT strong enough
|
||||
if ($firstGeneratedToken == false || $strong == false) $firstGeneratedToken = null; // $firstGeneratedToken is set to null
|
||||
}
|
||||
|
||||
//fallback to mt_rand if php < 5.3 or no openssl available
|
||||
$characters = '0123456789';
|
||||
$characters .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/+';
|
||||
$charactersLength = strlen($characters)-1;
|
||||
$token = '';
|
||||
//select some random characters
|
||||
for ($i = 0; $i < $length; $i++)
|
||||
$token .= $characters[mt_rand(0, $charactersLength)];
|
||||
if ($firstGeneratedToken != null) // If everything was fine
|
||||
{
|
||||
// base64 is about 33% longer, so we need to truncate the result
|
||||
$token = strtr(substr(base64_encode($firstGeneratedToken), 0, $length), '+/=', '-_,');
|
||||
}
|
||||
|
||||
// Fallback to mt_rand if:
|
||||
// php < 5.3
|
||||
// OR no openssl is available
|
||||
// OR openssl_random_pseudo_bytes used an algorithm that is cryptographically NOT strong
|
||||
// OR one of the previous methods failed
|
||||
if ($token == null)
|
||||
{
|
||||
$token = ''; // set $token as an empty string
|
||||
$characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/+';
|
||||
$charactersLength = strlen($characters) - 1;
|
||||
|
||||
// Select some random characters
|
||||
for ($i = 0; $i < $length; $i++) $token .= $characters[mt_rand(0, $charactersLength)];
|
||||
}
|
||||
|
||||
return $token;
|
||||
}
|
||||
@@ -225,6 +240,52 @@ function isDateWorkingDay($date, $days = null)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse the given text using the given data parameter
|
||||
* Use the CI parser which performs simple text substitution for pseudo-variable
|
||||
*/
|
||||
function parseText($text, $data)
|
||||
{
|
||||
$ci =& get_instance(); // get CI instance
|
||||
$ci->load->library('parser'); // Loads CI parser library
|
||||
|
||||
return $ci->parser->parse_string($text, $data, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse the given template using the given data parameter
|
||||
* Use the CI parser which performs simple text substitution for pseudo-variable
|
||||
*/
|
||||
function parseTemplate($template, $data)
|
||||
{
|
||||
$ci =& get_instance(); // get CI instance
|
||||
$ci->load->library('parser'); // Loads CI parser library
|
||||
|
||||
return $ci->parser->parse($template, $data, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Terminate immediately the execution of the current script.
|
||||
* If message parameter is given then:
|
||||
* - logs the given message in CI logs
|
||||
* - prints the given message to standard output
|
||||
* Otherwise terminate with the generic error
|
||||
*/
|
||||
function terminateWithError($message = null)
|
||||
{
|
||||
if (!isEmptyString($message))
|
||||
{
|
||||
$ci =& get_instance(); // get CI instance
|
||||
$ci->load->library('LogLib'); // Loads LogLib
|
||||
|
||||
$ci->loglib->logError($message);
|
||||
|
||||
exit($message);
|
||||
}
|
||||
|
||||
exit(EXIT_ERROR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the current user is logged by checking that the AuthLib is loaded and
|
||||
* it is present the authentication object in session
|
||||
|
||||
@@ -18,28 +18,48 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Function to retrieve the language of the logged user
|
||||
* If is not possible to retrieve it, then the default system language is returnd
|
||||
* If as parameter is given a valid language the it's returned useful to avoid
|
||||
* to write the same control structures for the language
|
||||
* If is not possible to retrieve it, then the default system language is returned
|
||||
* NOTE: If the given parameter is a valid language then it is returned
|
||||
* It is useful to avoid to write a lot of "if else" structures
|
||||
*/
|
||||
function getUserLanguage($language = null)
|
||||
{
|
||||
// If the given parameter is a valid language then return it
|
||||
if (!isEmptyString($language)) return $language;
|
||||
|
||||
$ci =& get_instance(); // get CI instance
|
||||
|
||||
// Use the default system language, if it's possible retrieves the language for the logged user
|
||||
// Use the default system language as fallback
|
||||
$language = DEFAULT_LANGUAGE;
|
||||
// Checks if the user is authenticated to retrieve the users's language
|
||||
// NOTE: this helper could be called when the user is not logged in the system
|
||||
// so this is why is checked if the function getAuthUID exists
|
||||
if (function_exists('getAuthUID'))
|
||||
|
||||
// If the language is present in the session and it is valid
|
||||
if (isset($_SESSION[LANG_SESSION_CURRENT_LANGUAGE]) && !isEmptyString($_SESSION[LANG_SESSION_CURRENT_LANGUAGE]))
|
||||
{
|
||||
$language = $_SESSION[LANG_SESSION_CURRENT_LANGUAGE]; // then use it
|
||||
}
|
||||
// Otherwise checks if the user is authenticated to retrieve the users's language
|
||||
// NOTE: this helper could be called when the user is NOT logged in the system
|
||||
// therefore is checked if the user is logged
|
||||
elseif (isLogged())
|
||||
{
|
||||
$ci =& get_instance(); // get CI instance
|
||||
|
||||
// NOTE: Stores the loaded model with the alias PersonModelLanguage to avoid to overwrite
|
||||
// an already loaded PersonModel used somewhere else
|
||||
$ci->load->model('person/Person_model', 'PersonModelLanguage');
|
||||
|
||||
$language = $ci->PersonModelLanguage->getLanguage(getAuthUID());
|
||||
// Retrieves language/s for the logged user
|
||||
$languagesDB = $ci->PersonModelLanguage->getLanguage(getAuthUID());
|
||||
if (hasData($languagesDB))
|
||||
{
|
||||
// Looks for the first valid language
|
||||
foreach (getData($languagesDB) as $languageDB)
|
||||
{
|
||||
if (!isEmptyString($languageDB->sprache))
|
||||
{
|
||||
$language = $languageDB->sprache;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $language;
|
||||
@@ -62,31 +82,21 @@ function getPhraseByLanguage($phraseLanguagesArray, $language)
|
||||
$langArray = getSessionElement(LANG_SESSION_NAME, LANG_SESSION_INDEXES);
|
||||
if ($langArray == null) // If not already loaded in session
|
||||
{
|
||||
// Loads the Sprache_model to retrieve the language settings from the DB
|
||||
// NOTE: Stores the loaded model with the alias SpracheModelLanguage to avoid to overwrite
|
||||
// an already loaded SpracheModel used somewhere else
|
||||
$ci->load->model('system/Sprache_model', 'SpracheModelLanguage');
|
||||
|
||||
// Add order clause by index and select only the sprache column
|
||||
$ci->SpracheModelLanguage->addOrder('index');
|
||||
$ci->SpracheModelLanguage->addSelect('sprache');
|
||||
|
||||
// Retrieves from public.tbl_sprache
|
||||
$dbLanguages = $ci->SpracheModelLanguage->load();
|
||||
// Retrieves active languages
|
||||
$dbLanguages = getDBActiveLanguages();
|
||||
if (hasData($dbLanguages)) // If everything is ok and contains data
|
||||
{
|
||||
$index = 0; // Incremental integer
|
||||
$languageIndexes = array(); // Array that will contains languages and their indexes
|
||||
$langArray = array(); // Array that will contains languages and their indexes
|
||||
|
||||
// Loops through database results
|
||||
foreach (getData($dbLanguages) as $dbLanguage)
|
||||
{
|
||||
$languageIndexes[$dbLanguage->sprache] = $index++; // set $languageIndexes array elements
|
||||
$langArray[$dbLanguage->sprache] = $index++; // set $languageIndexes array elements
|
||||
}
|
||||
}
|
||||
|
||||
$langArray = $languageIndexes; // copy $languageIndexes to $langArray
|
||||
// Set session element $_SESSION['LANG']['LANG_INDEXES'] with $languageIndexes
|
||||
// Set session element $_SESSION['LANG']['LANG_INDEXES'] with $langArray
|
||||
setSessionElement(LANG_SESSION_NAME, LANG_SESSION_INDEXES, $langArray);
|
||||
}
|
||||
|
||||
@@ -100,3 +110,78 @@ function getPhraseByLanguage($phraseLanguagesArray, $language)
|
||||
|
||||
return $phrase;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tries to load active languages from session, if not present then loads them from database and stores them in session
|
||||
*/
|
||||
function getActiveLanguages()
|
||||
{
|
||||
$languagesArray = getSessionElement(LANG_SESSION_NAME, LANG_SESSION_ACTIVE_LANGUAGES);
|
||||
if ($languagesArray == null)
|
||||
{
|
||||
$languagesArray = array();
|
||||
|
||||
// Retrieves from public.tbl_sprache
|
||||
$dbLanguages = getDBActiveLanguages();
|
||||
if (hasData($dbLanguages))
|
||||
{
|
||||
// Loops through database results
|
||||
foreach (getData($dbLanguages) as $dbLanguage)
|
||||
{
|
||||
$languagesArray[$dbLanguage->sprache] = $dbLanguage->bezeichnung; // set $languageIndexes array elements
|
||||
}
|
||||
}
|
||||
|
||||
// Set session element $_SESSION['LANG']['LANG_SESSION_ACTIVE_LANGUAGES'] with $languagesArray
|
||||
setSessionElement(LANG_SESSION_NAME, LANG_SESSION_ACTIVE_LANGUAGES, $languagesArray);
|
||||
}
|
||||
|
||||
return $languagesArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads active languages from database
|
||||
*/
|
||||
function getDBActiveLanguages()
|
||||
{
|
||||
$ci =& get_instance(); // get CI instance
|
||||
|
||||
// Loads the Sprache_model to retrieve the language settings from the DB
|
||||
// NOTE: Stores the loaded model with the alias SpracheModelLanguage to avoid to overwrite
|
||||
// an already loaded SpracheModel used somewhere else
|
||||
$ci->load->model('system/Sprache_model', 'SpracheModelLanguage');
|
||||
|
||||
// Add order clause by index and select only the sprache column
|
||||
$ci->SpracheModelLanguage->addOrder('index');
|
||||
$ci->SpracheModelLanguage->addSelect('sprache, bezeichnung');
|
||||
|
||||
// Retrieves from public.tbl_sprache
|
||||
return $ci->SpracheModelLanguage->loadWhere(array('content' => true));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the current language to render the GUI in session
|
||||
*/
|
||||
function setUserLanguage($language)
|
||||
{
|
||||
$languageValid = false;
|
||||
|
||||
// Checks if the given language is valid (present between active languages)
|
||||
foreach (getActiveLanguages() as $languageName => $languageTranslation)
|
||||
{
|
||||
if ($language == $languageName)
|
||||
{
|
||||
$languageValid = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($languageValid) // if the provided language is valid
|
||||
{
|
||||
$_SESSION[LANG_SESSION_CURRENT_LANGUAGE] = $language; // stores it in session
|
||||
|
||||
return success('Language successfully changed'); // return success!!
|
||||
}
|
||||
|
||||
return error('The given language is not valid'); // return an error
|
||||
}
|
||||
|
||||
@@ -98,9 +98,7 @@ function _parseMailContent($vorlage_kurzbz, $vorlage_data)
|
||||
!isEmptyString($result->retval[0]->text))
|
||||
{
|
||||
// Parses template text
|
||||
$parsedText = $ci->vorlagelib->parseVorlagetext($result->retval[0]->text, $vorlage_data);
|
||||
|
||||
return $parsedText;
|
||||
return parseText($result->retval[0]->text, $vorlage_data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
use phpseclib\Crypt\Rijndael;
|
||||
|
||||
/**
|
||||
* Collection of different encryption/hashing algorithms
|
||||
*/
|
||||
class CryptLib
|
||||
{
|
||||
/**
|
||||
* Encrypt using the Rijndael algorithm with a key length of 256 bits and the ECB mode
|
||||
* It is possible to disable the padding, enabled by default
|
||||
*/
|
||||
public static function RIJNDAEL_256_ECB($value, $key, $paddingDisabled = false)
|
||||
{
|
||||
if (isEmptyString($key) || strlen($value) % 32 != 0) return null;
|
||||
|
||||
$cipher = new Rijndael(Rijndael::MODE_ECB);
|
||||
$cipher->setBlockLength(256);
|
||||
$cipher->setKey($key);
|
||||
|
||||
if ($paddingDisabled === true) $cipher->disablePadding();
|
||||
|
||||
return $cipher->encrypt($value);
|
||||
}
|
||||
}
|
||||
@@ -101,7 +101,7 @@ class FilterWidgetLib
|
||||
const FILTER_UNIQUE_ID = 'filterUniqueId'; // Filter page parameter name
|
||||
|
||||
const PERMISSION_FILTER_METHOD = 'FilterWidget'; // Name for fake method to be checked by the PermissionLib
|
||||
const PERMISSION_TYPE = 'rw';
|
||||
const PERMISSION_TYPE = 'r';
|
||||
|
||||
// Name and array keys of the filters menu array
|
||||
const NAV_MENU_FILTER_KEY = 'filters';
|
||||
|
||||
@@ -7,6 +7,8 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
*/
|
||||
class MailLib
|
||||
{
|
||||
const ENABLE_DEBUG = 'enable_debug';
|
||||
|
||||
private $sended; // Sended email counter
|
||||
|
||||
// Properties for storing the configuration
|
||||
@@ -15,6 +17,8 @@ class MailLib
|
||||
private $email_time_range;
|
||||
private $email_from_system;
|
||||
|
||||
private $_ci; // Codeigniter instance
|
||||
|
||||
/**
|
||||
* Class constructor
|
||||
*/
|
||||
@@ -24,16 +28,16 @@ class MailLib
|
||||
$this->sended = 0;
|
||||
|
||||
// Get CI instance
|
||||
$this->ci =& get_instance();
|
||||
$this->_ci =& get_instance();
|
||||
|
||||
// The second parameter is used to avoiding name collisions in the config array
|
||||
$this->ci->config->load('mail', true);
|
||||
$this->_ci->config->load('mail', true);
|
||||
|
||||
// CI Email library
|
||||
$this->ci->load->library('email');
|
||||
$this->_ci->load->library('email');
|
||||
|
||||
// Initializing email library with the loaded configurations
|
||||
$this->ci->email->initialize($this->ci->config->config['mail']);
|
||||
$this->_ci->email->initialize($this->_ci->config->config['mail']);
|
||||
|
||||
// Set the configuration properties with the standard configuration values
|
||||
$this->email_number_to_sent = $this->getEmailCfgItem('email_number_to_sent');
|
||||
@@ -48,6 +52,22 @@ class MailLib
|
||||
*/
|
||||
public function send($from, $to, $subject, $message, $alias = '', $cc = null, $bcc = null, $altMessage = '', $bulk = false, $autogenerated = false)
|
||||
{
|
||||
// If it is configured then log mail info into the CI error logs
|
||||
if ($this->getEmailCfgItem(self::ENABLE_DEBUG) === true)
|
||||
{
|
||||
$this->_ci->load->library('LogLib'); // Loads logging library
|
||||
|
||||
// Log them all!
|
||||
$this->_ci->loglib->logError('From: '.$from);
|
||||
$this->_ci->loglib->logError('To: '.$to);
|
||||
$this->_ci->loglib->logError('Subject: '.$subject);
|
||||
$this->_ci->loglib->logError('Message: '.$message);
|
||||
$this->_ci->loglib->logError('Alias: '.$alias);
|
||||
$this->_ci->loglib->logError('CC: '.$cc);
|
||||
$this->_ci->loglib->logError('BCC: '.$bcc);
|
||||
$this->_ci->loglib->logError('Alternative message: '.$altMessage);
|
||||
}
|
||||
|
||||
// If from is not specified then use the standard one
|
||||
if (is_null($from) || $from == '')
|
||||
{
|
||||
@@ -67,7 +87,7 @@ class MailLib
|
||||
}
|
||||
}
|
||||
|
||||
$this->ci->email->from($from, $alias);
|
||||
$this->_ci->email->from($from, $alias);
|
||||
|
||||
// Check if the email address of the debug recipient is a valid one
|
||||
$recipient = $to;
|
||||
@@ -83,20 +103,20 @@ class MailLib
|
||||
$recipientBCC = MAIL_DEBUG;
|
||||
}
|
||||
|
||||
$this->ci->email->to($recipient);
|
||||
if (!is_null($recipientCC)) $this->ci->email->cc($recipientCC);
|
||||
if (!is_null($recipientBCC)) $this->ci->email->bcc($recipientBCC);
|
||||
$this->ci->email->subject($subject);
|
||||
$this->ci->email->message($message);
|
||||
if (!isEmptyString($altMessage)) $this->ci->email->set_alt_message($altMessage);
|
||||
$this->_ci->email->to($recipient);
|
||||
if (!is_null($recipientCC)) $this->_ci->email->cc($recipientCC);
|
||||
if (!is_null($recipientBCC)) $this->_ci->email->bcc($recipientBCC);
|
||||
$this->_ci->email->subject($subject);
|
||||
$this->_ci->email->message($message);
|
||||
if (!isEmptyString($altMessage)) $this->_ci->email->set_alt_message($altMessage);
|
||||
|
||||
if($bulk)
|
||||
$this->ci->email->set_header('Precedence', 'bulk');
|
||||
$this->_ci->email->set_header('Precedence', 'bulk');
|
||||
if($autogenerated)
|
||||
$this->ci->email->set_header('Auto-Submitted', 'auto-generated');
|
||||
$this->_ci->email->set_header('Auto-Submitted', 'auto-generated');
|
||||
|
||||
// Avoid printing on standard output ugly error messages
|
||||
$result = @$this->ci->email->send();
|
||||
$result = @$this->_ci->email->send();
|
||||
|
||||
// If the email was succesfully sended then increment the counter
|
||||
// and checks if it has to wait until the sending of the next
|
||||
@@ -110,43 +130,34 @@ class MailLib
|
||||
}
|
||||
|
||||
/**
|
||||
* To ovveride the configurations
|
||||
* Overrides configuration parameters
|
||||
* If the given parameters are not null or empty strings then they are used to override
|
||||
* the following properties of this object:
|
||||
* - email_number_to_sent
|
||||
* - email_number_per_time_range
|
||||
* - email_time_range
|
||||
* - email_from_system
|
||||
*/
|
||||
public function overrideConfigs($cfg)
|
||||
public function overrideConfigs($numberToSent, $numberPerTimeRange, $emailTimeRange, $emailFromSystem)
|
||||
{
|
||||
if (!is_null($cfg))
|
||||
if (is_numeric($numberToSent)) $this->email_number_to_sent = $numberToSent;
|
||||
|
||||
if (is_numeric($numberPerTimeRange)) $this->email_number_per_time_range = $numberPerTimeRange;
|
||||
|
||||
if (is_numeric($emailTimeRange)) $this->email_time_range = $emailTimeRange;
|
||||
|
||||
if (!isEmptyString($emailFromSystem) && filter_var($emailFromSystem, FILTER_VALIDATE_EMAIL))
|
||||
{
|
||||
if (isset($cfg->email_number_to_sent) && is_numeric($cfg->email_number_to_sent))
|
||||
{
|
||||
$this->email_number_to_sent = $cfg->email_number_to_sent;
|
||||
}
|
||||
if (isset($cfg->email_number_per_time_range) && is_numeric($cfg->email_number_per_time_range))
|
||||
{
|
||||
$this->email_number_per_time_range = $cfg->email_number_per_time_range;
|
||||
}
|
||||
if (isset($cfg->email_time_range) && is_numeric($cfg->email_time_range))
|
||||
{
|
||||
$this->email_time_range = $cfg->email_time_range;
|
||||
}
|
||||
if (isset($cfg->email_from_system) && filter_var($cfg->email_from_system, FILTER_VALIDATE_EMAIL))
|
||||
{
|
||||
$this->email_from_system = $cfg->email_from_system;
|
||||
}
|
||||
$this->email_from_system = $emailFromSystem;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current configuration
|
||||
* Returns value of property email_number_to_sent
|
||||
*/
|
||||
public function getConfigs()
|
||||
public function getEmailNumberToSent()
|
||||
{
|
||||
$cfg = new stdClass();
|
||||
$cfg->email_number_to_sent = $this->email_number_to_sent;
|
||||
$cfg->email_number_per_time_range = $this->email_number_per_time_range;
|
||||
$cfg->email_time_range = $this->email_time_range;
|
||||
$cfg->email_from_system = $this->email_from_system;
|
||||
|
||||
return $cfg;
|
||||
return $this->email_number_to_sent;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -180,6 +191,6 @@ class MailLib
|
||||
*/
|
||||
private function getEmailCfgItem($itemName)
|
||||
{
|
||||
return $this->ci->config->item($itemName, EMAIL_CONFIG_INDEX);
|
||||
return $this->_ci->config->item($itemName, EMAIL_CONFIG_INDEX);
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -165,16 +165,6 @@ class PhrasesLib
|
||||
}
|
||||
|
||||
/**
|
||||
* parseVorlagetext() - will parse a Vorlagetext.
|
||||
*/
|
||||
public function parseVorlagetext($text, $data = array())
|
||||
{
|
||||
if (isEmptyString($text)) return error('Not a valid text');
|
||||
|
||||
return $this->_ci->parser->parse_string($text, $data, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves a phrases from the the property _phrases with the given parameters
|
||||
* It also replace parameters inside the phrase if they are provided
|
||||
* @param string $category Category name which is used to categorize the phrase.
|
||||
@@ -201,7 +191,7 @@ class PhrasesLib
|
||||
{
|
||||
if (!is_array($parameters)) $parameters = array(); // if params is not an array
|
||||
|
||||
return $this->_ci->parser->parse_string($_phrase->text, $parameters, true); // parsing
|
||||
return parseText($_phrase->text, $parameters); // parsing
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ class TableWidgetLib
|
||||
const DATASET_REP_TABULATOR = 'tabulator';
|
||||
|
||||
const PERMISSION_TABLE_METHOD = 'TableWidget'; // Name for fake method to be checked by the PermissionLib
|
||||
const PERMISSION_TYPE = 'rw';
|
||||
const PERMISSION_TYPE = 'r';
|
||||
|
||||
private $_ci; // Code igniter instance
|
||||
private $_tableUniqueId; // unique id for this table widget
|
||||
|
||||
@@ -57,7 +57,7 @@ class VariableLib
|
||||
|
||||
if (!isEmptyString($uid) && !isEmptyString($name) && is_numeric($change))
|
||||
{
|
||||
$change = (int) $change;
|
||||
$change = (int)$change;
|
||||
$varres = $this->_ci->VariableModel->getVariables($uid, array($name));
|
||||
|
||||
if (isSuccess($varres))
|
||||
|
||||
@@ -188,18 +188,4 @@ class VorlageLib
|
||||
$vorlagetext = $this->ci->VorlageStudiengangModel->update($vorlagestudiengang_id, $data);
|
||||
return $vorlagetext;
|
||||
}
|
||||
|
||||
/**
|
||||
* parseVorlagetext() - will parse a Vorlagetext.
|
||||
*
|
||||
* @param string $text REQUIRED
|
||||
* @param array $data REQUIRED
|
||||
* @return string
|
||||
*/
|
||||
public function parseVorlagetext($text, $data = array())
|
||||
{
|
||||
if (isEmptyString($text)) return error('Not a valid text');
|
||||
|
||||
return $this->ci->parser->parse_string($text, $data, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,33 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* This model extends CI_Model because here is just implemented logic
|
||||
* It does not represent a resource (ex. like models that extend DB_Model)
|
||||
* Messages GUI logic
|
||||
* - This model extends CI_Model because here is just implemented logic
|
||||
* - It does not represent a resource (ex. like models that extend DB_Model)
|
||||
*/
|
||||
class Messages_model extends CI_Model
|
||||
{
|
||||
const REPLY_SUBJECT_PREFIX = 'Re: '; // reply subject prefix
|
||||
// To quote a reply body message
|
||||
const REPLY_BODY_FORMAT = '<br>
|
||||
<br>
|
||||
<blockquote>
|
||||
<i>
|
||||
On %s %s %s wrote:
|
||||
</i>
|
||||
</blockquote>
|
||||
<blockquote style="border-left:2px solid; padding-left: 8px">
|
||||
%s
|
||||
</blockquote>';
|
||||
|
||||
const NO_AUTH_UID = 'online'; // hard coded uid if no authentication is performed
|
||||
|
||||
// Recipients types
|
||||
const TYPE_PERSONS = 'persons';
|
||||
const TYPE_PRESTUDENTS = 'prestudents';
|
||||
|
||||
const ALT_OE = 'infocenter'; // alternative organisation unit when no one is found for a presetudent
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
@@ -14,159 +36,618 @@ class Messages_model extends CI_Model
|
||||
parent::__construct();
|
||||
|
||||
// Loads the message library
|
||||
$this->load->library('MessageLib');
|
||||
|
||||
$this->load->library('MessageLib'); // MessageModel loaded here!
|
||||
// Loads the person log library
|
||||
$this->load->library('PersonLogLib');
|
||||
// Loads the widget library
|
||||
$this->load->library('WidgetLib');
|
||||
|
||||
// Loads model MessageToken_model
|
||||
$this->load->model('system/MessageToken_model', 'MessageTokenModel');
|
||||
// Loads model Benutzerrolle_model
|
||||
$this->load->model('system/Benutzerrolle_model', 'BenutzerrolleModel');
|
||||
// Loads model Prestudent_model
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Public methods
|
||||
|
||||
/**
|
||||
* Executes message sending
|
||||
* @param $sender_id
|
||||
* @return array wether execution was successfull - error or success
|
||||
* Set a message as read by its id ($message_id + $person_id)
|
||||
*/
|
||||
public function send($msgVarsData, $relationmessage_id = null, $oe_kurzbz = null, $vorlage_kurzbz = null, $msgVars = null)
|
||||
public function setMessageRead($message_id, $person_id)
|
||||
{
|
||||
$subject = $this->input->post('subject');
|
||||
$body = $this->input->post('body');
|
||||
// Checks parameters
|
||||
if (!is_numeric($message_id) || !is_numeric($person_id)) return error('Invalid setMessageRead parameters');
|
||||
|
||||
$authUser = $this->getAuthUser();
|
||||
// Loads needed models
|
||||
$this->load->model('system/MsgStatus_model', 'MsgStatusModel');
|
||||
|
||||
if (isError($authUser)) return $authUser;
|
||||
$statuResult = $this->MsgStatusModel->loadWhere(
|
||||
array(
|
||||
'message_id' => $message_id,
|
||||
'person_id' => $person_id,
|
||||
'status' => MSG_STATUS_READ
|
||||
)
|
||||
);
|
||||
|
||||
$sender_id = getData($authUser)[0]->person_id;
|
||||
|
||||
// Send message(s)
|
||||
if (hasData($msgVarsData))
|
||||
if (isError($statuResult)) return $statuResult;
|
||||
if (!hasData($statuResult))
|
||||
{
|
||||
for ($i = 0; $i < count(getData($msgVarsData)); $i++)
|
||||
{
|
||||
$parsedText = "";
|
||||
$msgVarsDataArray = $this->replaceKeys((array)getData($msgVarsData)[$i]); // replaces array keys
|
||||
|
||||
// Send without vorlage
|
||||
if (isEmptyString($vorlage_kurzbz))
|
||||
{
|
||||
$parsedText = $this->messagelib->parseMessageText($body, $msgVarsDataArray);
|
||||
$msg = $this->messagelib->sendMessage($sender_id, $msgVarsDataArray['person_id'], $subject, $parsedText, PRIORITY_NORMAL, $relationmessage_id, $oe_kurzbz);
|
||||
}
|
||||
// Send with vorlage
|
||||
else
|
||||
{
|
||||
if (is_array($msgVars))
|
||||
{
|
||||
// Additional message variables
|
||||
foreach ($msgVars as $key => $msgvar)
|
||||
{
|
||||
$msgVarsDataArray[$key] = $msgvar;
|
||||
}
|
||||
}
|
||||
$msg = $this->messagelib->sendMessageVorlage($sender_id, $msgVarsDataArray['person_id'], $vorlage_kurzbz, $oe_kurzbz, $msgVarsDataArray);
|
||||
}
|
||||
|
||||
if (isError($msg)) return $msg;
|
||||
|
||||
// Write log entry
|
||||
$personLog = $this->personloglib->log(
|
||||
$msgVarsDataArray['person_id'],
|
||||
'Action',
|
||||
array(
|
||||
'name' => 'Message sent',
|
||||
'message' => 'Message sent from person '.$sender_id.' to '.$msgVarsDataArray['person_id'].', messageid '.getData($msg),
|
||||
'success' => 'true'
|
||||
),
|
||||
'kommunikation',
|
||||
'core',
|
||||
null,
|
||||
getAuthUID()
|
||||
);
|
||||
|
||||
if (isError($personLog)) return $personLog;
|
||||
}
|
||||
|
||||
return success('Messages sent successfully');
|
||||
// Set date used to insert
|
||||
return $this->MsgStatusModel->insert(
|
||||
array(
|
||||
'message_id' => $message_id,
|
||||
'person_id' => $person_id,
|
||||
'status' => MSG_STATUS_READ,
|
||||
'insertvon' => getAuthUID()
|
||||
)
|
||||
); // insert and return result
|
||||
}
|
||||
else
|
||||
{
|
||||
return $msgVarsData;
|
||||
return success('Already set as read');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a reply
|
||||
* Prepares data for the view system/messages/ajaxWrite
|
||||
*/
|
||||
public function sendReply($subject, $body, $persons, $relationmessage_id, $token)
|
||||
public function prepareAjaxWrite()
|
||||
{
|
||||
$relationmsg = $this->MessageTokenModel->getMessageByToken($token);
|
||||
if (!hasData($relationmsg) || $relationmessage_id !== getData($relationmsg)[0]->message_id)
|
||||
{
|
||||
show_error('Error while sending reply');
|
||||
}
|
||||
$ouResult = $this->PrestudentModel->getOrganisationunitsByPersonId(getAuthPersonId());
|
||||
|
||||
// Get sender (receiver of previous msg)
|
||||
$sender_id = getData($relationmsg)[0]->receiver_id;
|
||||
if (isError($ouResult)) show_error('An error occurred while loading this page, please contact the site administrator');
|
||||
|
||||
// Get message data of persons
|
||||
$data = $this->MessageTokenModel->getPersonData($persons);
|
||||
if (hasData($data))
|
||||
$ouOptions = '<option value="0">Select...</option>';
|
||||
|
||||
if (hasData($ouResult))
|
||||
{
|
||||
for ($i = 0; $i < count(getData($data)); $i++)
|
||||
foreach (getData($ouResult) as $ou)
|
||||
{
|
||||
$dataArray = (array)getData($data)[$i];
|
||||
|
||||
$msg = $this->messagelib->sendMessage($sender_id, $dataArray['person_id'], $subject, $body, PRIORITY_NORMAL, $relationmessage_id, null);
|
||||
if (isError($msg)) return $msg;
|
||||
|
||||
// Logs person data
|
||||
$personLog = $this->personloglib->log(
|
||||
$sender_id,
|
||||
'Action',
|
||||
array(
|
||||
'name' => 'Message sent',
|
||||
'message' => 'Message sent from person '.$sender_id.' to '.$dataArray['person_id'].', messageid '.getData($msg),
|
||||
'success' => 'true'
|
||||
),
|
||||
'kommunikation',
|
||||
'core',
|
||||
null,
|
||||
'online'
|
||||
$ouOptions .= sprintf(
|
||||
"\n".'<option value="%s">%s</option>',
|
||||
is_numeric($ou->prestudent_id) ? $ou->oe_kurzbz : self::ALT_OE,
|
||||
$ou->bezeichnung . (is_numeric($ou->prestudent_id) ? '' : ' *')
|
||||
);
|
||||
|
||||
// Unpark bewerber after he sends message
|
||||
$personLog = $this->personloglib->unPark($sender_id);
|
||||
|
||||
if (isError($personLog)) return $personLog;
|
||||
}
|
||||
}
|
||||
|
||||
return success('Reply sent');
|
||||
return array('organisationUnitOptions' => $ouOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Prepares data for the view system/messages/ajaxWriteReply
|
||||
*/
|
||||
public function getAuthUser()
|
||||
public function prepareAjaxWriteReply($token)
|
||||
{
|
||||
$sender_id = null;
|
||||
if (isEmptyString($token)) show_error('The given token is not valid');
|
||||
|
||||
$this->load->model('person/Person_model', 'PersonModel');
|
||||
$authUser = $this->PersonModel->getByUid(getAuthUID());
|
||||
// Retrieves message using the given token
|
||||
$messageResult = $this->MessageTokenModel->getMessageByToken($token);
|
||||
if (isError($messageResult)) show_error('An error occurred while loading this page, please contact the site administrator');
|
||||
|
||||
if (!hasData($authUser)) $authUser = error('The current logged user person_id is not defined');
|
||||
if (hasData($messageResult))
|
||||
{
|
||||
$message = getData($messageResult)[0]; // Found message data
|
||||
|
||||
return $authUser;
|
||||
// Retrieves message sender information
|
||||
$senderResult = $this->MessageTokenModel->getSenderData($message->sender_id);
|
||||
if (isError($senderResult)) show_error('An error occurred while loading this page, please contact the site administrator');
|
||||
|
||||
if (hasData($senderResult))
|
||||
{
|
||||
$sender = getData($senderResult)[0]; // Found sender data
|
||||
|
||||
$replySubject = self::REPLY_SUBJECT_PREFIX.$message->subject;
|
||||
$replyBody = $this->_getReplyBody($message->body, $sender->vorname, $sender->nachname, $message->sent);
|
||||
|
||||
return array (
|
||||
'receiver' => $sender->vorname.' '.$sender->nachname, // yep! the sender of the sent message is the receiver of the reply message
|
||||
'subject' => $replySubject,
|
||||
'body' => $replyBody,
|
||||
'receiver_id' => $message->sender_id,
|
||||
'relationmessage_id' => $message->message_id,
|
||||
'token' => $token
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Prepares data for the view system/messages/ajaxRead
|
||||
* If everything is fine returns a list of received messages (objects)
|
||||
*/
|
||||
public function replaceKeys($data)
|
||||
public function prepareAjaxReadReceived()
|
||||
{
|
||||
// Retrieves received messages for the logged user and its organisation units
|
||||
$receivedMessagesResult = $this->RecipientModel->getReceivedMessages(
|
||||
getAuthPersonId(),
|
||||
$this->config->item(MessageLib::CFG_OU_RECEIVERS)
|
||||
);
|
||||
// If an error occurred return it
|
||||
if (isError($receivedMessagesResult)) return $receivedMessagesResult;
|
||||
|
||||
// If data were found
|
||||
if (hasData($receivedMessagesResult))
|
||||
{
|
||||
$jsonArray = array(); // array that contains all the received messages
|
||||
|
||||
// Collect'em all in the array $jsonArray
|
||||
foreach (getData($receivedMessagesResult) as $receivedMessage)
|
||||
{
|
||||
$jsonRecord = new stdClass();
|
||||
$jsonRecord->message_id = $receivedMessage->message_id;
|
||||
$jsonRecord->subject = $receivedMessage->subject;
|
||||
$jsonRecord->body = $receivedMessage->body;
|
||||
$jsonRecord->from = $receivedMessage->vorname.' '.$receivedMessage->nachname;
|
||||
$sentDate = new DateTime($receivedMessage->sent);
|
||||
$jsonRecord->sent = $sentDate->format('d/m/Y H:i:s');
|
||||
$jsonRecord->status = $receivedMessage->status;
|
||||
$jsonRecord->statusPersonId = $receivedMessage->statuspersonid;
|
||||
$jsonRecord->token = $receivedMessage->token;
|
||||
|
||||
$jsonArray[] = $jsonRecord;
|
||||
}
|
||||
|
||||
return success(json_encode($jsonArray)); // return as an json encoded string
|
||||
}
|
||||
|
||||
return success('No messages were found'); // NOT a blocking error
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares data for the view system/messages/ajaxRead
|
||||
* If everything is fine returns a list of sent messages (objects)
|
||||
*/
|
||||
public function prepareAjaxReadSent()
|
||||
{
|
||||
// Retrieves sent messages from the logged user
|
||||
$sentMessagesResult = $this->RecipientModel->getSentMessages(getAuthPersonId());
|
||||
if (isError($sentMessagesResult)) return $sentMessagesResult; // If an error occurred return it
|
||||
|
||||
if (hasData($sentMessagesResult))
|
||||
{
|
||||
$jsonArray = array();// array that contains all the sent messages
|
||||
|
||||
// Collect'em all in the array $jsonArray
|
||||
foreach (getData($sentMessagesResult) as $sentMessage)
|
||||
{
|
||||
$jsonRecord = new stdClass();
|
||||
$jsonRecord->message_id = $sentMessage->message_id;
|
||||
$jsonRecord->subject = $sentMessage->subject;
|
||||
$jsonRecord->body = $sentMessage->body;
|
||||
$sentDate = new DateTime($sentMessage->sent);
|
||||
$jsonRecord->sent = $sentDate->format('d/m/Y H:i:s');
|
||||
$jsonRecord->status = $sentMessage->status;
|
||||
$jsonRecord->statusPersonId = $sentMessage->statuspersonid;
|
||||
$jsonRecord->token = $sentMessage->token;
|
||||
|
||||
if ($sentMessage->person_id == $this->config->item(MessageLib::CFG_SYSTEM_PERSON_ID))
|
||||
{
|
||||
$jsonRecord->to = $sentMessage->oe;
|
||||
}
|
||||
else
|
||||
{
|
||||
$jsonRecord->to = $sentMessage->vorname.' '.$sentMessage->nachname;
|
||||
}
|
||||
|
||||
$jsonArray[] = $jsonRecord;
|
||||
}
|
||||
|
||||
return success(json_encode($jsonArray)); // return as an json encoded string
|
||||
}
|
||||
|
||||
return success('No messages were found'); // NOT a blocking error
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares data for the view system/messages/htmlRead using a token that identifies a single message
|
||||
*/
|
||||
public function prepareHtmlRead($token)
|
||||
{
|
||||
if (isEmptyString($token)) show_error('The given token is not valid');
|
||||
|
||||
// Retrieves message using the given token
|
||||
$messageResult = $this->MessageTokenModel->getMessageByToken($token);
|
||||
if (isError($messageResult)) show_error(getError($messageResult));
|
||||
if (!hasData($messageResult)) show_error('No message found with the given token');
|
||||
|
||||
$message = getData($messageResult)[0]; // Found message data
|
||||
|
||||
// Set message as read
|
||||
$srmsbtResult = $this->MessageTokenModel->setReadMessageStatusByToken($token);
|
||||
if (isError($srmsbtResult)) show_error(getError($srmsbtResult));
|
||||
|
||||
// Retrieves message sender information
|
||||
$senderResult = $this->MessageTokenModel->getSenderData($message->sender_id);
|
||||
if (isError($senderResult)) show_error(getError($senderResult));
|
||||
if (!hasData($senderResult)) show_error('No sender information found');
|
||||
|
||||
$sender = getData($senderResult)[0]; // Found sender data
|
||||
|
||||
// Check if the receiver is an employee
|
||||
$isEmployee = false; // not by default
|
||||
$isEmployeeResult = $this->MessageTokenModel->isEmployee($message->receiver_id);
|
||||
if (isError($isEmployeeResult)) show_error(getError($isEmployeeResult));
|
||||
if (hasData($isEmployeeResult)) $isEmployee = true;
|
||||
|
||||
// If the sender is not an employee and are present configurations to reply
|
||||
$hrefReply = '';
|
||||
if (!$isEmployee && !isEmptyString($this->config->item(MessageLib::CFG_REDIRECT_VIEW_MESSAGE_URL)))
|
||||
{
|
||||
$hrefReply = $this->config->item(MessageLib::CFG_MESSAGE_SERVER).
|
||||
$this->config->item(MessageLib::CFG_REDIRECT_VIEW_MESSAGE_URL).
|
||||
$token;
|
||||
}
|
||||
|
||||
return array (
|
||||
'sender' => $sender,
|
||||
'message' => $message,
|
||||
'hrefReply' => $hrefReply
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares data for the view system/messages/htmlWriteReply using a token that identifies a single message
|
||||
*/
|
||||
public function prepareHtmlWriteReply($token)
|
||||
{
|
||||
if (isEmptyString($token)) show_error('The given token is not valid');
|
||||
|
||||
// Retrieves message using the given token
|
||||
$messageResult = $this->MessageTokenModel->getMessageByToken($token);
|
||||
if (isError($messageResult)) show_error(getError($messageResult));
|
||||
if (!hasData($messageResult)) show_error('No message found with the given token');
|
||||
|
||||
$message = getData($messageResult)[0]; // Found message data
|
||||
|
||||
// Retrieves message sender information
|
||||
$senderResult = $this->MessageTokenModel->getSenderData($message->sender_id);
|
||||
if (isError($senderResult)) show_error(getError($senderResult));
|
||||
if (!hasData($senderResult)) show_error('No sender information found');
|
||||
|
||||
$sender = getData($senderResult)[0]; // Found sender data
|
||||
|
||||
$replySubject = self::REPLY_SUBJECT_PREFIX.$message->subject;
|
||||
$replyBody = $this->_getReplyBody($message->body, $sender->vorname, $sender->nachname, $message->sent);
|
||||
|
||||
return array (
|
||||
'receiver' => $sender->vorname.' '.$sender->nachname, // yep! the sender of the sent message is the receiver of the reply message
|
||||
'subject' => $replySubject,
|
||||
'body' => $replyBody,
|
||||
'receiver_id' => $message->sender_id,
|
||||
'relationmessage_id' => $message->message_id,
|
||||
'token' => $token
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares data for the view system/messages/htmlWriteTemplate using person ids as main parameter
|
||||
* Wrap method to _prepareHtmlWriteTemplate
|
||||
*/
|
||||
public function prepareHtmlWriteTemplatePersons($persons, $message_id = null, $recipient_id = null)
|
||||
{
|
||||
// Retrieves persons information
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPersonId($persons);
|
||||
|
||||
return $this->_prepareHtmlWriteTemplate($msgVarsData, $message_id, $recipient_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares data for the view system/messages/htmlWriteTemplate using prestudent ids as main parameter
|
||||
* Wrap method to _prepareHtmlWriteTemplate
|
||||
*/
|
||||
public function prepareHtmlWriteTemplatePrestudents($prestudents, $message_id = null, $recipient_id = null)
|
||||
{
|
||||
// Retrieves prestudents information
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudents);
|
||||
|
||||
return $this->_prepareHtmlWriteTemplate($msgVarsData, $message_id, $recipient_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a new message or a reply to a message (if $relationmessage_id is given)
|
||||
* using the template stored in the subject and body
|
||||
*/
|
||||
public function sendImplicitTemplate($type, $recipients_ids, $subject, $body, $relationmessage_id = null)
|
||||
{
|
||||
// Retrieves the sender id
|
||||
$sender_id = getAuthPersonId();
|
||||
if (!is_numeric($sender_id)) show_error('The current logged user person_id is not defined');
|
||||
|
||||
$msgVarsData = error('No persons nor prestudents were provided');
|
||||
// Retrieves message vars data for the given user/s
|
||||
if ($type == self::TYPE_PERSONS) // if persons were given
|
||||
{
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPersonId($recipients_ids);
|
||||
}
|
||||
elseif ($type == self::TYPE_PRESTUDENTS) // otherwise prestudents were given
|
||||
{
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPrestudentId($recipients_ids);
|
||||
|
||||
// Retrieve organisation unit for the recipients
|
||||
$organisationUnitsResult = $this->PrestudentModel->getOrganisationunits($recipients_ids);
|
||||
if (isError($organisationUnitsResult)) return $organisationUnitsResult;
|
||||
if (hasData($organisationUnitsResult)) $senderOUArray = getData($organisationUnitsResult);
|
||||
}
|
||||
if (isError($msgVarsData)) show_error(getError($msgVarsData));
|
||||
if (!hasData($msgVarsData)) show_error('No recipients were given');
|
||||
|
||||
$senderOU = null; // sender organisation unit only for presetudents
|
||||
$receiversCounter = 0; // a counter
|
||||
|
||||
// Looping on receivers data
|
||||
foreach (getData($msgVarsData) as $receiver)
|
||||
{
|
||||
$msgVarsDataArray = $this->_lowerReplaceSpaceArrayKeys((array)$receiver); // replaces array keys
|
||||
$parsedSubject = parseText($subject, $msgVarsDataArray);
|
||||
$parsedBody = parseText($body, $msgVarsDataArray);
|
||||
|
||||
// If exist an organisation unit for this prestudent and it is valid
|
||||
if (isset($senderOUArray[$receiversCounter])
|
||||
&& isset($senderOUArray[$receiversCounter]->oe_kurzbz)
|
||||
&& !isEmptyString($senderOUArray[$receiversCounter]->oe_kurzbz))
|
||||
{
|
||||
$senderOU = $senderOUArray[$receiversCounter]->oe_kurzbz;
|
||||
}
|
||||
else
|
||||
{
|
||||
$senderOU = null;
|
||||
}
|
||||
|
||||
$message = $this->messagelib->sendMessageUser(
|
||||
$msgVarsDataArray['person_id'], // receiverPersonId
|
||||
$parsedSubject, // subject
|
||||
$parsedBody, // body
|
||||
$sender_id, // sender_id
|
||||
$senderOU, // senderOU
|
||||
$relationmessage_id, // relationmessage_id
|
||||
MSG_PRIORITY_NORMAL // priority
|
||||
);
|
||||
|
||||
if (isError($message)) return $message;
|
||||
if (!hasData($message)) return error('No messages were saved in database');
|
||||
|
||||
// Write log entry only if persons were given
|
||||
if ($type == self::TYPE_PERSONS)
|
||||
{
|
||||
$personLog = $this->_personLog($sender_id, $msgVarsDataArray['person_id'], getData($message)[0]);
|
||||
if (isError($personLog)) return $personLog;
|
||||
}
|
||||
|
||||
$receiversCounter++; // increment the counter
|
||||
}
|
||||
|
||||
return success('Messages sent successfully');
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a new message using the given template and information present in parameter prestudents
|
||||
* Extra variables can be added using parameter $msgVars
|
||||
*/
|
||||
public function sendExplicitTemplate($prestudents, $oe_kurzbz, $vorlage_kurzbz, $msgVars)
|
||||
{
|
||||
// Retrieves the sender id
|
||||
$sender_id = getAuthPersonId();
|
||||
if (!is_numeric($sender_id)) show_error('The current logged user person_id is not defined');
|
||||
|
||||
// Retrieves message vars data for the given user/s
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudents);
|
||||
if (isError($msgVarsData)) show_error(getError($msgVarsData));
|
||||
if (!hasData($msgVarsData)) show_error('No recipients were given');
|
||||
|
||||
$prestudentsData = $this->PrestudentModel->getOrganisationunits($prestudents);
|
||||
|
||||
// Adds the organisation unit to each prestudent
|
||||
if (isEmptyString($oe_kurzbz) && hasData($msgVarsData) && hasData($prestudentsData))
|
||||
{
|
||||
$this->CLMessagesModel->_addOeToPrestudents($msgVarsData, $prestudentsData);
|
||||
}
|
||||
|
||||
foreach (getData($msgVarsData) as $receiver)
|
||||
{
|
||||
$msgVarsDataArray = $this->_lowerReplaceSpaceArrayKeys((array)$receiver); // replaces array keys
|
||||
|
||||
// Additional message variables
|
||||
if (is_array($msgVars)) $msgVarsDataArray = array_merge($msgVarsDataArray, $msgVars);
|
||||
|
||||
$message = $this->messagelib->sendMessageUserTemplate(
|
||||
$msgVarsDataArray['person_id'], // receiversPersonId
|
||||
$vorlage_kurzbz, // vorlage
|
||||
$msgVarsDataArray, // parseData
|
||||
null, // orgform
|
||||
$sender_id, // sender_id
|
||||
$oe_kurzbz // senderOU
|
||||
);
|
||||
|
||||
if (isError($message)) return $message;
|
||||
|
||||
// Write log entry
|
||||
$personLog = $this->_personLog($sender_id, $msgVarsDataArray['person_id'], getData($message)[0]);
|
||||
if (isError($personLog)) return $personLog;
|
||||
}
|
||||
|
||||
return success('Messages sent successfully');
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a reply to a single recipient for a message identified by a token (no templates are used)
|
||||
* NOTE: this method could be also called from not authenticated controllers
|
||||
*/
|
||||
public function sendReply($receiver_id, $subject, $body, $relationmessage_id, $token)
|
||||
{
|
||||
// Retrieves message sender information
|
||||
$senderResult = $this->MessageTokenModel->getSenderData($receiver_id);
|
||||
if (isError($senderResult)) show_error(getError($senderResult));
|
||||
if (!hasData($senderResult)) show_error('No sender information found');
|
||||
|
||||
$sender = getData($senderResult)[0]; // Found sender data
|
||||
|
||||
$messageResult = $this->MessageTokenModel->getMessageByToken($token);
|
||||
if (isError($messageResult)) show_error(getError($messageResult));
|
||||
// Security check! It is possible to reply only to a received message!!
|
||||
if (!hasData($messageResult) || $relationmessage_id != getData($messageResult)[0]->message_id)
|
||||
{
|
||||
show_error('An error occurred while sending your message, please contact the site administrator');
|
||||
}
|
||||
|
||||
// If the user is logged then use its person id as sender id, otherwise get the receiver id of the previous message
|
||||
$sender_id = isLogged() ? getAuthPersonId() : getData($messageResult)[0]->receiver_id;
|
||||
if (!is_numeric($sender_id)) return error('The sender id is not valid');
|
||||
|
||||
$message = $this->messagelib->sendMessageUser(
|
||||
$receiver_id, // receiverPersonId
|
||||
$subject, // subject
|
||||
$body, // body
|
||||
$sender_id, // sender_id, the receiver of the previous message is the sender of the current one
|
||||
null, // senderOU
|
||||
$relationmessage_id, // relationmessage_id
|
||||
MSG_PRIORITY_NORMAL // priority
|
||||
);
|
||||
|
||||
if (isError($message)) return $message;
|
||||
if (!hasData($message)) return error('No messages were saved in database');
|
||||
|
||||
// Write log entry
|
||||
// NOTE: $receiver_id and $sender_id are switched!!! Currently this is a workaround
|
||||
$personLog = $this->_personLog($receiver_id, $sender_id, getData($message)[0]);
|
||||
if (isError($personLog)) return $personLog;
|
||||
|
||||
return success('Messages sent successfully');
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a message to an organisation unit
|
||||
*/
|
||||
public function sendToOrganisationUnit($receiverOU, $subject, $body)
|
||||
{
|
||||
if (isEmptyString($receiverOU)) return error('Not a valid organisation unit');
|
||||
if (isEmptyString($subject)) return error('Subject is an empty string');
|
||||
if (isEmptyString($body)) return error('Body is an empty string');
|
||||
|
||||
$sender_id = getAuthPersonId();
|
||||
if (!is_numeric($sender_id)) return error('The current logged user person_id is not defined');
|
||||
|
||||
$message = $this->messagelib->sendMessageOU(
|
||||
$receiverOU, // receiverPersonId
|
||||
$subject, // subject
|
||||
$body, // body
|
||||
$sender_id // sender_id
|
||||
);
|
||||
|
||||
if (isError($message)) return $message;
|
||||
if (!hasData($message)) return error('No messages were saved in database');
|
||||
|
||||
// Write log entry
|
||||
$personLog = $this->_personLog($sender_id, $this->config->item(MessageLib::CFG_SYSTEM_PERSON_ID), getData($message)[0], $receiverOU);
|
||||
if (isError($personLog)) return $personLog;
|
||||
|
||||
return success('Messages sent successfully');
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Public methods called by controller system/messages/Messages
|
||||
|
||||
/**
|
||||
* Returns an object that represent a template store in database
|
||||
* If no templates are found with the given parameter or the given parameter is an empty string,
|
||||
* then an error is returned
|
||||
*/
|
||||
public function getVorlage($vorlage_kurzbz)
|
||||
{
|
||||
$getVorlage = error('The given vorlage_kurzbz is not valid');
|
||||
|
||||
if (!isEmptyString($vorlage_kurzbz))
|
||||
{
|
||||
$this->load->model('system/Vorlagestudiengang_model', 'VorlagestudiengangModel');
|
||||
$this->VorlagestudiengangModel->addOrder('version','DESC');
|
||||
|
||||
$getVorlage = $this->VorlagestudiengangModel->loadWhere(array('vorlage_kurzbz' => $vorlage_kurzbz));
|
||||
}
|
||||
|
||||
return $getVorlage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse the given given text using data from the given user
|
||||
* Use the CI parser which performs simple text substitution for pseudo-variable
|
||||
*/
|
||||
public function parseMessageTextPerson($person_id, $text)
|
||||
{
|
||||
$parseMessageText = error('The given person_id is not a valid number');
|
||||
|
||||
if (is_numeric($person_id)) $parseMessageText = $this->MessageModel->getMsgVarsDataByPersonId($person_id);
|
||||
|
||||
if (hasData($parseMessageText))
|
||||
{
|
||||
$parseMessageText = success(
|
||||
parseText(
|
||||
$text,
|
||||
$this->_lowerReplaceSpaceArrayKeys((array)getData($parseMessageText)[0])
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
return $parseMessageText;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse the given given text using data from the given user
|
||||
* Use the CI parser which performs simple text substitution for pseudo-variable
|
||||
*/
|
||||
public function parseMessageTextPrestudent($prestudent_id, $text)
|
||||
{
|
||||
$parseMessageText = error('The given prestudent_id is not a valid number');
|
||||
|
||||
if (is_numeric($prestudent_id)) $parseMessageText = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudent_id);
|
||||
|
||||
if (hasData($parseMessageText))
|
||||
{
|
||||
$parseMessageText = success(
|
||||
parseText(
|
||||
$text,
|
||||
$this->_lowerReplaceSpaceArrayKeys((array)getData($parseMessageText)[0])
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
return $parseMessageText;
|
||||
}
|
||||
|
||||
/**
|
||||
* Outputs message data for a message (identified my msg id and receiver id) in JSON format
|
||||
*/
|
||||
public function getMessageFromIds($message_id, $receiver_id)
|
||||
{
|
||||
$getMessageFromIds = error('The given message id or receiver id are not valid');
|
||||
|
||||
if (is_numeric($message_id) && is_numeric($receiver_id))
|
||||
{
|
||||
$getMessageFromIds = $this->messagelib->getMessage($message_id, $receiver_id);
|
||||
}
|
||||
|
||||
if (isError($getMessageFromIds) || !hasData($getMessageFromIds))
|
||||
{
|
||||
return array();
|
||||
}
|
||||
else
|
||||
{
|
||||
return array(getData($getMessageFromIds)[0]);
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Private methods
|
||||
|
||||
/**
|
||||
* Replaces data array keys to a lowercase string with underscores instead of spaces
|
||||
*/
|
||||
private function _lowerReplaceSpaceArrayKeys($data)
|
||||
{
|
||||
$tmpData = array();
|
||||
|
||||
// Replaces data array keys to a lowercase without spaces string
|
||||
foreach ($data as $key => $val)
|
||||
{
|
||||
$tmpData[str_replace(' ', '_', strtolower($key))] = $val;
|
||||
@@ -176,9 +657,9 @@ class Messages_model extends CI_Model
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Add organisation unit to an array of prestudents (objects)
|
||||
*/
|
||||
public function addOeToPrestudents(&$msgVarsData, $prestudentsData)
|
||||
private function _addOeToPrestudents(&$msgVarsData, $prestudentsData)
|
||||
{
|
||||
for ($i = 0; $i < count(getData($msgVarsData)); $i++)
|
||||
{
|
||||
@@ -192,4 +673,171 @@ class Messages_model extends CI_Model
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform a person log after a message is sent
|
||||
*/
|
||||
private function _personLog($sender_id, $receiver_id, $message_id, $receiverOU = null)
|
||||
{
|
||||
// In case the message is accessed via ViewMessage controller -> no authentication
|
||||
// If no authentication is performed then use a hard coded uid
|
||||
$loggedUserUID = isLogged() ? getAuthUID() : self::NO_AUTH_UID;
|
||||
|
||||
$message = 'Message sent from person '.$sender_id.' to '.$receiver_id.', message id: '.$message_id;
|
||||
if (!isEmptyString($receiverOU)) $message .= ', receiverOU: '.$receiverOU;
|
||||
|
||||
return $this->personloglib->log(
|
||||
$receiver_id,
|
||||
'Action',
|
||||
array(
|
||||
'name' => 'Message sent',
|
||||
'message' => $message,
|
||||
'success' => 'true'
|
||||
),
|
||||
'kommunikation',
|
||||
'core',
|
||||
null,
|
||||
$loggedUserUID
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Quotes the previous message body
|
||||
*/
|
||||
private function _getReplyBody($body, $receiverName, $receiverSurname, $sentDate)
|
||||
{
|
||||
return sprintf(
|
||||
self::REPLY_BODY_FORMAT,
|
||||
date_format(date_create($sentDate), 'd.m.Y H:i'), $receiverName, $receiverSurname, $body
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares data for the view system/messages/htmlWriteTemplate using the given parameters
|
||||
*/
|
||||
private function _prepareHtmlWriteTemplate($info, $message_id, $recipient_id)
|
||||
{
|
||||
// Checks that info parameter is valid
|
||||
if (isError($info)) show_error(getError($info));
|
||||
if (!hasData($info)) show_error('No recipients were given');
|
||||
|
||||
// If the message id and recipient id are given, then both they must be valid numbers
|
||||
if ((is_numeric($message_id) && !is_numeric($recipient_id))
|
||||
|| (!is_numeric($message_id) && is_numeric($recipient_id)))
|
||||
{
|
||||
show_error('If given, message id and recipient id both must be valid numbers');
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
// Retrieves the recipients information and builds:
|
||||
// - recipientsArray: an array that contains objects with id (person_id) and description (Vorname + Nachname) of recipient
|
||||
// - recipientsList: a string that contains all the recipients descriptions (Vorname + Nachname) separated by ;
|
||||
// - persons: a string that contains HTML input hidden with alla the receivers id (person_id)
|
||||
$recipientsArray = array();
|
||||
$recipientsList = '';
|
||||
$recipients_ids = '';
|
||||
|
||||
foreach (getData($info) as $receiver)
|
||||
{
|
||||
$id = 0;
|
||||
$recipient = new stdClass();
|
||||
$recipient->description = $receiver->Vorname.' '.$receiver->Nachname;
|
||||
$recipientsList .= $receiver->Vorname.' '.$receiver->Nachname.'; ';
|
||||
|
||||
// If it is a prestudent then
|
||||
if (isset($receiver->prestudent_id) && is_numeric($receiver->prestudent_id))
|
||||
{
|
||||
$recipient->id = $receiver->prestudent_id;
|
||||
$id = $receiver->prestudent_id;
|
||||
}
|
||||
else // otherwise it is a person
|
||||
{
|
||||
$recipient->id = $receiver->person_id;
|
||||
$id = $receiver->person_id;
|
||||
}
|
||||
|
||||
$recipients_ids .= '<input type="hidden" name="recipients_ids[]" value="'.$id.'">'."\n";
|
||||
|
||||
$recipientsArray[] = $recipient;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
// Retrieves the message to reply to, if it is specified by parameters $message_id and $recipient_id
|
||||
$replySubject = ''; // message reply subject
|
||||
$replyBody = ''; // message reply body
|
||||
$relationmessage = ''; // input hidden that contains the message id to be replied to
|
||||
// If both are given and they are valid
|
||||
if (is_numeric($message_id) && is_numeric($recipient_id))
|
||||
{
|
||||
// Retrieves a received message from tbl_msg_recipient
|
||||
$messageResult = $this->messagelib->getMessage($message_id, $recipient_id);
|
||||
if (isError($messageResult)) show_error(getError($messageResult));
|
||||
if (!hasData($messageResult)) show_error('The selected message does not exist');
|
||||
|
||||
$message = getData($messageResult)[0];
|
||||
|
||||
$replySubject = self::REPLY_SUBJECT_PREFIX.$message->subject;
|
||||
$replyBody = $this->_getReplyBody($message->body, $receiver->Vorname, $receiver->Nachname, $message->sent);
|
||||
$relationmessage = '<input type="hidden" name="relationmessage_id" value="'.$message_id.'">';
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
// Retrieves message vars from database view vw_msg_vars/vw_msg_vars_person
|
||||
$variablesResult = null;
|
||||
$type = '';
|
||||
|
||||
// If data contains a prestudent id
|
||||
// NOTE:
|
||||
// - info is checked at the beginning of this method so it is safe to use getData($info)[0]
|
||||
// - the provided data inside info are all persons or all prestudents, so it is safe to check only the first one
|
||||
if (isset(getData($info)[0]->prestudent_id) && is_numeric(getData($info)[0]->prestudent_id))
|
||||
{
|
||||
$variablesResult = $this->messagelib->getMessageVarsPrestudent();
|
||||
$type = '<input type="hidden" id="type" name="type" value="'.self::TYPE_PRESTUDENTS.'">';
|
||||
}
|
||||
else
|
||||
{
|
||||
$variablesResult = $this->messagelib->getMessageVarsPerson();
|
||||
$type = '<input type="hidden" id="type" name="type" value="'.self::TYPE_PERSONS.'">';
|
||||
}
|
||||
if (isError($variablesResult)) show_error(getError($variablesResult));
|
||||
|
||||
// Then builds an array that contains objects with id (person_id) and description (Vorname + Nachname) of recipient
|
||||
$variables = array();
|
||||
foreach (getData($variablesResult) as $id => $description)
|
||||
{
|
||||
$tmpVar = new stdClass();
|
||||
$tmpVar->id = $id;
|
||||
$tmpVar->description = $description;
|
||||
|
||||
$variables[] = $tmpVar;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
// Retrieves the sender id
|
||||
$sender_id = getAuthPersonId();
|
||||
if (!is_numeric($sender_id)) show_error('The current logged user person_id is not defined');
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
// Organisation units and a boolean (true if the sender is administrator) are used to get the templates
|
||||
$organisationUnits = $this->messagelib->getOeKurzbz($sender_id);
|
||||
if (isError($organisationUnits)) show_error(getError($organisationUnits));
|
||||
$senderIsAdmin = $this->BenutzerrolleModel->isAdminByPersonId($sender_id);
|
||||
if (isError($senderIsAdmin)) show_error(getError($senderIsAdmin));
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
// Returns data as an array
|
||||
return array (
|
||||
'recipientsList' => $recipientsList,
|
||||
'subject' => $replySubject,
|
||||
'body' => $replyBody,
|
||||
'variables' => $variables,
|
||||
'organisationUnits' => getData($organisationUnits),
|
||||
'senderIsAdmin' => getData($senderIsAdmin),
|
||||
'recipientsArray' => $recipientsArray,
|
||||
'recipients_ids' => $recipients_ids,
|
||||
'relationmessage_id' => $relationmessage,
|
||||
'type' => $type
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ class Bisverwendung_model extends DB_Model
|
||||
/**
|
||||
* Get latest (active) Verwendung of the user.
|
||||
* @param string $uid
|
||||
* @param bool $active If false, returns latest Verwendung no matter if actual or not (ignores ending/beginning date).
|
||||
* @param bool $active If false, returns latest Verwendung no matter if it is still actual.
|
||||
* @return array
|
||||
*/
|
||||
public function getLast($uid, $active = true)
|
||||
@@ -28,14 +28,14 @@ class Bisverwendung_model extends DB_Model
|
||||
mitarbeiter_uid = '. $this->escape($uid). '
|
||||
AND ( beginn <= NOW() OR beginn IS NULL )
|
||||
AND ( ende >= NOW() OR ende IS NULL )
|
||||
ORDER BY ende DESC NULLS LAST, beginn DESC NULLS LAST
|
||||
ORDER BY ende DESC NULLS FIRST, beginn DESC NULLS LAST
|
||||
';
|
||||
}
|
||||
else
|
||||
{
|
||||
$condition = '
|
||||
mitarbeiter_uid = '. $this->escape($uid). '
|
||||
ORDER BY ende DESC NULLS LAST, beginn DESC NULLS LAST
|
||||
ORDER BY ende DESC NULLS FIRST, beginn DESC NULLS LAST
|
||||
';
|
||||
}
|
||||
|
||||
|
||||
@@ -541,4 +541,35 @@ class Prestudent_model extends DB_Model
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get organisation units for all the prestudents of a person
|
||||
*/
|
||||
public function getOrganisationunitsByPersonId($person_id)
|
||||
{
|
||||
$query = 'SELECT o.oe_kurzbz,
|
||||
o.bezeichnung,
|
||||
(CASE
|
||||
WHEN sg.typ = \'b\' THEN ps.prestudent_id
|
||||
WHEN sg.typ = \'m\' THEN p.prestudent_id
|
||||
ELSE NULL
|
||||
END) AS prestudent_id
|
||||
FROM public.tbl_prestudent p
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
JOIN public.tbl_organisationseinheit o USING(oe_kurzbz)
|
||||
LEFT JOIN (
|
||||
SELECT prestudent_id
|
||||
FROM public.tbl_prestudentstatus
|
||||
WHERE status_kurzbz = \'Bewerber\'
|
||||
) ps USING(prestudent_id)
|
||||
WHERE p.person_id = ?
|
||||
GROUP BY o.oe_kurzbz,
|
||||
o.bezeichnung,
|
||||
sg.typ,
|
||||
ps.prestudent_id,
|
||||
p.prestudent_id
|
||||
ORDER BY o.bezeichnung';
|
||||
|
||||
return $this->execQuery($query, array($person_id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,4 +18,19 @@ class Benutzer_model extends DB_Model
|
||||
return $this->loadWhere(array('person_id' => $person_id, 'aktiv' => true));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function getActiveUserByPersonIdAndOrganisationUnit($person_id, $oe_kurzbz)
|
||||
{
|
||||
$sql = 'SELECT b.uid
|
||||
FROM public.tbl_benutzer b
|
||||
JOIN public.tbl_prestudent ps USING (person_id)
|
||||
JOIN public.tbl_studiengang sg USING (studiengang_kz)
|
||||
WHERE ps.person_id = ?
|
||||
AND sg.oe_kurzbz = ?
|
||||
AND b.aktiv = TRUE';
|
||||
|
||||
return $this->execQuery($sql, array($person_id, $oe_kurzbz));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,16 +11,20 @@ class Benutzerfunktion_model extends DB_Model
|
||||
$this->dbTable = 'public.tbl_benutzerfunktion';
|
||||
$this->pk = 'benutzerfunktion_id';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the Benutzerfunktion using the person_id
|
||||
*/
|
||||
public function getByPersonId($person_id)
|
||||
public function getActiveFunctionsByPersonId($person_id)
|
||||
{
|
||||
// Join with the table
|
||||
$this->addJoin('public.tbl_benutzer', 'uid');
|
||||
|
||||
return $this->loadWhere(array('person_id' => $person_id));
|
||||
$query = 'SELECT bf.*
|
||||
FROM public.tbl_benutzerfunktion bf
|
||||
JOIN public.tbl_benutzer b USING (uid)
|
||||
WHERE b.person_id = ?
|
||||
AND (bf.datum_von IS NULL OR bf.datum_von <= now())
|
||||
AND (bf.datum_bis IS NULL OR bf.datum_bis >= now())';
|
||||
|
||||
return $this->execQuery($query, array($person_id));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,17 +8,17 @@ class Kontakt_model extends DB_Model
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = "public.tbl_kontakt";
|
||||
$this->pk = "kontakt_id";
|
||||
$this->dbTable = 'public.tbl_kontakt';
|
||||
$this->pk = 'kontakt_id';
|
||||
}
|
||||
|
||||
|
||||
public function getWholeKontakt($kontakt_id, $person_id = null, $kontakttyp = null)
|
||||
{
|
||||
$result = null;
|
||||
|
||||
$this->addJoin("public.tbl_standort", "standort_id", "LEFT");
|
||||
$this->addJoin("public.tbl_firma", "firma_id", "LEFT");
|
||||
|
||||
|
||||
$this->addJoin('public.tbl_standort', 'standort_id', 'LEFT');
|
||||
$this->addJoin('public.tbl_firma', 'firma_id', 'LEFT');
|
||||
|
||||
if (isset($kontakt_id))
|
||||
{
|
||||
$result = $this->load($kontakt_id);
|
||||
@@ -26,22 +26,37 @@ class Kontakt_model extends DB_Model
|
||||
else
|
||||
{
|
||||
$parametersArray = array();
|
||||
|
||||
|
||||
if (!is_null($person_id))
|
||||
{
|
||||
$parametersArray["person_id"] = $person_id;
|
||||
$parametersArray['person_id'] = $person_id;
|
||||
}
|
||||
if (!is_null($kontakttyp))
|
||||
{
|
||||
$parametersArray["kontakttyp"] = $kontakttyp;
|
||||
$parametersArray['kontakttyp'] = $kontakttyp;
|
||||
}
|
||||
|
||||
|
||||
if (count($parametersArray) > 0)
|
||||
{
|
||||
$result = $this->loadWhere($parametersArray);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function getContactByPersonId($person_id, $kontakttyp)
|
||||
{
|
||||
$sql = 'SELECT kontakt
|
||||
FROM public.tbl_kontakt
|
||||
WHERE zustellung = TRUE
|
||||
AND person_id = ?
|
||||
AND kontakttyp = ?
|
||||
ORDER BY updateamum, insertamum';
|
||||
|
||||
return $this->execQuery($sql, array($person_id, $kontakttyp));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,28 +205,47 @@ class Person_model extends DB_Model
|
||||
*/
|
||||
public function getLanguage($uid)
|
||||
{
|
||||
$language = DEFAULT_LANGUAGE;
|
||||
|
||||
$this->addSelect('public.tbl_person.sprache');
|
||||
$this->addJoin('public.tbl_benutzer', 'person_id');
|
||||
$this->addJoin('public.tbl_sprache', 'sprache');
|
||||
$this->addOrder('public.tbl_person.updateamum', 'DESC');
|
||||
$this->addOrder('public.tbl_person.insertvon', 'DESC');
|
||||
|
||||
$persons = $this->loadWhere(array('uid' => $uid));
|
||||
return $this->loadWhere(array('uid' => $uid, 'content' => true));
|
||||
}
|
||||
|
||||
if (hasData($persons))
|
||||
/**
|
||||
* Checks if a person has a Bewerberstatus and reihungstestangetreten = true
|
||||
* @param $person_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return array
|
||||
*/
|
||||
public function hasBewerber($person_id, $studiensemester_kurzbz, $studiengangtyp = null)
|
||||
{
|
||||
$parametersArray = array($person_id, $studiensemester_kurzbz);
|
||||
|
||||
$qry = "SELECT count(*) AS anzahl_bewerber FROM public.tbl_person
|
||||
JOIN public.tbl_prestudent USING (person_id)
|
||||
JOIN public.tbl_prestudentstatus ON tbl_prestudentstatus.prestudent_id = tbl_prestudent.prestudent_id";
|
||||
|
||||
if (isset($studiengangtyp))
|
||||
{
|
||||
for ($i = 0; $i < count($persons->retval); $i++)
|
||||
{
|
||||
$person = $persons->retval[$i];
|
||||
|
||||
if (!isEmptyString($person->sprache))
|
||||
{
|
||||
$language = $person->sprache;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$qry .= " JOIN lehre.tbl_studienplan USING(studienplan_id)
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
JOIN public.tbl_studiengang ON tbl_studienordnung.studiengang_kz = tbl_studiengang.studiengang_kz";
|
||||
}
|
||||
|
||||
return $language;
|
||||
$qry .= " WHERE person_id = ?
|
||||
AND studiensemester_kurzbz = ?
|
||||
AND tbl_prestudentstatus.status_kurzbz = 'Bewerber'
|
||||
AND reihungstestangetreten";
|
||||
|
||||
if (isset($studiengangtyp))
|
||||
{
|
||||
$parametersArray[] = $studiengangtyp;
|
||||
$qry .= " AND tbl_studiengang.typ = ?";
|
||||
}
|
||||
|
||||
return $this->execQuery($qry, $parametersArray);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,24 +136,6 @@ class MessageToken_model extends DB_Model
|
||||
return $this->execQuery($sql, array($person_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get data of a person
|
||||
*/
|
||||
public function getPersonData($person_id)
|
||||
{
|
||||
$sql = 'SELECT person_id,
|
||||
vorname as "Vorname",
|
||||
nachname as "Nachname",
|
||||
anrede as "Anrede",
|
||||
titelpost as "TitelPost",
|
||||
titelpre as "TitelPre",
|
||||
vornamen as "Vornamen"
|
||||
FROM public.tbl_person
|
||||
WHERE person_id %s ?';
|
||||
|
||||
return $this->execQuery(sprintf($sql, is_array($person_id) ? 'IN' : '='), array($person_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Searchs for a person by its person_id and checks if it is an employee
|
||||
*/
|
||||
|
||||
@@ -25,7 +25,8 @@ class Recipient_model extends DB_Model
|
||||
ks.kontakt,
|
||||
p.nachname,
|
||||
p.vorname,
|
||||
b.uid
|
||||
b.uid,
|
||||
mr.sent
|
||||
FROM public.tbl_msg_recipient mr INNER JOIN public.tbl_msg_message mm USING (message_id)
|
||||
INNER JOIN public.tbl_person p ON (mm.person_id = p.person_id)
|
||||
LEFT JOIN public.tbl_benutzer b ON (mr.person_id = b.person_id)
|
||||
@@ -56,11 +57,13 @@ class Recipient_model extends DB_Model
|
||||
m.oe_kurzbz,
|
||||
s.status,
|
||||
s.statusinfo,
|
||||
s.insertamum as statusamum
|
||||
s.insertamum as statusamum,
|
||||
b.uid
|
||||
FROM public.tbl_msg_recipient r JOIN public.tbl_msg_message m USING (message_id)
|
||||
JOIN (
|
||||
SELECT * FROM public.tbl_msg_status WHERE status < ? ORDER BY insertamum DESC, status DESC
|
||||
) s ON (r.message_id = s.message_id AND r.person_id = s.person_id)
|
||||
) s ON (r.message_id = s.message_id AND r.person_id = s.person_id),
|
||||
LEFT JOIN public.tbl_benutzer b USING(person_id)
|
||||
WHERE r.token = ?
|
||||
LIMIT 1';
|
||||
|
||||
@@ -196,74 +199,24 @@ class Recipient_model extends DB_Model
|
||||
}
|
||||
|
||||
/**
|
||||
* getMessages
|
||||
* Gets all messages for which notice emails are still not sent
|
||||
*
|
||||
* Gets all the messages to be sent
|
||||
*
|
||||
* @param kontaktType specifies the type of the kontakt to get
|
||||
* @param sent specifies the status of the messages to get (NULL never sent, otherwise the shipping date)
|
||||
* @param limit specifies the number of messages to get
|
||||
* @param message_id specifies a single message
|
||||
* @param kontaktType specifies the type of the kontakt to get (email,...)
|
||||
* @param limit specifies the max number of messages to get
|
||||
* @param since specifies from which date messages have to be retrieved
|
||||
*/
|
||||
public function getMessages($kontaktType, $sent, $limit = null, $message_id = null)
|
||||
public function getNotSentMessages($limit, $since)
|
||||
{
|
||||
$query = 'SELECT mm.message_id,
|
||||
ks.kontakt as sender,
|
||||
kr.kontakt as receiver,
|
||||
mu.mitarbeiter_uid as employeeContact,
|
||||
ms.mitarbeiter_uid as senderemployeeContact,
|
||||
mr.person_id as receiver_id,
|
||||
mr.token,
|
||||
mm.subject,
|
||||
mm.body,
|
||||
mr.sentinfo
|
||||
FROM public.tbl_msg_recipient mr INNER JOIN public.tbl_msg_message mm USING (message_id)
|
||||
LEFT JOIN (
|
||||
SELECT person_id, kontakt FROM public.tbl_kontakt WHERE kontakttyp = ?
|
||||
) ks ON (ks.person_id = mm.person_id)
|
||||
LEFT JOIN (
|
||||
SELECT person_id, kontakt FROM public.tbl_kontakt WHERE kontakttyp = ?
|
||||
) kr ON (kr.person_id = mr.person_id)
|
||||
LEFT JOIN (
|
||||
SELECT b.person_id,
|
||||
m.mitarbeiter_uid
|
||||
FROM public.tbl_benutzer b INNER JOIN public.tbl_mitarbeiter m ON(b.uid = m.mitarbeiter_uid)
|
||||
WHERE b.aktiv = TRUE
|
||||
) mu ON (mu.person_id = mr.person_id)
|
||||
LEFT JOIN (
|
||||
SELECT b.person_id,
|
||||
m.mitarbeiter_uid
|
||||
FROM public.tbl_benutzer b INNER JOIN public.tbl_mitarbeiter m ON(b.uid = m.mitarbeiter_uid)
|
||||
WHERE b.aktiv = TRUE
|
||||
) ms ON (ms.person_id = mm.person_id)';
|
||||
$query = 'SELECT mm.message_id
|
||||
FROM public.tbl_msg_recipient mr
|
||||
JOIN public.tbl_msg_message mm USING (message_id)
|
||||
WHERE mr.sent IS NULL
|
||||
AND mr.sentinfo IS NULL
|
||||
AND mm.insertamum > ?
|
||||
ORDER BY mr.insertamum ASC
|
||||
LIMIT ?';
|
||||
|
||||
$parametersArray = array($kontaktType, $kontaktType);
|
||||
|
||||
if (is_null($sent) || $sent == '')
|
||||
{
|
||||
$query .= ' WHERE mr.sent IS NULL';
|
||||
}
|
||||
else
|
||||
{
|
||||
array_push($parametersArray, $sent);
|
||||
$query .= ' WHERE mr.sent = ?';
|
||||
}
|
||||
|
||||
if (!is_null($message_id))
|
||||
{
|
||||
array_push($parametersArray, $message_id);
|
||||
$query .= ' AND mm.message_id = ?';
|
||||
}
|
||||
|
||||
$query .= ' ORDER BY mr.insertamum ASC';
|
||||
|
||||
if (!is_null($limit))
|
||||
{
|
||||
$query .= ' LIMIT ?';
|
||||
array_push($parametersArray, $limit);
|
||||
}
|
||||
|
||||
return $this->execQuery($query, $parametersArray);
|
||||
return $this->execQuery($query, array($since, $limit));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -307,4 +260,137 @@ class Recipient_model extends DB_Model
|
||||
|
||||
return $this->execQuery($sql, $parametersArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* - Gets the directly recieved messages using the given person id
|
||||
* - Gets the recieved messages from an organisation unit where this person plays a role given by the parameter functions
|
||||
*/
|
||||
public function getReceivedMessages($person_id, $functions)
|
||||
{
|
||||
$sql = '-- Messages sent directly to the person
|
||||
SELECT mr.message_id,
|
||||
mm.relationmessage_id,
|
||||
mm.subject,
|
||||
mm.body,
|
||||
mm.insertamum AS sent,
|
||||
p.vorname,
|
||||
p.nachname,
|
||||
MAX(ms.status) AS status,
|
||||
ms.person_id AS statusPersonId,
|
||||
mr.token
|
||||
FROM public.tbl_msg_recipient mr
|
||||
JOIN public.tbl_msg_message mm ON (mm.message_id = mr.message_id)
|
||||
JOIN public.tbl_msg_status ms ON (ms.message_id = mr.message_id AND ms.person_id = mr.person_id)
|
||||
JOIN public.tbl_person p ON (p.person_id = mm.person_id)
|
||||
WHERE mr.person_id = ?
|
||||
GROUP BY mr.message_id,
|
||||
mm.relationmessage_id,
|
||||
mm.subject,
|
||||
mm.body,
|
||||
mm.insertamum,
|
||||
p.vorname,
|
||||
p.nachname,
|
||||
ms.person_id,
|
||||
mr.token
|
||||
UNION
|
||||
-- Messages sent to a person that belongs to the recipient organisation unit
|
||||
SELECT mrou.message_id,
|
||||
mm.relationmessage_id,
|
||||
mm.subject,
|
||||
mm.body,
|
||||
mm.insertamum AS sent,
|
||||
pr.vorname,
|
||||
pr.nachname,
|
||||
MAX(ms.status) AS status,
|
||||
ms.person_id AS statusPersonId,
|
||||
mrou.token
|
||||
FROM public.tbl_person p
|
||||
JOIN public.tbl_benutzer b ON (b.person_id = p.person_id)
|
||||
JOIN (
|
||||
SELECT uid, oe_kurzbz
|
||||
FROM public.tbl_benutzerfunktion
|
||||
WHERE (datum_von IS NULL OR datum_von <= NOW())
|
||||
AND (datum_bis IS NULL OR datum_bis >= NOW())
|
||||
AND funktion_kurzbz IN ?
|
||||
) bf ON (bf.uid = b.uid)
|
||||
JOIN public.tbl_msg_recipient mrou ON (mrou.oe_kurzbz = bf.oe_kurzbz)
|
||||
JOIN public.tbl_msg_message mm ON (mm.message_id = mrou.message_id)
|
||||
JOIN public.tbl_msg_status ms ON (ms.message_id = mrou.message_id AND ms.person_id = mrou.person_id)
|
||||
JOIN public.tbl_person pr ON (pr.person_id = mm.person_id)
|
||||
WHERE p.person_id = ?
|
||||
GROUP BY mrou.message_id,
|
||||
mm.relationmessage_id,
|
||||
mm.subject,
|
||||
mm.body,
|
||||
mm.insertamum,
|
||||
pr.vorname,
|
||||
pr.nachname,
|
||||
ms.person_id,
|
||||
mrou.token
|
||||
ORDER BY sent DESC';
|
||||
|
||||
return $this->execQuery($sql, array($person_id, $functions, $person_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all the sent message by the given person
|
||||
*/
|
||||
public function getSentMessages($person_id)
|
||||
{
|
||||
$sql = 'SELECT mm.message_id,
|
||||
mm.relationmessage_id,
|
||||
mm.subject,
|
||||
mm.body,
|
||||
mm.insertamum AS sent,
|
||||
p.person_id,
|
||||
p.vorname,
|
||||
p.nachname,
|
||||
MAX(ms.status) AS status,
|
||||
ms.person_id AS statusPersonId,
|
||||
oe.bezeichnung AS oe,
|
||||
mr.token
|
||||
FROM public.tbl_msg_message mm
|
||||
JOIN public.tbl_msg_recipient mr ON (mr.message_id = mm.message_id)
|
||||
JOIN public.tbl_msg_status ms ON (ms.message_id = mm.message_id AND ms.person_id = mr.person_id)
|
||||
JOIN public.tbl_person p ON (p.person_id = mr.person_id)
|
||||
LEFT JOIN public.tbl_organisationseinheit oe ON (oe.oe_kurzbz = mr.oe_kurzbz)
|
||||
WHERE mm.person_id = ?
|
||||
GROUP BY mm.message_id,
|
||||
mm.relationmessage_id,
|
||||
mm.subject,
|
||||
mm.body,
|
||||
mm.insertamum,
|
||||
p.person_id,
|
||||
p.vorname,
|
||||
p.nachname,
|
||||
ms.person_id,
|
||||
oe.bezeichnung,
|
||||
mr.token
|
||||
ORDER BY sent DESC';
|
||||
|
||||
return $this->execQuery($sql, array($person_id));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function getMessagesById($messageIds)
|
||||
{
|
||||
$sql = 'SELECT mm.message_id,
|
||||
mm.person_id AS sender_id,
|
||||
mm.subject,
|
||||
mm.body,
|
||||
mm.relationmessage_id,
|
||||
mm.oe_kurzbz AS sender_ou,
|
||||
mr.person_id AS receiver_id,
|
||||
mr.token,
|
||||
mr.sent,
|
||||
mr.sentinfo,
|
||||
mr.oe_kurzbz AS receiver_ou
|
||||
FROM public.tbl_msg_message mm
|
||||
JOIN public.tbl_msg_recipient mr ON (mr.message_id = mm.message_id)
|
||||
WHERE mm.message_id IN ?';
|
||||
|
||||
return $this->execQuery($sql, array($messageIds));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,30 +24,32 @@ class Variable_model extends DB_Model
|
||||
*/
|
||||
public function getVariables($uid, $names = null)
|
||||
{
|
||||
if (isEmptyString($uid) || (isset($names) && !is_array($names)))
|
||||
if (isEmptyString($uid))
|
||||
$result = error('wrong parameters passed');
|
||||
else
|
||||
{
|
||||
$vardata = array();
|
||||
$parametersArray = array($uid);
|
||||
|
||||
$qry = "SELECT name, wert FROM public.tbl_variable WHERE uid = ?";
|
||||
|
||||
if (isset($names))
|
||||
if (!isEmptyArray($names))
|
||||
{
|
||||
$qry .= " AND name IN ('".implode(',', $names)."')";
|
||||
$qry .= " AND name IN ?";
|
||||
$parametersArray[] = $names;
|
||||
}
|
||||
$qry .= ";";
|
||||
|
||||
$varresults = $this->execQuery($qry, array($uid));
|
||||
$varresults = $this->execQuery($qry, $parametersArray);
|
||||
|
||||
if (hasData($varresults))
|
||||
{
|
||||
$varresults = getData($varresults);
|
||||
foreach ($varresults as $varresult)
|
||||
{
|
||||
if (isset($varresult->wert))
|
||||
$vardata[$varresult->name] = $varresult->wert;
|
||||
}
|
||||
foreach ($varresults as $varresult)
|
||||
{
|
||||
if (isset($varresult->wert))
|
||||
$vardata[$varresult->name] = $varresult->wert;
|
||||
}
|
||||
}
|
||||
|
||||
$vardefaults = $this->VariablennameModel->getDefaults($names);
|
||||
@@ -56,7 +58,6 @@ class Variable_model extends DB_Model
|
||||
{
|
||||
$vardefaults = getData($vardefaults);
|
||||
|
||||
|
||||
foreach ($vardefaults as $vardefault)
|
||||
{
|
||||
if (!isset($vardata[$vardefault->name]) && isset($vardefault->defaultwert))
|
||||
|
||||
@@ -1,89 +1,89 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'StatusEdit'));
|
||||
|
||||
$s = $status;
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Status: <?php echo $s->status_kurzbz; ?></h2>
|
||||
<form method="post" action="../saveStatus">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
beschreibung:<br/><br/>
|
||||
<input type="text" name="beschreibung" value="<?php echo $s->beschreibung; ?>" /><br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Anmerkung:<br/><br/>
|
||||
<textarea name="anmerkung"><?php echo $s->anmerkung; ?></textarea><br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Bezeichnung mehrsprachig:<br/><br/>
|
||||
|
||||
<?php
|
||||
$val = '';
|
||||
$i = 0;
|
||||
?>
|
||||
|
||||
<?php foreach ($sprache as $sp): ?>
|
||||
<?php echo $sp->sprache; ?>:<br/>
|
||||
<?php
|
||||
if (!isset($s->bezeichnung_mehrsprachig[$i]))
|
||||
{
|
||||
$val = '';
|
||||
}
|
||||
else
|
||||
{
|
||||
$val = $s->bezeichnung_mehrsprachig[$i];
|
||||
}
|
||||
$i++;
|
||||
?>
|
||||
<input type="text" name="bezeichnung_mehrsprachig[]" value="<?php echo $val; ?>" /><br/>
|
||||
<?php endforeach ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<button type="submit">Save</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="hidden" name="status_kurzbz" value="<?php echo $s->status_kurzbz; ?>" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php
|
||||
if (!is_null($update))
|
||||
{
|
||||
?>
|
||||
<script>
|
||||
parent.document.getElementById("StatusgrundLeft").contentWindow.location.reload(true);
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</html>
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'StatusEdit'));
|
||||
|
||||
$s = $status;
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Status: <?php echo $s->status_kurzbz; ?></h2>
|
||||
<form method="post" action="../saveStatus">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
beschreibung:<br/><br/>
|
||||
<input type="text" name="beschreibung" value="<?php echo $s->beschreibung; ?>" /><br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Anmerkung:<br/><br/>
|
||||
<textarea name="anmerkung"><?php echo $s->anmerkung; ?></textarea><br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Bezeichnung mehrsprachig:<br/><br/>
|
||||
|
||||
<?php
|
||||
$val = '';
|
||||
$i = 0;
|
||||
?>
|
||||
|
||||
<?php foreach ($sprache as $sp): ?>
|
||||
<?php echo $sp->sprache; ?>:<br/>
|
||||
<?php
|
||||
if (!isset($s->bezeichnung_mehrsprachig[$i]))
|
||||
{
|
||||
$val = '';
|
||||
}
|
||||
else
|
||||
{
|
||||
$val = $s->bezeichnung_mehrsprachig[$i];
|
||||
}
|
||||
$i++;
|
||||
?>
|
||||
<input type="text" name="bezeichnung_mehrsprachig[]" value="<?php echo $val; ?>" /><br/>
|
||||
<?php endforeach ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<button type="submit">Save</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="hidden" name="status_kurzbz" value="<?php echo $s->status_kurzbz; ?>" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php
|
||||
if (!is_null($update))
|
||||
{
|
||||
?>
|
||||
<script>
|
||||
parent.document.getElementById("StatusgrundLeft").contentWindow.location.reload(true);
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
|
||||
<html lang="de_AT">
|
||||
|
||||
<head>
|
||||
<title>VileSci - Statusgrund</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
</head>
|
||||
|
||||
<frameset cols="30%, *">
|
||||
<frame src="Statusgrund/listStatus" id="StatusgrundLeft" name="StatusgrundLeft" frameborder="1" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
</body>
|
||||
</noframes>
|
||||
<frameset rows="30%, *">
|
||||
<frame src="" id="StatusgrundTop" name="StatusgrundTop" frameborder="1" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
</body>
|
||||
</noframes>
|
||||
<frame src="" id="StatusgrundBottom" name="StatusgrundBottom" frameborder="1" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
</body>
|
||||
</noframes>
|
||||
</frameset>
|
||||
</frameset>
|
||||
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
|
||||
<html lang="de_AT">
|
||||
|
||||
<head>
|
||||
<title>VileSci - Statusgrund</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
</head>
|
||||
|
||||
<frameset cols="30%, *">
|
||||
<frame src="Statusgrund/listStatus" id="StatusgrundLeft" name="StatusgrundLeft" frameborder="1" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
</body>
|
||||
</noframes>
|
||||
<frameset rows="30%, *">
|
||||
<frame src="" id="StatusgrundTop" name="StatusgrundTop" frameborder="1" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
</body>
|
||||
</noframes>
|
||||
<frame src="" id="StatusgrundBottom" name="StatusgrundBottom" frameborder="1" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
</body>
|
||||
</noframes>
|
||||
</frameset>
|
||||
</frameset>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,107 +1,107 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'StatusgrundEdit'));
|
||||
|
||||
$sg = $statusgrund;
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Statusgrund: <?php echo $sg->status_kurzbz; ?></h2>
|
||||
<form method="post" action="<?php echo site_url("crm/Statusgrund/saveGrund"); ?>">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Bezeichnung mehrsprachig:<br/><br/>
|
||||
<?php
|
||||
$i = 0;
|
||||
$val = "";
|
||||
?>
|
||||
<?php foreach ($sprache as $s): ?>
|
||||
<?php echo $s->sprache; ?>:<br/>
|
||||
<?php
|
||||
if (!isset($sg->bezeichnung_mehrsprachig[$i]))
|
||||
{
|
||||
$val = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
$val = $sg->bezeichnung_mehrsprachig[$i];
|
||||
}
|
||||
$i++;
|
||||
?>
|
||||
<input type="text" name="bezeichnung_mehrsprachig[]" value="<?php echo $val; ?>" /><br/>
|
||||
<?php endforeach ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Beschreibung:<br/><br/>
|
||||
<?php
|
||||
$i = 0;
|
||||
$val = "";
|
||||
?>
|
||||
<?php foreach ($sprache as $s): ?>
|
||||
<?php echo $s->sprache; ?>:<br/>
|
||||
<?php
|
||||
if (!isset($sg->beschreibung[$i]))
|
||||
{
|
||||
$val = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
$val = $sg->beschreibung[$i];
|
||||
}
|
||||
$i++;
|
||||
?>
|
||||
<textarea name="beschreibung[]"><?php echo $val; ?></textarea><br/>
|
||||
<?php endforeach ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Aktiv:
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" name="aktiv" <?php echo isset($sg->aktiv) && $sg->aktiv === true ? "checked" : ""; ?> />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<button type="submit">Save</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="hidden" name="statusgrund_id" value="<?php echo isset($sg->statusgrund_id) ? $sg->statusgrund_id : ""; ?>" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php
|
||||
if (!is_null($update))
|
||||
{
|
||||
?>
|
||||
<script>
|
||||
parent.document.getElementById("StatusgrundTop").contentWindow.location.reload(true);
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</html>
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'StatusgrundEdit'));
|
||||
|
||||
$sg = $statusgrund;
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Statusgrund: <?php echo $sg->status_kurzbz; ?></h2>
|
||||
<form method="post" action="<?php echo site_url("crm/Statusgrund/saveGrund"); ?>">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Bezeichnung mehrsprachig:<br/><br/>
|
||||
<?php
|
||||
$i = 0;
|
||||
$val = "";
|
||||
?>
|
||||
<?php foreach ($sprache as $s): ?>
|
||||
<?php echo $s->sprache; ?>:<br/>
|
||||
<?php
|
||||
if (!isset($sg->bezeichnung_mehrsprachig[$i]))
|
||||
{
|
||||
$val = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
$val = $sg->bezeichnung_mehrsprachig[$i];
|
||||
}
|
||||
$i++;
|
||||
?>
|
||||
<input type="text" name="bezeichnung_mehrsprachig[]" value="<?php echo $val; ?>" /><br/>
|
||||
<?php endforeach ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Beschreibung:<br/><br/>
|
||||
<?php
|
||||
$i = 0;
|
||||
$val = "";
|
||||
?>
|
||||
<?php foreach ($sprache as $s): ?>
|
||||
<?php echo $s->sprache; ?>:<br/>
|
||||
<?php
|
||||
if (!isset($sg->beschreibung[$i]))
|
||||
{
|
||||
$val = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
$val = $sg->beschreibung[$i];
|
||||
}
|
||||
$i++;
|
||||
?>
|
||||
<textarea name="beschreibung[]"><?php echo $val; ?></textarea><br/>
|
||||
<?php endforeach ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Aktiv:
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" name="aktiv" <?php echo isset($sg->aktiv) && $sg->aktiv === true ? "checked" : ""; ?> />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<button type="submit">Save</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="hidden" name="statusgrund_id" value="<?php echo isset($sg->statusgrund_id) ? $sg->statusgrund_id : ""; ?>" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php
|
||||
if (!is_null($update))
|
||||
{
|
||||
?>
|
||||
<script>
|
||||
parent.document.getElementById("StatusgrundTop").contentWindow.location.reload(true);
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,66 +1,66 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'StatusgrundNew'));
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Neuer Statusgrund</h2>
|
||||
<form method="post" action="<?php echo site_url("crm/Statusgrund/insGrund"); ?>">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Bezeichnung mehrsprachig:<br/><br/>
|
||||
|
||||
<?php foreach ($sprache as $s): ?>
|
||||
<?php echo $s->sprache; ?>:<br/>
|
||||
<input type="text" name="bezeichnung_mehrsprachig[]" value="" /><br/>
|
||||
<?php endforeach ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Beschreibung:<br/><br/>
|
||||
|
||||
<?php foreach ($sprache as $s): ?>
|
||||
<?php echo $s->sprache; ?>:<br/>
|
||||
<textarea name="beschreibung[]"></textarea><br/>
|
||||
<?php endforeach ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Aktiv:
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" name="aktiv" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<button type="submit">Save</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="hidden" name="status_kurzbz" value="<?php echo $status_kurzbz; ?>" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'StatusgrundNew'));
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Neuer Statusgrund</h2>
|
||||
<form method="post" action="<?php echo site_url("crm/Statusgrund/insGrund"); ?>">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Bezeichnung mehrsprachig:<br/><br/>
|
||||
|
||||
<?php foreach ($sprache as $s): ?>
|
||||
<?php echo $s->sprache; ?>:<br/>
|
||||
<input type="text" name="bezeichnung_mehrsprachig[]" value="" /><br/>
|
||||
<?php endforeach ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Beschreibung:<br/><br/>
|
||||
|
||||
<?php foreach ($sprache as $s): ?>
|
||||
<?php echo $s->sprache; ?>:<br/>
|
||||
<textarea name="beschreibung[]"></textarea><br/>
|
||||
<?php endforeach ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Aktiv:
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" name="aktiv" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<button type="submit">Save</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="hidden" name="status_kurzbz" value="<?php echo $status_kurzbz; ?>" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -166,12 +166,13 @@ $this->load->view(
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-offset-2 col-md-4 col-xs-6">
|
||||
<div class="input-group">
|
||||
<input id="password" type="password" class="form-control" placeholder="CIS-Passwort">
|
||||
<span class="input-group-btn">
|
||||
<button id="accept-lehrauftraege" class="btn btn-primary pull-right">Lehrauftrag annehmen</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<input id="username" type="hidden" value=""><!-- this is to prevent Chrome autofilling a random input field with the username-->
|
||||
<input id="password" type="password" autocomplete="new-password" class="form-control" placeholder="CIS-Passwort">
|
||||
<span class="input-group-btn">
|
||||
<button id="accept-lehrauftraege" class="btn btn-primary pull-right">Lehrauftrag annehmen</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
@@ -182,7 +182,8 @@ FROM
|
||||
(SELECT
|
||||
uid
|
||||
FROM
|
||||
public.tbl_benutzer
|
||||
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
|
||||
ON tbl_benutzer.uid = ma.mitarbeiter_uid
|
||||
WHERE
|
||||
person_id = tmp_projektbetreuung.person_id
|
||||
ORDER BY aktiv DESC, updateaktivam DESC -- accept inactive as some person_ids have no active, but order them last
|
||||
|
||||
@@ -187,7 +187,8 @@ FROM
|
||||
(SELECT
|
||||
uid
|
||||
FROM
|
||||
public.tbl_benutzer
|
||||
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
|
||||
ON tbl_benutzer.uid = ma.mitarbeiter_uid
|
||||
WHERE
|
||||
person_id = tmp_projektbetreuung.person_id
|
||||
ORDER BY aktiv DESC, updateaktivam DESC -- accept inactive as some person_ids have no active, but order them last
|
||||
|
||||
@@ -219,7 +219,8 @@ FROM
|
||||
(SELECT
|
||||
uid
|
||||
FROM
|
||||
public.tbl_benutzer
|
||||
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
|
||||
ON tbl_benutzer.uid = ma.mitarbeiter_uid
|
||||
WHERE
|
||||
person_id = tmp_projektbetreuung.person_id
|
||||
ORDER BY aktiv DESC, updateaktivam DESC -- accept inactive as some person_ids have no active, but order them last
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
'dialoglib' => true,
|
||||
'ajaxlib' => true,
|
||||
'udfs' => true,
|
||||
'widgets' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'customCSSs' => array(
|
||||
'public/css/sbadmin2/admintemplate.css'
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
'addons' => true,
|
||||
'navigationwidget' => true,
|
||||
'udfs' => true,
|
||||
'widgets' => true,
|
||||
'customCSSs' => array(
|
||||
'public/css/sbadmin2/admintemplate.css',
|
||||
'public/css/sbadmin2/tablesort_bootstrap.css',
|
||||
@@ -23,7 +24,7 @@
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/tablesort/tablesort.js',
|
||||
'public/js/messaging/messageList.js',
|
||||
'public/js/infocenter/messageList.js',
|
||||
'public/js/infocenter/infocenterDetails.js'
|
||||
),
|
||||
'phrases' => array(
|
||||
@@ -155,7 +156,7 @@
|
||||
<div class="panel-body">
|
||||
<div class="row" id="messagelist">
|
||||
<?php
|
||||
$this->load->view('system/messages/messageList.php', $messages);
|
||||
$this->load->view('system/infocenter/messageList.php', $messages);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<table id="logtable" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?php echo ucfirst($this->p->t('global', 'datum')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global', 'aktivitaet')) ?></th>
|
||||
<th>User</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($logs as $log): ?>
|
||||
<tr data-toggle="tooltip"
|
||||
title="<?php echo isset($log->logdata->message) ? $log->logdata->message : '' ?>">
|
||||
<td><?php echo date_format(date_create($log->zeitpunkt), 'd.m.Y H:i:s') ?></td>
|
||||
<td><?php echo isset($log->logdata->name) ? $log->logdata->name : '' ?></td>
|
||||
<td><?php echo $log->insertvon ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
<table id="logtable" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?php echo ucfirst($this->p->t('global', 'datum')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global', 'aktivitaet')) ?></th>
|
||||
<th>User</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($logs as $log): ?>
|
||||
<tr data-toggle="tooltip"
|
||||
title="<?php echo isset($log->logdata->message) ? $log->logdata->message : '' ?>">
|
||||
<td><?php echo date_format(date_create($log->zeitpunkt), 'd.m.Y H:i:s') ?></td>
|
||||
<td><?php echo isset($log->logdata->name) ? $log->logdata->name : '' ?></td>
|
||||
<td><?php echo $log->insertvon ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
+37
-37
@@ -1,37 +1,37 @@
|
||||
<?php
|
||||
$msgExists = count($messages) > 0;
|
||||
$widthColumn = $msgExists === true ? 8 : 12;
|
||||
?>
|
||||
<div class="col-lg-<?php echo $widthColumn ?>">
|
||||
<table id="msgtable" class="table table-bordered table-condensed tablesort-hover tablesort-active">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?php echo ucfirst($this->p->t('global','gesendetAm')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global','sender')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global','empfaenger')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global','betreff')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global','gelesenAm')) ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($messages as $message): ?>
|
||||
<tr id="<?php echo $message->message_id.'_'.$message->repersonid ?>" style="cursor: pointer">
|
||||
<td><?php echo isset($message->insertamum) ? date_format(date_create($message->insertamum), 'd.m.Y H:i:s') : '' ?></td>
|
||||
<td><?php echo $message->sevorname.' '.$message->senachname ?></td>
|
||||
<td><?php echo $message->revorname.' '.$message->renachname ?></td>
|
||||
<td><?php echo $message->subject ?></td>
|
||||
<td><?php echo isset($message->statusamum) ? date_format(date_create($message->statusamum), 'd.m.Y H:i:s') : '' ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php if ($msgExists === true): ?>
|
||||
<div class="col-lg-4">
|
||||
<br>
|
||||
<div class="text-center"><label for="msgbody" id="msgsubject"></label></div>
|
||||
<div>
|
||||
<textarea id="msgbody"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php
|
||||
$msgExists = count($messages) > 0;
|
||||
$widthColumn = $msgExists === true ? 8 : 12;
|
||||
?>
|
||||
<div class="col-lg-<?php echo $widthColumn ?>">
|
||||
<table id="msgtable" class="table table-bordered table-condensed tablesort-hover tablesort-active">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?php echo ucfirst($this->p->t('global','gesendetAm')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global','sender')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global','empfaenger')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global','betreff')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global','gelesenAm')) ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($messages as $message): ?>
|
||||
<tr id="<?php echo $message->message_id.'_'.$message->repersonid ?>" style="cursor: pointer">
|
||||
<td><?php echo isset($message->insertamum) ? date_format(date_create($message->insertamum), 'd.m.Y H:i:s') : '' ?></td>
|
||||
<td><?php echo $message->sevorname.' '.$message->senachname ?></td>
|
||||
<td><?php echo $message->revorname.' '.$message->renachname ?></td>
|
||||
<td><?php echo $message->subject ?></td>
|
||||
<td><?php echo isset($message->statusamum) ? date_format(date_create($message->statusamum), 'd.m.Y H:i:s') : '' ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php if ($msgExists === true): ?>
|
||||
<div class="col-lg-4">
|
||||
<br>
|
||||
<div class="text-center"><label for="msgbody" id="msgsubject"></label></div>
|
||||
<div>
|
||||
<textarea id="msgbody"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
@@ -1,20 +1,20 @@
|
||||
<table id="notiztable" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?php echo ucfirst($this->p->t('global', 'datum')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global', 'notiz')) ?></th>
|
||||
<th>User</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($notizen as $notiz): ?>
|
||||
<tr data-toggle="tooltip"
|
||||
title="<?php echo isset($notiz->text) ? html_escape($notiz->text) : '' ?>" style="cursor: pointer">
|
||||
<td><?php echo date_format(date_create($notiz->insertamum), 'd.m.Y H:i:s') ?></td>
|
||||
<td><?php echo html_escape($notiz->titel) ?></td>
|
||||
<td><?php echo $notiz->verfasser_uid ?></td>
|
||||
<td style="display: none" class="hiddennotizid"><?php echo $notiz->notiz_id ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
<table id="notiztable" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?php echo ucfirst($this->p->t('global', 'datum')) ?></th>
|
||||
<th><?php echo ucfirst($this->p->t('global', 'notiz')) ?></th>
|
||||
<th>User</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($notizen as $notiz): ?>
|
||||
<tr data-toggle="tooltip"
|
||||
title="<?php echo isset($notiz->text) ? html_escape($notiz->text) : '' ?>" style="cursor: pointer">
|
||||
<td><?php echo date_format(date_create($notiz->insertamum), 'd.m.Y H:i:s') ?></td>
|
||||
<td><?php echo html_escape($notiz->titel) ?></td>
|
||||
<td><?php echo $notiz->verfasser_uid ?></td>
|
||||
<td style="display: none" class="hiddennotizid"><?php echo $notiz->notiz_id ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -113,7 +113,7 @@
|
||||
</table>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<form id="sendmsgform" method="post" action="<?php echo site_url('/system/Messages/write'); ?>" target="_blank">
|
||||
<form id="sendmsgform" method="post" action="<?php echo site_url('/system/messages/Messages/writeTemplate'); ?>" target="_blank">
|
||||
<input type="hidden" name="person_id" value="<?php echo $stammdaten->person_id ?>">
|
||||
<a id="sendmsglink" href="javascript:void(0);">
|
||||
<i class="fa fa-envelope"></i> <?php echo $this->p->t('ui','nachrichtSenden'); ?>
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'Read personal messages',
|
||||
'jquery' => true,
|
||||
'jqueryui' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'momentjs' => true,
|
||||
'tabulator' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'tinymce' => true,
|
||||
'phrases' => array('global', 'ui'),
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
|
||||
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/read.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
|
||||
<fieldset>
|
||||
|
||||
<span id="toggleMessages" class="toggle">
|
||||
|
||||
<input type="radio" name="toggleMessages" id="received" checked>
|
||||
<label for="received">
|
||||
|
||||
<?php echo $this->p->t('global', 'received'); ?>
|
||||
|
||||
</label>
|
||||
|
||||
<input type="radio" name="toggleMessages" id="sent">
|
||||
<label for="sent">
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'gesendet')); ?>
|
||||
|
||||
</label>
|
||||
|
||||
</span>
|
||||
|
||||
<span class="buttonsSpacer"></span>
|
||||
|
||||
<span>
|
||||
<input id="writeMessage" type="button" value="<?php echo $this->p->t('ui', 'nachrichtSenden'); ?>">
|
||||
|
||||
<input id="replyMessage" type="button" value="<?php echo $this->p->t('global', 'reply'); ?>">
|
||||
</span>
|
||||
|
||||
</fieldset>
|
||||
|
||||
|
||||
<div id="lstMessagesPanel"></div>
|
||||
|
||||
<div id="readMessagePanel"></div>
|
||||
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -0,0 +1,100 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'Write a new message',
|
||||
'jquery' => true,
|
||||
'jqueryui' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'tinymce' => true,
|
||||
'phrases' => array('global', 'ui'),
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
|
||||
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/write.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header">
|
||||
|
||||
<?php echo $this->p->t('ui', 'nachrichtSenden'); ?>
|
||||
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfieldcol-left">
|
||||
<label>
|
||||
|
||||
<?php echo $this->p->t('global', 'empfaenger'); ?>:
|
||||
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-lg-11 msgfieldcol-right">
|
||||
<select id="organisationUnit">
|
||||
|
||||
<?php echo $organisationUnitOptions; ?>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfield msgfieldcol-left">
|
||||
<label>
|
||||
|
||||
<?php echo $this->p->t('global', 'betreff'); ?>:
|
||||
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-7">
|
||||
<input id="subject" class="form-control" type="text" value="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<label>
|
||||
|
||||
<?php echo $this->p->t('global', 'nachricht'); ?>:
|
||||
|
||||
</label>
|
||||
<textarea id="body"></textarea>
|
||||
|
||||
<br>
|
||||
|
||||
<div>
|
||||
|
||||
<?php echo $this->p->t('ui', 'altRecipientNote'); ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-right">
|
||||
<button id="sendButton" class="btn btn-default" type="button">
|
||||
|
||||
<?php echo $this->p->t('ui', 'senden'); ?>
|
||||
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'Reply to a message',
|
||||
'jquery' => true,
|
||||
'jqueryui' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'tinymce' => true,
|
||||
'phrases' => array('global', 'ui'),
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
|
||||
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/writeReply.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header">
|
||||
|
||||
<?php echo $this->p->t('ui', 'nachrichtSenden'); ?>
|
||||
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfieldcol-left">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'empfaenger')); ?>:
|
||||
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-lg-11 msgfieldcol-right">
|
||||
|
||||
<?php echo $receiver; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfield msgfieldcol-left">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'betreff')); ?>:
|
||||
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-7">
|
||||
|
||||
<input id="subject" name="subject" type="text" value="<?php echo $subject; ?>">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'nachricht')); ?>:
|
||||
|
||||
</label>
|
||||
<textarea id="body">
|
||||
|
||||
<?php echo $body; ?>
|
||||
|
||||
</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-right">
|
||||
|
||||
<input id="receiver_id" type="hidden" value="<?php echo $receiver_id; ?>">
|
||||
<input id="relationmessage_id" type="hidden" value="<?php echo $relationmessage_id; ?>">
|
||||
<input id="token" type="hidden" value="<?php echo $token; ?>">
|
||||
|
||||
<button id="sendButton" class="btn btn-default" type="button">
|
||||
|
||||
<?php echo $this->p->t('ui', 'senden'); ?>
|
||||
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
+12
-33
@@ -2,12 +2,12 @@
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'MessageSent',
|
||||
'title' => 'Message sent failure - Fehler beim Senden der Nachricht',
|
||||
'jquery' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/messageSent.css')
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css')
|
||||
)
|
||||
);
|
||||
?>
|
||||
@@ -20,47 +20,31 @@
|
||||
<div class="row">
|
||||
|
||||
<div class="col-xs-6">
|
||||
<h3 class="page-header text-right">Thank you for getting in touch!</h3>
|
||||
<h3 class="page-header text-right"></h3>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-6">
|
||||
<h3 class="page-header">Danke für die Kontaktaufnahme!</h3>
|
||||
<h3 class="page-header"></h3>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
|
||||
<div class="panel panel-success">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-right">
|
||||
Message sent successfully!
|
||||
An error occurred while sending your message, please try later.
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
Nachricht erfolgreich versandt!
|
||||
Beim Senden Ihrer Nachricht ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-right">
|
||||
<span class="rwd-line">
|
||||
Thank you for your message.
|
||||
</span>
|
||||
<span class="rwd-line">
|
||||
We will get back to you shortly.
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<span class="rwd-line">
|
||||
Herzlichen Dank für Ihre Nachricht.
|
||||
</span>
|
||||
<span class="rwd-line">
|
||||
Wir werden uns schnellstmöglich um Ihr Anliegen kümmern.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
@@ -72,18 +56,12 @@
|
||||
Sie können dieses Fenster schließen.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-right">
|
||||
Your InfoCenter@FHTW Team
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
Ihr InfoCenter@FHTW Team
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 text-center">
|
||||
<p class="signatureblock">
|
||||
@@ -93,6 +71,7 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+2
-12
@@ -2,12 +2,12 @@
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'MessageSent',
|
||||
'title' => 'Message sent successfully - Nachricht erfolgreich versandt!',
|
||||
'jquery' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/messageSent.css')
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css')
|
||||
)
|
||||
);
|
||||
?>
|
||||
@@ -17,11 +17,6 @@
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
|
||||
<?php
|
||||
if ($success)
|
||||
{
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-xs-6">
|
||||
@@ -79,11 +74,6 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+104
-75
@@ -1,75 +1,104 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'MessageSent',
|
||||
'jquery' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/messageReply.css')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<h3 class="page-header text-center">You have a new message</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="panel panel-success">
|
||||
<div class="panel-heading text-center">
|
||||
<?php echo $message->subject; ?>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<table class="table table-condensed table-bordered" id="msgtable" align="center">
|
||||
<tr>
|
||||
<td width="80px">
|
||||
<b>From:</b>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $sender->vorname.' '.$sender->nachname; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="80px">
|
||||
<b>Subject:</b>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $message->subject; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="80px">
|
||||
<b>Message:</b>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $message->body; ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 text-center">
|
||||
<?php if ($isEmployee === false && $href != ''): ?>
|
||||
<button class="btn btn-default" id="replybutton" onclick="location.href='<?php echo $href; ?>';">
|
||||
<i class="fa fa-reply"></i> Reply
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'Read message - Lies die Nachricht',
|
||||
'jquery' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<h3 class="page-header text-center">
|
||||
|
||||
<?php echo ucfirst($this->p->t('ui', 'newMessage')); ?>:
|
||||
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="panel panel-success">
|
||||
<div class="panel-heading text-center">
|
||||
|
||||
<?php echo $message->subject; ?>
|
||||
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<table class="table table-condensed table-bordered" id="msgtable" align="center">
|
||||
<tr>
|
||||
<td width="80px">
|
||||
<b>
|
||||
|
||||
<?php echo ucfirst($this->p->t('ui', 'from')); ?>:
|
||||
|
||||
</b>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<?php echo $sender->vorname.' '.$sender->nachname; ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="80px">
|
||||
<b>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'betreff')); ?>:
|
||||
|
||||
</b>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<?php echo $message->subject; ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="80px">
|
||||
<b>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'nachricht')); ?>:
|
||||
|
||||
</b>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<?php echo $message->body; ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 text-center">
|
||||
|
||||
<?php if (!isEmptyString($hrefReply)): ?>
|
||||
|
||||
<button class="btn btn-default" id="replybutton" onclick="location.href='<?php echo $hrefReply; ?>';">
|
||||
<i class="fa fa-reply"></i> <?php echo ucfirst($this->p->t('global', 'reply')); ?>
|
||||
</button>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'Reply to a message',
|
||||
'jquery' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'tinymce' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
|
||||
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/messageWriteReply.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header">
|
||||
|
||||
<?php echo ucfirst($this->p->t('ui', 'nachrichtSenden')); ?>
|
||||
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<form id="sendForm" method="post" action="<?php echo site_url('system/messages/ViewMessage/sendReply'); ?>">
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfieldcol-left">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'empfaenger')); ?>:
|
||||
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-lg-11 msgfieldcol-right">
|
||||
|
||||
<?php echo $receiver; ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfield msgfieldcol-left">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'betreff')); ?>:
|
||||
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-7">
|
||||
<input id="subject" class="form-control" type="text" value="<?php echo $subject; ?>" name="subject">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'nachricht')); ?>:
|
||||
|
||||
</label>
|
||||
<textarea id="bodyTextArea" name="body"><?php echo $body; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-right">
|
||||
<button id="sendButton" class="btn btn-default" type="button">
|
||||
|
||||
<?php echo $this->p->t('ui', 'senden'); ?>
|
||||
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="receiver_id" value="<?php echo $receiver_id; ?>">
|
||||
<input type="hidden" name="relationmessage_id" value="<?php echo $relationmessage_id; ?>">
|
||||
<input type="hidden" name="token" value="<?php echo $token; ?>">
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -0,0 +1,170 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'Write a new message or reply using templates',
|
||||
'jquery' => true,
|
||||
'jqueryui' => true,
|
||||
'bootstrap' => true,
|
||||
'ajaxlib' => true,
|
||||
'fontawesome' => true,
|
||||
'tinymce' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'dialoglib' => true,
|
||||
'widgets' => true,
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
|
||||
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/messageWrite.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header">
|
||||
|
||||
<?php echo ucfirst($this->p->t('ui', 'nachrichtSenden')); ?>
|
||||
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<form id="sendForm" method="post" action="<?php echo site_url('/system/messages/Messages/sendImplicitTemplate'); ?>">
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfieldcol-left">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'empfaenger')); ?>:
|
||||
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-lg-11 msgfieldcol-right">
|
||||
<?php echo $recipientsList; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfield msgfieldcol-left">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'betreff')); ?>:
|
||||
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-7">
|
||||
<input id="subject" class="form-control" type="text" value="<?php echo $subject; ?>" name="subject">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-9">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'nachricht')); ?>:
|
||||
|
||||
</label>
|
||||
<textarea id="bodyTextArea" name="body">
|
||||
|
||||
<?php echo $body; ?>
|
||||
|
||||
</textarea>
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<div class="form-group">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('ui', 'felder')); ?>:
|
||||
|
||||
</label>
|
||||
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'MultipleDropdown_widget',
|
||||
array('elements' => success($variables)),
|
||||
array(
|
||||
'name' => 'variables[]',
|
||||
'id' => 'variables',
|
||||
'size' => 27,
|
||||
'multiple' => true
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Vorlage_widget',
|
||||
array('oe_kurzbz' => $organisationUnits, 'isAdmin' => $senderIsAdmin),
|
||||
array('name' => 'vorlage', 'id' => 'vorlageDnD')
|
||||
);
|
||||
?>
|
||||
|
||||
</div>
|
||||
<div class="col-lg-7 col-xs-9 text-right">
|
||||
<button id="sendButton" class="btn btn-default" type="button">
|
||||
|
||||
<?php echo $this->p->t('ui', 'senden'); ?>
|
||||
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('global', 'vorschau')); ?>:
|
||||
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="well" id="templatePreviewDiv">
|
||||
<div class="row">
|
||||
<div class="col-sm-12" style="display: inline">
|
||||
<div class="form-group form-inline">
|
||||
<div class="input-group">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Dropdown_widget',
|
||||
array('elements' => success($recipientsArray), 'emptyElement' => ucfirst($this->p->t('global', 'empfaenger')).'...'),
|
||||
array(
|
||||
'name' => 'recipients[]',
|
||||
'id' => 'recipients'
|
||||
)
|
||||
);
|
||||
?>
|
||||
<span class="input-group-btn">
|
||||
<a class="btn btn-default" href="#templatePreviewDiv" id="refresh">
|
||||
<?php echo ucfirst($this->p->t('ui', 'refresh')); ?>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<textarea id="tinymcePreview"></textarea>
|
||||
</div>
|
||||
|
||||
<?php echo $recipients_ids; ?>
|
||||
<?php echo $relationmessage_id; ?>
|
||||
<?php echo $type; ?>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -1,81 +0,0 @@
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfieldcol-left">
|
||||
<label>Receiver:</label>
|
||||
</div>
|
||||
<div class="col-lg-11 msgfieldcol-right">
|
||||
<?php
|
||||
for ($i = 0; $i < count($receivers); $i++)
|
||||
{
|
||||
$receiver = $receivers[$i];
|
||||
// Every 10 recipients a new line
|
||||
if ($i > 1 && $i % 10 == 0)
|
||||
{
|
||||
echo '<br>';
|
||||
}
|
||||
echo $receiver->Vorname." ".$receiver->Nachname."; ";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfield msgfieldcol-left">
|
||||
<label>Subject:</label>
|
||||
</div>
|
||||
<?php
|
||||
$subject = '';
|
||||
if (isset($message))
|
||||
{
|
||||
$subject = 'Re: '.$message->subject;
|
||||
}
|
||||
?>
|
||||
<div class="col-lg-7">
|
||||
<input id="subject" class="form-control" type="text" value="<?php echo $subject; ?>"
|
||||
name="subject">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-<?php echo isset($variables) ? 10 : 12 ?>">
|
||||
<label>Message:</label>
|
||||
<?php
|
||||
$body = '';
|
||||
if (isset($message))
|
||||
{
|
||||
if (isset($receivers[0]))
|
||||
$body .= '<p></p><p></p><blockquote><i>On '.date_format(date_create($message->sent), 'd.m.Y H:i').' '.$receivers[0]->Vorname.' '.$receivers[0]->Nachname.' wrote:'.'</i></blockquote>';
|
||||
$body .= '<blockquote style="border-left:2px solid; padding-left: 8px">';
|
||||
$body .= $message->body.'</blockquote>';
|
||||
}
|
||||
?>
|
||||
<textarea id="bodyTextArea" name="body"><?php echo $body; ?></textarea>
|
||||
</div>
|
||||
<?php
|
||||
if (isset($variables)):
|
||||
?>
|
||||
<div class="col-lg-2">
|
||||
<div class="form-group">
|
||||
<label>Fields:</label>
|
||||
<select id="variables" class="form-control" size="14" multiple="multiple">
|
||||
<?php
|
||||
foreach ($variables as $key => $val)
|
||||
{
|
||||
?>
|
||||
<option value="<?php echo $key; ?>"><?php echo $val; ?></option>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-<?php echo isset($variables) ? 10 : 12 ?> text-right">
|
||||
<button id="sendButton" class="btn btn-default" type="button">Send</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,183 +0,0 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'Write a message',
|
||||
'jquery' => true,
|
||||
'jqueryui' => true,
|
||||
'bootstrap' => true,
|
||||
'ajaxlib' => true,
|
||||
'fontawesome' => true,
|
||||
'tinymce' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/messageWrite.css'),
|
||||
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/messageWrite.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header"><?php echo ucfirst($this->p->t('ui', 'nachrichtSenden')); ?></h3>
|
||||
</div>
|
||||
</div>
|
||||
<form id="sendForm" method="post" action="<?php echo site_url('/system/Messages/send'); ?>">
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfieldcol-left">
|
||||
<label><?php echo ucfirst($this->p->t('global', 'empfaenger')).':'; ?></label>
|
||||
</div>
|
||||
<div class="col-lg-11 msgfieldcol-right">
|
||||
<?php
|
||||
for ($i = 0; $i < count($recipients); $i++)
|
||||
{
|
||||
$receiver = $recipients[$i];
|
||||
// Every 10 recipients a new line
|
||||
if ($i > 1 && $i % 10 == 0)
|
||||
{
|
||||
echo '<br>';
|
||||
}
|
||||
echo $receiver->Vorname." ".$receiver->Nachname."; ";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-1 msgfield msgfieldcol-left">
|
||||
<label><?php echo ucfirst($this->p->t('global', 'betreff')).':'; ?></label>
|
||||
</div>
|
||||
<?php
|
||||
$subject = '';
|
||||
if (isset($message))
|
||||
{
|
||||
$subject = 'Re: '.$message->subject;
|
||||
}
|
||||
?>
|
||||
<div class="col-lg-7">
|
||||
<input id="subject" class="form-control" type="text" value="<?php echo $subject; ?>" name="subject">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-lg-10">
|
||||
<label><?php echo ucfirst($this->p->t('global', 'nachricht')).':'; ?></label>
|
||||
<?php
|
||||
$body = '';
|
||||
if (isset($message))
|
||||
{
|
||||
$body = $message->body;
|
||||
}
|
||||
?>
|
||||
<textarea id="bodyTextArea" name="body"><?php echo $body; ?></textarea>
|
||||
</div>
|
||||
<?php
|
||||
if (isset($variables))
|
||||
{
|
||||
?>
|
||||
<div class="col-lg-2">
|
||||
<div class="form-group">
|
||||
<label><?php echo ucfirst($this->p->t('ui', 'felder')).':'; ?></label>
|
||||
<select id="variables" class="form-control" size="14" multiple="multiple">
|
||||
<?php
|
||||
foreach ($variables as $key => $val)
|
||||
{
|
||||
?>
|
||||
<option value="<?php echo $key; ?>"><?php echo $val; ?></option>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Vorlage_widget',
|
||||
array('oe_kurzbz' => $oe_kurzbz, 'isAdmin' => $isAdmin),
|
||||
array('name' => 'vorlage', 'id' => 'vorlageDnD')
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<div class="col-lg-7 col-xs-9 text-right">
|
||||
<button id="sendButton" class="btn btn-default" type="button"><?php echo $this->p->t('ui', 'senden'); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if (isset($recipients) && count($recipients) > 0)
|
||||
{
|
||||
?>
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<label><?php echo ucfirst($this->p->t('global', 'vorschau')).':'; ?></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="well">
|
||||
<div class="row">
|
||||
<div class="col-lg-5">
|
||||
<div class="form-grop form-inline">
|
||||
<label><?php echo ucfirst($this->p->t('global', 'empfaenger')).': '; ?></label>
|
||||
<select id="recipients">
|
||||
<?php
|
||||
if (count($recipients) > 1) echo '<option value="-1">Select...</option>';
|
||||
|
||||
foreach ($recipients as $receiver)
|
||||
{
|
||||
?>
|
||||
<option value="<?php echo $receiver->person_id; ?>">
|
||||
<?php echo $receiver->Vorname." ".$receiver->Nachname; ?>
|
||||
</option>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
|
||||
<strong><a href="#" id="refresh">Refresh</a></strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<textarea id="tinymcePreview"></textarea>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
foreach ($recipients as $receiver)
|
||||
{
|
||||
echo '<input type="hidden" name="persons[]" value="'.$receiver->person_id.'">'."\n";
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
if (isset($message))
|
||||
{
|
||||
?>
|
||||
<input type="hidden" name="relationmessage_id" value="<?php echo $message->message_id; ?>">
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -1,63 +0,0 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'MessageReply',
|
||||
'jquery' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'tinymce' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/messageWrite.css'),
|
||||
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/messageWriteReply.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<?php
|
||||
$href = site_url('/ViewMessage/sendReply');
|
||||
?>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header">Send message</h3>
|
||||
</div>
|
||||
</div>
|
||||
<form id="sendForm" method="post" action="<?php echo $href; ?>">
|
||||
<?php
|
||||
$this->load->view('system/messages/messageForm.php');
|
||||
|
||||
for ($i = 0; $i < count($receivers); $i++)
|
||||
{
|
||||
$receiver = $receivers[$i];
|
||||
$receiverid = $receiver->person_id;
|
||||
$fieldname = 'persons[]';
|
||||
|
||||
echo '<input type="hidden" name="'.$fieldname.'" value="'.$receiverid.'">'."\n";
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
if (isset($message))
|
||||
{
|
||||
?>
|
||||
<input type="hidden" name="relationmessage_id" value="<?php echo $message->message_id; ?>">
|
||||
<?php
|
||||
}
|
||||
if (isset($token))
|
||||
{
|
||||
?>
|
||||
<input type="hidden" name="token" value="<?php echo $token; ?>">
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -1,20 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
|
||||
<html lang="de_AT">
|
||||
|
||||
<head>
|
||||
<title>VileSci - Phrasen</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
</head>
|
||||
|
||||
<frameset rows="30%,*">
|
||||
<frame src="Phrases/table" id="PhrasesTop" name="PhrasesTop" frameborder="0" />
|
||||
<frame src="Phrases/edit" id="PhrasesBottom" name="PhrasesBottom" frameborder="0" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
<a href="PhrasesList">Use without frames</a>
|
||||
</body>
|
||||
</noframes>
|
||||
</frameset>
|
||||
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
|
||||
<html lang="de_AT">
|
||||
|
||||
<head>
|
||||
<title>VileSci - Phrasen</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
</head>
|
||||
|
||||
<frameset rows="30%,*">
|
||||
<frame src="Phrases/table" id="PhrasesTop" name="PhrasesTop" frameborder="0" />
|
||||
<frame src="Phrases/edit" id="PhrasesBottom" name="PhrasesBottom" frameborder="0" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
<a href="PhrasesList">Use without frames</a>
|
||||
</body>
|
||||
</noframes>
|
||||
</frameset>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'PhrasesEdit'));
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Phrase: <?php echo $phrase->phrase_id; ?></h2>
|
||||
<form method="post" action="../save">
|
||||
Bezeichnung: <input type="text" name="phrase" value="<?php echo $phrase->phrase; ?>" />
|
||||
<input type="hidden" name="phrase_id" value="<?php echo $phrase->phrase_id; ?>" />
|
||||
<button type="submit">Save</button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'PhrasesEdit'));
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Phrase: <?php echo $phrase->phrase_id; ?></h2>
|
||||
<form method="post" action="../save">
|
||||
Bezeichnung: <input type="text" name="phrase" value="<?php echo $phrase->phrase; ?>" />
|
||||
<input type="hidden" name="phrase_id" value="<?php echo $phrase->phrase_id; ?>" />
|
||||
<button type="submit">Save</button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,54 +1,54 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'PhrasenInhaltList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '5:{sorter:false}'));
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Phrase Inhalt - <?php echo $phrase; ?></h2>
|
||||
<form method="post" action="../newText" target="PhrasesBottom">
|
||||
<input type="hidden" name="phrase_id" value="<?php echo $phrase_id; ?>"/>
|
||||
<button type="submit">Neu</button>
|
||||
</form>
|
||||
|
||||
<table id="t1" class="tablesorter">
|
||||
<thead>
|
||||
<tr><th class='table-sortable:default'>ID</th>
|
||||
<th class='table-sortable:default'>Sprache</th>
|
||||
<th class='table-sortable:default'>OrgEinheit</th>
|
||||
<th class='table-sortable:default'>OrgForm</th>
|
||||
<th class='table-sortable:default'>Text</th>
|
||||
<th>Beschreibung</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($phrase_inhalt as $v): ?>
|
||||
<tr><td><a href="../editText/<?php echo $v->phrasentext_id; ?>" target="PhrasesBottom"><?php echo $v->phrasentext_id; ?></a></td>
|
||||
<td><?php echo $v->sprache; ?></td>
|
||||
<td><?php echo $v->orgeinheit_kurzbz; ?></td>
|
||||
<td><?php echo $v->orgform_kurzbz; ?></td>
|
||||
<td><?php echo $v->text; ?></td>
|
||||
<td><?php echo $v->description; ?></td>
|
||||
<td><a href="../editText/<?php echo $v->phrasentext_id; ?>" target="PhrasesBottom">edit</a></td>
|
||||
<td>
|
||||
<a href="javascript:void(0);" onclick="delPhrasentext(<?php echo $v->phrasentext_id; ?>, <?php echo $phrase_id; ?>)">delete</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
function delPhrasentext(id,pid)
|
||||
{
|
||||
var c = confirm("Wirklich löschen?");
|
||||
if (c == true)
|
||||
window.location.href = "../deltext/"+id+"/"+pid;
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php
|
||||
$this->load->view('templates/footer');
|
||||
?>
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'PhrasenInhaltList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '5:{sorter:false}'));
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Phrase Inhalt - <?php echo $phrase; ?></h2>
|
||||
<form method="post" action="../newText" target="PhrasesBottom">
|
||||
<input type="hidden" name="phrase_id" value="<?php echo $phrase_id; ?>"/>
|
||||
<button type="submit">Neu</button>
|
||||
</form>
|
||||
|
||||
<table id="t1" class="tablesorter">
|
||||
<thead>
|
||||
<tr><th class='table-sortable:default'>ID</th>
|
||||
<th class='table-sortable:default'>Sprache</th>
|
||||
<th class='table-sortable:default'>OrgEinheit</th>
|
||||
<th class='table-sortable:default'>OrgForm</th>
|
||||
<th class='table-sortable:default'>Text</th>
|
||||
<th>Beschreibung</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($phrase_inhalt as $v): ?>
|
||||
<tr><td><a href="../editText/<?php echo $v->phrasentext_id; ?>" target="PhrasesBottom"><?php echo $v->phrasentext_id; ?></a></td>
|
||||
<td><?php echo $v->sprache; ?></td>
|
||||
<td><?php echo $v->orgeinheit_kurzbz; ?></td>
|
||||
<td><?php echo $v->orgform_kurzbz; ?></td>
|
||||
<td><?php echo $v->text; ?></td>
|
||||
<td><?php echo $v->description; ?></td>
|
||||
<td><a href="../editText/<?php echo $v->phrasentext_id; ?>" target="PhrasesBottom">edit</a></td>
|
||||
<td>
|
||||
<a href="javascript:void(0);" onclick="delPhrasentext(<?php echo $v->phrasentext_id; ?>, <?php echo $phrase_id; ?>)">delete</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
function delPhrasentext(id,pid)
|
||||
{
|
||||
var c = confirm("Wirklich löschen?");
|
||||
if (c == true)
|
||||
window.location.href = "../deltext/"+id+"/"+pid;
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php
|
||||
$this->load->view('templates/footer');
|
||||
?>
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
|
||||
<html lang="de_AT">
|
||||
|
||||
<head>
|
||||
<title>VileSci - Vorlage</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
</head>
|
||||
|
||||
<frameset rows="30%,*">
|
||||
<frame src="Vorlage/table" id="VorlageTop" name="VorlageTop" frameborder="0" />
|
||||
<frame src="Vorlage/edit" id="VorlageBottom" name="VorlageBottom" frameborder="0" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
<a href="VorlageList">Use without frames</a>
|
||||
</body>
|
||||
</noframes>
|
||||
</frameset>
|
||||
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
|
||||
<html lang="de_AT">
|
||||
|
||||
<head>
|
||||
<title>VileSci - Vorlage</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
</head>
|
||||
|
||||
<frameset rows="30%,*">
|
||||
<frame src="Vorlage/table" id="VorlageTop" name="VorlageTop" frameborder="0" />
|
||||
<frame src="Vorlage/edit" id="VorlageBottom" name="VorlageBottom" frameborder="0" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
<a href="VorlageList">Use without frames</a>
|
||||
</body>
|
||||
</noframes>
|
||||
</frameset>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<?php
|
||||
echo $text;
|
||||
<?php
|
||||
echo $text;
|
||||
?>
|
||||
@@ -18,6 +18,7 @@
|
||||
$addons = isset($addons) ? $addons : false;
|
||||
$ajaxlib = isset($ajaxlib) ? $ajaxlib : false;
|
||||
$bootstrap = isset($bootstrap) ? $bootstrap : false;
|
||||
$captcha = isset($captcha) ? $captcha : false;
|
||||
$dialoglib = isset($dialoglib) ? $dialoglib : false;
|
||||
$filterwidget = isset($filterwidget) ? $filterwidget : false;
|
||||
$fontawesome = isset($fontawesome) ? $fontawesome : false;
|
||||
@@ -34,6 +35,7 @@
|
||||
$tabulator = isset($tabulator) ? $tabulator : false;
|
||||
$tinymce = isset($tinymce) ? $tinymce : false;
|
||||
$udfs = isset($udfs) ? $udfs : false;
|
||||
$widgets = isset($widgets) ? $widgets : false;
|
||||
?>
|
||||
|
||||
<!-- Header start -->
|
||||
@@ -64,10 +66,7 @@
|
||||
if ($fontawesome === true) generateCSSsInclude('vendor/components/font-awesome/css/font-awesome.min.css');
|
||||
|
||||
// PivotUI CSS
|
||||
if ($pivotui === true)
|
||||
{
|
||||
generateCSSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.css');
|
||||
}
|
||||
if ($pivotui === true) generateCSSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.css');
|
||||
|
||||
// SB Admin 2 template CSS
|
||||
if ($sbadmintemplate === true)
|
||||
@@ -76,6 +75,9 @@
|
||||
generateCSSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/css/sb-admin-2.min.css');
|
||||
}
|
||||
|
||||
// Securimage CSS
|
||||
if ($captcha === true) generateCSSsInclude('vendor/dapphp/securimage/securimage.css');
|
||||
|
||||
// Table sorter CSS
|
||||
if ($tablesorter === true)
|
||||
{
|
||||
@@ -90,6 +92,9 @@
|
||||
generateCSSsInclude('public/css/Tabulator.css');
|
||||
}
|
||||
|
||||
// Tinymce CSS
|
||||
if ($tinymce === true) generateCSSsInclude('public/css/TinyMCE.css');
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------
|
||||
// From public folder
|
||||
|
||||
@@ -105,9 +110,13 @@
|
||||
// NavigationWidget CSS
|
||||
if ($navigationwidget === true) generateCSSsInclude('public/css/NavigationWidget.css');
|
||||
|
||||
// HTML Widget CSS
|
||||
if ($widgets === true) generateCSSsInclude('public/css/Widgets.css');
|
||||
|
||||
// Eventually required CSS
|
||||
generateCSSsInclude($customCSSs); // Eventually required CSS
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------
|
||||
// Javascripts
|
||||
|
||||
@@ -133,19 +142,28 @@
|
||||
}
|
||||
|
||||
// jQuery checkboxes
|
||||
if ($jquerycheckboxes === true)
|
||||
{
|
||||
generateJSsInclude('vendor/rmariuzzo/jquery-checkboxes/dist/jquery.checkboxes-1.0.7.min.js');
|
||||
}
|
||||
|
||||
// Bootstrap JS
|
||||
if ($bootstrap === true) generateJSsInclude('vendor/twbs/bootstrap/dist/js/bootstrap.min.js');
|
||||
|
||||
// NOTE: keep it after jQuery includes
|
||||
if ($jquerycheckboxes === true) generateJSsInclude('vendor/rmariuzzo/jquery-checkboxes/dist/jquery.checkboxes-1.0.7.min.js');
|
||||
// jQuery treetable
|
||||
// NOTE: keep it after jQuery includes
|
||||
if ($jquerytreetable === true) generateJSsInclude('vendor/ludo/jquery-treetable/jquery.treetable.js');
|
||||
|
||||
// MomentJS
|
||||
// Bootstrap JS
|
||||
if ($bootstrap === true) generateJSsInclude('vendor/twbs/bootstrap/dist/js/bootstrap.min.js');
|
||||
|
||||
// SB Admin 2 template JS
|
||||
if ($sbadmintemplate === true)
|
||||
{
|
||||
generateJSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/vendor/metisMenu/metisMenu.min.js');
|
||||
generateJSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/js/sb-admin-2.min.js');
|
||||
generateBackwardCompatibleJSMsIe('vendor/afarkas/html5shiv/dist/html5shiv.min.js');
|
||||
generateBackwardCompatibleJSMsIe('vendor/scottjehl/Respond/dest/respond.min.js');
|
||||
}
|
||||
|
||||
// Securimage JS
|
||||
if ($captcha === true) generateJSsInclude('vendor/dapphp/securimage/securimage.js');
|
||||
|
||||
// Moment JS
|
||||
if ($momentjs === true)
|
||||
{
|
||||
generateJSsInclude('vendor/moment/momentjs/min/moment.min.js');
|
||||
@@ -153,11 +171,8 @@
|
||||
generateJSsInclude('vendor/moment/momentjs/locale/en-ie.js');
|
||||
}
|
||||
|
||||
// PivotUI CSS
|
||||
if ($pivotui === true)
|
||||
{
|
||||
generateJSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.js');
|
||||
}
|
||||
// PivotUI JS
|
||||
if ($pivotui === true) generateJSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.js');
|
||||
|
||||
// Table sorter JS
|
||||
if ($tablesorter === true)
|
||||
@@ -177,22 +192,11 @@
|
||||
// Tinymce JS
|
||||
if ($tinymce === true) generateJSsInclude('vendor/tinymce/tinymce/tinymce.min.js');
|
||||
|
||||
// User Defined Fields
|
||||
if ($udfs === true) generateJSsInclude('public/js/UDFWidget.js');
|
||||
|
||||
// SB Admin 2 template JS
|
||||
if ($sbadmintemplate === true)
|
||||
{
|
||||
generateJSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/vendor/metisMenu/metisMenu.min.js');
|
||||
generateJSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/js/sb-admin-2.min.js');
|
||||
generateBackwardCompatibleJSMsIe('vendor/afarkas/html5shiv/dist/html5shiv.min.js');
|
||||
generateBackwardCompatibleJSMsIe('vendor/scottjehl/Respond/dest/respond.min.js');
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------
|
||||
// From public folder
|
||||
|
||||
// DialogLib JS
|
||||
// NOTE: must be called before including others JS libraries that use it
|
||||
if ($dialoglib === true) generateJSsInclude('public/js/DialogLib.js');
|
||||
|
||||
// AjaxLib JS
|
||||
@@ -211,8 +215,11 @@
|
||||
// TableWidget JS
|
||||
if ($tablewidget === true) generateJSsInclude('public/js/TableWidget.js');
|
||||
|
||||
// User Defined Fields
|
||||
if ($udfs === true) generateJSsInclude('public/js/UDFWidget.js');
|
||||
|
||||
// Load addon hooks JS
|
||||
// NOTE: keep it as the latest but one
|
||||
// NOTE: keep it as the last but one
|
||||
if ($addons === true) generateAddonsJSsInclude($calledPath.'/'.$calledMethod);
|
||||
|
||||
// Eventually required JS
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>This is not the email template, this is a tribute</title>
|
||||
<title>Notification of personal message reception</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h2>Neue Nachricht vorhanden</h2>
|
||||
<h2>A new message is available</h2>
|
||||
<div class="body">
|
||||
<a href="{href}">Klicken Sie hier, um die Nachricht anzuzeigen</a>
|
||||
<a href="{href}">Click here to view the message</a>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
Follow the following link to read the message.
|
||||
Notification of personal message reception
|
||||
|
||||
{href}
|
||||
A new message is available
|
||||
|
||||
Click here to view the message
|
||||
|
||||
{href}
|
||||
|
||||
@@ -1,42 +1,42 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title><?php echo $this->template->title->default("Default title"); ?></title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="description" content="<?php echo $this->template->description; ?>">
|
||||
<meta name="author" content="">
|
||||
<?php echo $this->template->meta; ?>
|
||||
<?php echo $this->template->stylesheet; ?>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<?php
|
||||
// This is an example to show that you can load stuff from inside the template file
|
||||
echo $this->template->widget("navigation", array('title' => 'Project name'));
|
||||
?>
|
||||
|
||||
<div class="container" style="margin-top: 60px;">
|
||||
|
||||
<?php
|
||||
// This is the main content partial
|
||||
echo $this->template->content;
|
||||
?>
|
||||
|
||||
<hr>
|
||||
|
||||
<footer>
|
||||
<p>
|
||||
<?php
|
||||
// Show the footer partial, and prepend copyright message
|
||||
echo $this->template->footer->prepend("© Special Company 2012 - ");
|
||||
?>
|
||||
</p>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="//code.jquery.com/jquery-latest.min.js"></script>
|
||||
<?php echo $this->template->javascript; ?>
|
||||
|
||||
</body>
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title><?php echo $this->template->title->default("Default title"); ?></title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="description" content="<?php echo $this->template->description; ?>">
|
||||
<meta name="author" content="">
|
||||
<?php echo $this->template->meta; ?>
|
||||
<?php echo $this->template->stylesheet; ?>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<?php
|
||||
// This is an example to show that you can load stuff from inside the template file
|
||||
echo $this->template->widget("navigation", array('title' => 'Project name'));
|
||||
?>
|
||||
|
||||
<div class="container" style="margin-top: 60px;">
|
||||
|
||||
<?php
|
||||
// This is the main content partial
|
||||
echo $this->template->content;
|
||||
?>
|
||||
|
||||
<hr>
|
||||
|
||||
<footer>
|
||||
<p>
|
||||
<?php
|
||||
// Show the footer partial, and prepend copyright message
|
||||
echo $this->template->footer->prepend("© Special Company 2012 - ");
|
||||
?>
|
||||
</p>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="//code.jquery.com/jquery-latest.min.js"></script>
|
||||
<?php echo $this->template->javascript; ?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -11,7 +11,7 @@
|
||||
$align = "valign-top";
|
||||
}
|
||||
?>
|
||||
<div class="div-cell width-150px <?php echo $align; ?>">
|
||||
<div class="div-cell <?php echo $align; ?>">
|
||||
<label
|
||||
for="<?php echo ${HTMLWidget::HTML_ARG_NAME}[HTMLWidget::HTML_ID]; ?>"
|
||||
<?php HTMLWidget::printAttribute(${HTMLWidget::HTML_ARG_NAME}, HTMLWidget::REQUIRED); ?>
|
||||
@@ -22,7 +22,7 @@
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<div class="div-cell width-150px">
|
||||
<div class="div-cell">
|
||||
<select
|
||||
<?php HTMLWidget::printAttribute(${HTMLWidget::HTML_ARG_NAME}, HTMLWidget::HTML_ID); ?>
|
||||
<?php HTMLWidget::printAttribute(${HTMLWidget::HTML_ARG_NAME}, HTMLWidget::HTML_NAME); ?>
|
||||
@@ -37,11 +37,11 @@
|
||||
<?php
|
||||
$elements = ${DropdownWidget::WIDGET_DATA_ELEMENTS_ARRAY_NAME};
|
||||
$selectedElements = ${DropdownWidget::SELECTED_ELEMENT};
|
||||
|
||||
|
||||
foreach($elements as $element)
|
||||
{
|
||||
$selected = '';
|
||||
|
||||
|
||||
if (is_array($selectedElements))
|
||||
{
|
||||
foreach($selectedElements as $selectedElement)
|
||||
@@ -71,4 +71,4 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php HTMLWidget::printEndBlock(${HTMLWidget::HTML_ARG_NAME}); ?>
|
||||
<?php HTMLWidget::printEndBlock(${HTMLWidget::HTML_ARG_NAME}); ?>
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
class Dropdown_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
$elements = $widgetData['elements'];
|
||||
$emptyElement = $widgetData['emptyElement'];
|
||||
|
||||
$this->setElementsArray(
|
||||
$elements,
|
||||
true,
|
||||
$emptyElement,
|
||||
'No data present'
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
class MultipleDropdown_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
$elements = $widgetData['elements'];
|
||||
|
||||
$this->setElementsArray(
|
||||
$elements,
|
||||
false,
|
||||
'',
|
||||
'No data present'
|
||||
);
|
||||
|
||||
$this->setMultiple();
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
@@ -1,21 +1,21 @@
|
||||
<?php
|
||||
|
||||
class Nation_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
// Nation
|
||||
$this->load->model('codex/Nation_model', 'NationModel');
|
||||
$this->NationModel->addOrder('nation_code');
|
||||
|
||||
$this->addSelectToModel($this->NationModel, 'nation_code', 'kurztext');
|
||||
|
||||
$this->setElementsArray(
|
||||
$this->NationModel->load(),
|
||||
true,
|
||||
$this->p->t('ui', 'bitteEintragWaehlen')
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
<?php
|
||||
|
||||
class Nation_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
// Nation
|
||||
$this->load->model('codex/Nation_model', 'NationModel');
|
||||
$this->NationModel->addOrder('nation_code');
|
||||
|
||||
$this->addSelectToModel($this->NationModel, 'nation_code', 'kurztext');
|
||||
|
||||
$this->setElementsArray(
|
||||
$this->NationModel->load(),
|
||||
true,
|
||||
$this->p->t('ui', 'bitteEintragWaehlen')
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ class Vorlage_widget extends DropdownWidget
|
||||
FROM tbl_vorlagestudiengang vs INNER JOIN tbl_vorlage v USING(vorlage_kurzbz)
|
||||
) templates';
|
||||
$alias = 'templates';
|
||||
$fields = array("templates.vorlage_kurzbz AS id", "UPPER(templates.oe_kurzbz) || ' - ' || templates.bezeichnung || ' - V' || templates.version AS description");
|
||||
$fields = array("templates.vorlage_kurzbz AS id", "templates.bezeichnung AS description");
|
||||
$where = 'templates.aktiv = TRUE
|
||||
AND templates.subject IS NOT NULL
|
||||
AND templates.text IS NOT NULL
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
<?php
|
||||
|
||||
class Zgv_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
// Zgv
|
||||
$this->load->model('codex/Zgv_model', 'ZgvModel');
|
||||
$this->ZgvModel->addOrder('zgv_bez');
|
||||
|
||||
$this->addSelectToModel($this->ZgvModel, 'zgv_code', 'zgv_bez');
|
||||
|
||||
$this->setElementsArray(
|
||||
$this->ZgvModel->load(),
|
||||
true,
|
||||
$this->p->t('ui', 'bitteEintragWaehlen')
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
<?php
|
||||
|
||||
class Zgv_widget extends DropdownWidget
|
||||
{
|
||||
public function display($widgetData)
|
||||
{
|
||||
// Zgv
|
||||
$this->load->model('codex/Zgv_model', 'ZgvModel');
|
||||
$this->ZgvModel->addOrder('zgv_bez');
|
||||
|
||||
$this->addSelectToModel($this->ZgvModel, 'zgv_code', 'zgv_bez');
|
||||
|
||||
$this->setElementsArray(
|
||||
$this->ZgvModel->load(),
|
||||
true,
|
||||
$this->p->t('ui', 'bitteEintragWaehlen')
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
}
|
||||
}
|
||||
|
||||
+4
-3
@@ -70,13 +70,14 @@ if(defined('CIS_CHECK_PASSWORD_CHANGE') && CIS_CHECK_PASSWORD_CHANGE==true)
|
||||
*/
|
||||
function validURLCheck($param)
|
||||
{
|
||||
if(strstr($param,'://'))
|
||||
if (strstr($param,':') || strstr($param,'//'))
|
||||
{
|
||||
// Der APP_ROOT muss in der URL vorkommen, sonfern es kein relativer Pfad ist
|
||||
// HTTPS und HTTP
|
||||
if(mb_strpos($param, APP_ROOT)!==0
|
||||
&& mb_strpos(mb_str_replace("http://","https://", $param), APP_ROOT)!==0
|
||||
&& mb_strpos(mb_str_replace("https://","http://", $param), APP_ROOT)!==0)
|
||||
&& mb_strpos(mb_str_replace("https://","http://", $param), APP_ROOT)!==0
|
||||
&& $param != 'about:blank')
|
||||
{
|
||||
$text="Dies ist eine automatische Mail.\nEs wurde eine mögliche XSS Attacke durchgefuehrt:\n";
|
||||
$text.="\nFolgende URL wurde versucht aufzurufen: \n".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
|
||||
@@ -170,7 +171,7 @@ $db = new basis_db();
|
||||
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../vendor/twbs/bootstrap/dist/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="../vendor/twbs/bootstrap/dist/css/bootstrap.min.css">
|
||||
</head>
|
||||
<script type="text/javascript">
|
||||
function changeSprache(sprache)
|
||||
|
||||
@@ -1,832 +0,0 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
require_once('../../../../config/cis.config.inc.php');
|
||||
require_once('../../../../include/basis_db.class.php');
|
||||
require_once('../../../../include/functions.inc.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/studiengang.class.php');
|
||||
require_once('../../../../include/studiensemester.class.php');
|
||||
require_once('../../../../include/lehreinheit.class.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/uebung.class.php');
|
||||
require_once('../../../../include/beispiel.class.php');
|
||||
require_once('../../../../include/datum.class.php');
|
||||
include_once('../../../../include/Excel/excel.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Herstellen der Datenbankverbindung');
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
if(!check_lektor($user))
|
||||
die('Sie haben keine Berechtigung fuer diesen Bereich');
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
$stsem = '';
|
||||
|
||||
if(isset($_GET['uebung_id']) && is_numeric($_GET['uebung_id']))
|
||||
{
|
||||
$uebung_id = $_GET['uebung_id'];
|
||||
$uebung_obj = new uebung($uebung_id);
|
||||
$lehreinheit_obj = new lehreinheit($uebung_obj->lehreinheit_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!isset($_GET['all']))
|
||||
die('Fehlerhafte Parameteruebergabe');
|
||||
else
|
||||
{
|
||||
$lehreinheit_id = $_GET['lehreinheit_id'];
|
||||
$lehreinheit_obj = new lehreinheit($lehreinheit_id);
|
||||
}
|
||||
}
|
||||
|
||||
//Abgabedatei ausliefern
|
||||
if (isset($_GET["download_abgabe"])){
|
||||
$file=$_GET["download_abgabe"];
|
||||
$uebung_id = $_GET["uebung_id"];
|
||||
$uid = $_GET['uid'];
|
||||
$ueb = new uebung();
|
||||
$ueb->load_studentuebung($uid, $uebung_id);
|
||||
$ueb->load_abgabe($ueb->abgabe_id);
|
||||
$filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei;
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-disposition: attachment; filename="'.$file.'"');
|
||||
readfile($filename);
|
||||
exit;
|
||||
}
|
||||
/*
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE
|
||||
tbl_lehreinheit.lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER)." AND
|
||||
mitarbeiter_uid=".$db->db_add_param($user);
|
||||
*/
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id in(Select lehrveranstaltung_id from lehre.tbl_lehreinheit where lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER).") AND
|
||||
mitarbeiter_uid=".$db->db_add_param($user);
|
||||
|
||||
if(!$result = $db->db_query($qry))
|
||||
die('Fehler beim laden der Berechtigung');
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!($db->db_num_rows($result)>0 || $rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lehreinheit_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lehreinheit_obj->studiengang_kz)))
|
||||
die('Sie haben keine Berechtigung für diesen Bereich');
|
||||
|
||||
// Beteiligte Gruppen laden
|
||||
$gruppen = '';
|
||||
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_gruppen = $db->db_query($qry_gruppen))
|
||||
{
|
||||
$i=0;
|
||||
while($row_gruppen = $db->db_fetch_object($result_gruppen))
|
||||
{
|
||||
if($row_gruppen->gruppe_kurzbz=='')
|
||||
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
|
||||
else
|
||||
$gruppen.=$row_gruppen->gruppe_kurzbz;
|
||||
$i++;
|
||||
if($i<$db->db_num_rows($result_gruppen))
|
||||
$gruppen.=', ';
|
||||
else
|
||||
$gruppen.=' ';
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($_GET['output']) && $_GET['output']=='xls')
|
||||
{
|
||||
if(isset($_GET['all']))
|
||||
{
|
||||
//EXCEL VERSION / ALLE Kreuzerllisten
|
||||
$le_obj = new lehreinheit();
|
||||
$le_obj->load($lehreinheit_id);
|
||||
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
$lv_obj->load($le_obj->lehrveranstaltung_id);
|
||||
|
||||
// Creating a workbook
|
||||
$workbook = new Spreadsheet_Excel_Writer();
|
||||
$workbook->setVersion(8);
|
||||
// sending HTTP headers
|
||||
$workbook->send("Kreuzerlliste_Gesamt_".$lv_obj->lehreverzeichnis. "_" . date("d_m_Y") . ".xls");
|
||||
|
||||
// Creating a worksheet
|
||||
$worksheet =& $workbook->addWorksheet("Kreuzerltool");
|
||||
$worksheet->setInputEncoding('utf-8');
|
||||
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
|
||||
$format_title =& $workbook->addFormat();
|
||||
$format_title->setBold();
|
||||
// let's merge
|
||||
$format_title->setAlign('merge');
|
||||
|
||||
|
||||
|
||||
$worksheet->write(0,0,'Gesamtübersicht '.$lv_obj->bezeichnung.' vom '.date('d.m.Y'), $format_bold);
|
||||
$maxlength = array();
|
||||
|
||||
//Ueberschrift
|
||||
$i=0;
|
||||
$worksheet->write(1,$i,"Vorname", $format_title);
|
||||
$maxlength[$i]=strlen('Vorname');
|
||||
$worksheet->write(1,++$i,"Nachname", $format_title);
|
||||
$maxlength[$i]=strlen('Nachname');
|
||||
$worksheet->write(1,++$i,"Matrikelnr", $format_title);
|
||||
$maxlength[$i]=strlen('Matrikelnr');
|
||||
$worksheet->write(1,++$i,"Gruppe", $format_title);
|
||||
$maxlength[$i]=strlen('Gruppe');
|
||||
$ueb_obj = new uebung();
|
||||
$ueb_obj->load_uebung($lehreinheit_id);
|
||||
foreach($ueb_obj->uebungen as $row_ueb)
|
||||
{
|
||||
$worksheet->write(1,++$i,$row_ueb->bezeichnung, $format_title);
|
||||
$maxlength[$i]=strlen($row_ueb->bezeichnung);
|
||||
}
|
||||
$worksheet->write(1,++$i,"Summe", $format_title);
|
||||
$maxlength[$i]=8;
|
||||
$worksheet->write(1,++$i,"Mitarbeit insgesamt", $format_title);
|
||||
$maxlength[$i]=strlen('Mitarbeit insgesamt');
|
||||
$worksheet->write(1,++$i,"Punkte insgesamt", $format_title);
|
||||
$maxlength[$i]=strlen('Punkte insgesamt');
|
||||
$worksheet->write(1,++$i,"Unterschrift", $format_title);
|
||||
$maxlength[$i]=strlen('Unterschrift')+5;
|
||||
|
||||
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
|
||||
{
|
||||
$gruppe = $_GET['gruppe'];
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id=".$db->db_add_param($gruppe);
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($row->gruppe_kurzbz!='')
|
||||
{
|
||||
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz = ".$db->db_add_param($stsem)." ORDER BY nachname, vorname";
|
||||
}
|
||||
else
|
||||
{
|
||||
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student
|
||||
WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
|
||||
AND semester=".$db->db_add_param($row->semester).
|
||||
($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):'').
|
||||
($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):'').
|
||||
" ORDER BY nachname, vorname";
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
die('Gruppe konnte nicht ermittelt werden');
|
||||
}
|
||||
else
|
||||
die('Gruppe konnte nicht ermittelt werden');
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='')
|
||||
{
|
||||
$lehreinheit_id = $_GET['lehreinheit_id'];
|
||||
$gruppe_bez = 'Alle Studienrende';
|
||||
//Alle Studenten die dieser Lehreinheit zugeordnet sind
|
||||
$qry_stud = "SELECT
|
||||
vw_student.uid, vorname, nachname, matrikelnr,
|
||||
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe
|
||||
FROM
|
||||
campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe,
|
||||
public.tbl_studentlehrverband, lehre.tbl_lehreinheit
|
||||
WHERE
|
||||
tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitgruppe.lehreinheit_id AND
|
||||
vw_student.uid = tbl_benutzergruppe.uid AND
|
||||
tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz AND
|
||||
vw_student.uid=tbl_studentlehrverband.student_uid AND
|
||||
tbl_studentlehrverband.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz
|
||||
UNION
|
||||
SELECT
|
||||
vw_student.uid, vorname, nachname, matrikelnr, tbl_studentlehrverband.semester,
|
||||
tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe
|
||||
FROM
|
||||
campus.vw_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband, lehre.tbl_lehreinheit
|
||||
WHERE
|
||||
tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
|
||||
tbl_lehreinheitgruppe.studiengang_kz=tbl_studentlehrverband.studiengang_kz AND
|
||||
tbl_lehreinheitgruppe.semester = tbl_studentlehrverband.semester AND
|
||||
tbl_studentlehrverband.student_uid=vw_student.uid AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitgruppe.lehreinheit_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz AND
|
||||
((tbl_lehreinheitgruppe.verband<>'' AND
|
||||
tbl_lehreinheitgruppe.gruppe<>'' AND
|
||||
trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband) AND
|
||||
trim(tbl_lehreinheitgruppe.gruppe) = trim(tbl_studentlehrverband.gruppe))
|
||||
OR
|
||||
(tbl_lehreinheitgruppe.verband<>'' AND
|
||||
(trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND
|
||||
trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband))
|
||||
OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null)
|
||||
)
|
||||
ORDER BY nachname, vorname";
|
||||
}
|
||||
else
|
||||
die('Fehler bei der Parameteruebergabe');
|
||||
$gruppe='';
|
||||
}
|
||||
|
||||
if($result_stud = $db->db_query($qry_stud))
|
||||
{
|
||||
$zeile=3;
|
||||
|
||||
while($row_stud = $db->db_fetch_object($result_stud))
|
||||
{
|
||||
$spalte=0;
|
||||
$summe=0;
|
||||
//vorname
|
||||
$worksheet->write($zeile,$spalte,$row_stud->vorname);
|
||||
if(strlen($row_stud->vorname)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row_stud->vorname);
|
||||
//nachname
|
||||
$worksheet->write($zeile,++$spalte,$row_stud->nachname);
|
||||
if(strlen($row_stud->nachname)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row_stud->nachname);
|
||||
//matrikelnr
|
||||
$worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"');
|
||||
if(strlen($row_stud->matrikelnr)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row_stud->matrikelnr);
|
||||
//Gruppe
|
||||
$worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe);
|
||||
if(strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe);
|
||||
|
||||
foreach($ueb_obj->uebungen as $row_ueb)
|
||||
{
|
||||
$qry = "SELECT sum(punkte) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id)
|
||||
WHERE uebung_id=".$db->db_add_param($row_ueb->uebung_id)." AND student_uid=".$db->db_add_param($row_stud->uid)." AND vorbereitet=true";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$punkte = $row->punkte;
|
||||
$summe +=$punkte;
|
||||
}
|
||||
else
|
||||
$punkte = 'failed';
|
||||
}
|
||||
else
|
||||
$punkte='failed';
|
||||
//punkte auf uebung
|
||||
$worksheet->write($zeile,++$spalte,($punkte!=''?$punkte:'0'));
|
||||
}
|
||||
|
||||
//summe
|
||||
$worksheet->write($zeile,++$spalte,$summe);
|
||||
|
||||
//mitarbeit
|
||||
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
|
||||
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($row_stud->uid);
|
||||
if($result = $db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$mitarbeit=$row->mitarbeit;
|
||||
else
|
||||
$mitarbeit='failed';
|
||||
else
|
||||
$mitarbeit='failed';
|
||||
|
||||
$worksheet->write($zeile,++$spalte,($row->mitarbeit!=''?$mitarbeit:'0'));
|
||||
//punkte insgesamt
|
||||
$worksheet->write($zeile,++$spalte,($summe+$mitarbeit), $format_bold);
|
||||
|
||||
$zeile++;
|
||||
}
|
||||
for($i=0;$i<count($maxlength);$i++)
|
||||
{
|
||||
$worksheet->setColumn(0, $i, $maxlength[$i]);
|
||||
}
|
||||
}
|
||||
|
||||
$workbook->close();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//EXCEL VERSION / Einzelne Kreuzerlliste
|
||||
|
||||
// Creating a workbook
|
||||
$workbook = new Spreadsheet_Excel_Writer();
|
||||
$workbook->setVersion(8);
|
||||
|
||||
// sending HTTP headers
|
||||
$workbook->send("Kreuzerltool". "_" . date("d_m_Y") . ".xls");
|
||||
|
||||
// Creating a worksheet
|
||||
$worksheet =& $workbook->addWorksheet("Kreuzerltool");
|
||||
$worksheet->setInputEncoding('utf-8');
|
||||
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
|
||||
$format_title =& $workbook->addFormat();
|
||||
$format_title->setBold();
|
||||
// let's merge
|
||||
$format_title->setAlign('merge');
|
||||
|
||||
$worksheet->write(0,0,$uebung_obj->bezeichnung.' am '.date('d.m.Y').' '.$gruppen, $format_bold);
|
||||
$maxlength = array();
|
||||
//Ueberschrift
|
||||
$i=0;
|
||||
$worksheet->write(1,$i,"Vorname", $format_title);
|
||||
$maxlength[$i]=strlen('Vorname');
|
||||
$worksheet->write(1,++$i,"Nachname", $format_title);
|
||||
$maxlength[$i]=strlen('Nachname');
|
||||
$worksheet->write(1,++$i,"Matrikelnr", $format_title);
|
||||
$maxlength[$i]=strlen('Matrikelnr');
|
||||
//$worksheet->write(1,++$i,"Gruppe", $format_title);
|
||||
//$maxlength[$i]=strlen('Gruppe');
|
||||
$beispiel_obj = new beispiel();
|
||||
$beispiel_obj->load_beispiel($uebung_id);
|
||||
foreach($beispiel_obj->beispiele as $row_bsp)
|
||||
{
|
||||
$worksheet->write(1,++$i,$row_bsp->bezeichnung, $format_title);
|
||||
$maxlength[$i]=strlen($row_bsp->bezeichnung);
|
||||
}
|
||||
$worksheet->write(1,++$i,"Punkte heute", $format_title);
|
||||
$maxlength[$i]=strlen('Punkte heute');
|
||||
$worksheet->write(1,++$i,"Mitarbeit heute", $format_title);
|
||||
$maxlength[$i]=strlen('Mitarbeit_heute');
|
||||
$worksheet->write(1,++$i,"Punkte insgesamt", $format_title);
|
||||
$maxlength[$i]=strlen('Punkte insgesamt');
|
||||
$worksheet->write(1,++$i,"Mitarbeit insgesamt", $format_title);
|
||||
$maxlength[$i]=strlen('Mitarbeit insgesamt');
|
||||
$worksheet->write(1,++$i,"Unterschrift", $format_title);
|
||||
$maxlength[$i]=strlen('Unterschrift')+5;
|
||||
|
||||
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
|
||||
{
|
||||
$gruppe = $_GET['gruppe'];
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id=".$db->db_add_param($gruppe);
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($row->gruppe_kurzbz!='')
|
||||
{
|
||||
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe
|
||||
FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid)
|
||||
WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz=".$db->db_add_param($stsem)." ORDER BY nachname, vorname";
|
||||
}
|
||||
else
|
||||
{
|
||||
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student
|
||||
WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
|
||||
AND semester=".$db->db_add_param($row->semester).
|
||||
($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):'').
|
||||
($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):'').
|
||||
" ORDER BY nachname, vorname";
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
die('Gruppe konnte nicht ermittelt werden');
|
||||
}
|
||||
else
|
||||
die('Gruppe konnte nicht ermittelt werden');
|
||||
|
||||
|
||||
$lehreinheit_id = $uebung_obj->lehreinheit_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='')
|
||||
{
|
||||
$lehreinheit_id = $_GET['lehreinheit_id'];
|
||||
$gruppe_bez = 'Alle Studienrende';
|
||||
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid)
|
||||
WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
|
||||
|
||||
//Alle Studenten die dieser Lehreinheit zugeordnet sind
|
||||
/*
|
||||
$qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe
|
||||
FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe
|
||||
WHERE tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND
|
||||
vw_student.uid = tbl_benutzergruppe.uid AND
|
||||
tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz
|
||||
UNION
|
||||
SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe
|
||||
FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE
|
||||
tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
|
||||
tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND
|
||||
tbl_lehreinheitgruppe.semester = vw_student.semester AND
|
||||
((tbl_lehreinheitgruppe.verband<>'' AND
|
||||
tbl_lehreinheitgruppe.gruppe<>'' AND
|
||||
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND
|
||||
trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe))
|
||||
OR
|
||||
(tbl_lehreinheitgruppe.verband<>'' AND
|
||||
(trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND
|
||||
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband))
|
||||
OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null)
|
||||
)
|
||||
ORDER BY nachname, vorname";
|
||||
*/
|
||||
}
|
||||
else
|
||||
die('Fehler bei der Parameteruebergabe');
|
||||
$gruppe='';
|
||||
}
|
||||
|
||||
if($result_stud = $db->db_query($qry_stud))
|
||||
{
|
||||
$zeile=3;
|
||||
|
||||
while($row_stud = $db->db_fetch_object($result_stud))
|
||||
{
|
||||
$spalte=0;
|
||||
$punkte_heute=0;
|
||||
//vorname
|
||||
$worksheet->write($zeile,$spalte,$row_stud->vorname);
|
||||
if(strlen($row_stud->vorname)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row_stud->vorname);
|
||||
//nachname
|
||||
$worksheet->write($zeile,++$spalte,$row_stud->nachname);
|
||||
if(strlen($row_stud->nachname)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row_stud->nachname);
|
||||
//matrikelnr
|
||||
$worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"');
|
||||
if(strlen($row_stud->matrikelnr)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row_stud->matrikelnr);
|
||||
|
||||
//Gruppe
|
||||
/*
|
||||
$worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe);
|
||||
if(strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe);
|
||||
*/
|
||||
foreach($beispiel_obj->beispiele as $row_bsp)
|
||||
{
|
||||
$studentbeispiel_obj = new beispiel();
|
||||
$studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id);
|
||||
if($studentbeispiel_obj->vorbereitet)
|
||||
$punkte = $row_bsp->punkte;
|
||||
else
|
||||
$punkte = 0;
|
||||
$punkte_heute +=$punkte;
|
||||
//punkte auf uebung
|
||||
$worksheet->write($zeile,++$spalte,$punkte);
|
||||
}
|
||||
|
||||
//punkte heute
|
||||
$worksheet->write($zeile,++$spalte,$punkte_heute);
|
||||
|
||||
//mitarbeit heute
|
||||
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung
|
||||
WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($row_stud->uid);
|
||||
if($result = $db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0'));
|
||||
else
|
||||
$worksheet->write($zeile,++$spalte,'failed');
|
||||
else
|
||||
$worksheet->write($zeile,++$spalte,'failed');
|
||||
|
||||
//punkte insgesamt
|
||||
$qry = "SELECT sum(tbl_beispiel.punkte) AS gesamt_ohne_mitarbeit FROM campus.tbl_uebung, campus.tbl_beispiel, campus.tbl_studentbeispiel WHERE
|
||||
tbl_studentbeispiel.student_uid=".$db->db_add_param($row_stud->uid)." AND
|
||||
tbl_studentbeispiel.vorbereitet=true AND
|
||||
tbl_uebung.lehreinheit_id=".$db->db_add_param($uebung_obj->lehreinheit_id, FHC_INTEGER)." AND
|
||||
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
|
||||
tbl_beispiel.beispiel_id=tbl_studentbeispiel.beispiel_id
|
||||
";
|
||||
if($result = $db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$worksheet->write($zeile,++$spalte,($row->gesamt_ohne_mitarbeit!=''?$row->gesamt_ohne_mitarbeit:'0'));
|
||||
else
|
||||
$worksheet->write($zeile,++$spalte,'failed');
|
||||
else
|
||||
$worksheet->write($zeile,++$spalte,'failed');
|
||||
|
||||
//mitarbeit insgesamt
|
||||
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
|
||||
WHERE student_uid=".$db->db_add_param($row_stud->uid)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
|
||||
if($result = $db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0'));
|
||||
else
|
||||
$worksheet->write($zeile,++$spalte,'failed');
|
||||
else
|
||||
$worksheet->write($zeile,++$spalte,'failed');
|
||||
|
||||
$zeile++;
|
||||
}
|
||||
for($i=0;$i<count($maxlength);$i++)
|
||||
$worksheet->setColumn(0, $i, $maxlength[$i]);
|
||||
}
|
||||
|
||||
$workbook->close();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//HTML VERSION
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
<title>Kreuzerltool</title>
|
||||
<script language="Javascript">
|
||||
function addUser(student_uid)
|
||||
{
|
||||
var upd, upd_f;
|
||||
upd = document.forms[0].update_ids;
|
||||
upd_f = "update_" + student_uid;
|
||||
if (document.forms[0].elements[upd_f].checked != true)
|
||||
{
|
||||
document.forms[0].elements[upd_f].checked = true;
|
||||
upd.value += student_uid + "#";
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
if(isset($_POST['submit']))
|
||||
{
|
||||
//Update der Daten
|
||||
$uids = explode('#',$_POST['update_ids']);
|
||||
|
||||
$uebung_obj = new uebung($uebung_id);
|
||||
$beispiel_obj = new beispiel();
|
||||
$beispiel_obj->load_beispiel($uebung_id);
|
||||
$error=false;
|
||||
foreach($uids as $uid)
|
||||
{
|
||||
if($uid!='')
|
||||
{
|
||||
if ($uebung_obj->beispiele)
|
||||
{
|
||||
foreach($beispiel_obj->beispiele as $bsp)
|
||||
{
|
||||
if(isset($_POST['update_'.$uid.'_'.$bsp->beispiel_id]))
|
||||
$vorbereitet=true;
|
||||
else
|
||||
$vorbereitet=false;
|
||||
|
||||
$bsp_obj = new beispiel();
|
||||
|
||||
if(!$bsp_obj->studentbeispiel_exists($uid,$bsp->beispiel_id))
|
||||
{
|
||||
$new=true;
|
||||
$bsp_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$bsp_obj->insertvon = $user;
|
||||
}
|
||||
else
|
||||
{
|
||||
$bsp_obj->load_studentbeispiel($uid, $bsp->beispiel_id);
|
||||
$new=false;
|
||||
}
|
||||
|
||||
$bsp_obj->student_uid = $uid;
|
||||
$bsp_obj->beispiel_id = $bsp->beispiel_id;
|
||||
$bsp_obj->vorbereitet = $vorbereitet;
|
||||
$bsp_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$bsp_obj->updatevon = $user;
|
||||
|
||||
if(!$bsp_obj->studentbeispiel_save($new))
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!$uebung_obj->load_studentuebung($uid,$uebung_id))
|
||||
{
|
||||
$uebung_obj->student_uid = $uid;
|
||||
$uebung_obj->mitarbeiter_uid = $user;
|
||||
$uebung_obj->abgabe_id = null;
|
||||
$uebung_obj->note = $_POST['update_'.$uid.'_note'];
|
||||
$uebung_obj->mitarbeitspunkte = null;
|
||||
$uebung_obj->punkte = null;
|
||||
$uebung_obj->anmerkung = null;
|
||||
$uebung_obj->benotungsdatum = date("Y-m-d H:i:s");
|
||||
$uebung_obj->updateamum = null;
|
||||
$uebung_obj->updatevon = null;
|
||||
$uebung_obj->insertamum = date("Y-m-d H:i:s");
|
||||
$uebung_obj->insertvon = $user;
|
||||
$new = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$uebung_obj->load_studentuebung($uid,$uebung_id);
|
||||
$uebung_obj->mitarbeiter_uid = $user;
|
||||
$uebung_obj->note = $_POST['update_'.$uid.'_note'];
|
||||
$uebung_obj->benotungsdatum = date("Y-m-d H:i:s");
|
||||
$uebung_obj->updateamum = date("Y-m-d H:i:s");
|
||||
$uebung_obj->updatevon = $user;
|
||||
$new = false;
|
||||
}
|
||||
$uebung_obj->studentuebung_save($new);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!$error)
|
||||
echo "Die Änderungen wurden erfolgreich gespeichert";
|
||||
else
|
||||
echo "<span class='error'>Fehler beim Speichern der Änderungen</span>";
|
||||
}
|
||||
|
||||
$uebung_obj = new uebung($uebung_id);
|
||||
$lehreinheit_obj = new lehreinheit($uebung_obj->lehreinheit_id);
|
||||
|
||||
$beispiel_obj = new beispiel();
|
||||
|
||||
$lehrveranstaltung_obj = new lehrveranstaltung($lehreinheit_obj->lehrveranstaltung_id);
|
||||
$stg_obj = new studiengang($lehrveranstaltung_obj->studiengang_kz);
|
||||
|
||||
$beispiel_obj->load_beispiel($uebung_id);
|
||||
if ($uebung_obj->beispiele)
|
||||
$anzahl = count($beispiel_obj->beispiele);
|
||||
else
|
||||
$anzahl = 1;
|
||||
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
|
||||
{
|
||||
$gruppe = $_GET['gruppe'];
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id=".$db->db_add_param($gruppe);
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($row->gruppe_kurzbz!='')
|
||||
{
|
||||
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
|
||||
$qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid)
|
||||
WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz = ".$db->db_add_param($stsem)."
|
||||
ORDER BY nachname, vorname";
|
||||
}
|
||||
else
|
||||
{
|
||||
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
|
||||
$qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student
|
||||
WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
|
||||
AND semester=".$db->db_add_param($row->semester).
|
||||
($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):'').
|
||||
($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):'').
|
||||
" ORDER BY nachname, vorname";
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
die('Gruppe konnte nicht ermittelt werden');
|
||||
}
|
||||
else
|
||||
die('Gruppe konnte nicht ermittelt werden');
|
||||
$lehreinheit_id = '';
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='')
|
||||
{
|
||||
$lehreinheit_id = $_GET['lehreinheit_id'];
|
||||
$gruppe_bez = 'Alle Studierende';
|
||||
//Alle Studenten die dieser lehreinheit zugeordnet sind
|
||||
// studentenquery
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid)
|
||||
WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
|
||||
/*
|
||||
$qry_stud = "SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe
|
||||
WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
|
||||
vw_student.uid = tbl_benutzergruppe.uid AND
|
||||
tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz AND
|
||||
tbl_benutzergruppe.studiensemester_kurzbz = '$stsem'
|
||||
UNION
|
||||
SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE
|
||||
tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
|
||||
tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND
|
||||
tbl_lehreinheitgruppe.semester = vw_student.semester AND
|
||||
((tbl_lehreinheitgruppe.verband<>'' AND
|
||||
tbl_lehreinheitgruppe.gruppe<>'' AND
|
||||
tbl_lehreinheitgruppe.verband is not null AND
|
||||
tbl_lehreinheitgruppe.gruppe is not null AND
|
||||
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND
|
||||
trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe))
|
||||
OR
|
||||
(tbl_lehreinheitgruppe.verband<>'' AND tbl_lehreinheitgruppe.verband is not null AND
|
||||
(trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND
|
||||
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband))
|
||||
OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null)
|
||||
)
|
||||
ORDER BY nachname, vorname";
|
||||
*/
|
||||
}
|
||||
else
|
||||
die('Fehler bei der Parameteruebergabe');
|
||||
$gruppe='';
|
||||
}
|
||||
|
||||
echo "<form method='POST' action='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&gruppe=$gruppe&stsem=$stsem'>";
|
||||
echo "<input type='hidden' name='update_ids' value=''>";
|
||||
echo "<table border='1'>
|
||||
<tr>
|
||||
<td colspan='".($anzahl+3)."' width='100%'>
|
||||
<table width='100%'>
|
||||
<tr>
|
||||
<td><font class='headline'>$lehrveranstaltung_obj->semester.Semester</font></td>
|
||||
<td align='center'><font class='headline'>$stg_obj->kuerzel - $lehrveranstaltung_obj->bezeichnung - $uebung_obj->bezeichnung - $gruppe_bez - $gruppen</font></td>
|
||||
<td align='right'><font class='headline'>".date('d.m.Y')."</font></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>";
|
||||
|
||||
echo "<tr><td align='center'><b>Name</b></td>";
|
||||
if (!$uebung_obj->beispiele)
|
||||
echo "<td>Note</td>";
|
||||
else
|
||||
{
|
||||
foreach($beispiel_obj->beispiele as $row)
|
||||
{
|
||||
echo "<td>$row->bezeichnung</td>";
|
||||
}
|
||||
}
|
||||
echo "<td align='center' width='200'><b>Unterschrift</b></td><td></td></tr>\n";
|
||||
|
||||
if($result = $db->db_query($qry_stud))
|
||||
{
|
||||
while($row_stud = $db->db_fetch_object($result))
|
||||
{
|
||||
|
||||
$filename = '';
|
||||
$su_obj = new uebung($uebung_id);
|
||||
$su_obj->load_studentuebung($row_stud->uid, $uebung_id);
|
||||
if ($su_obj->abgabe_id)
|
||||
{
|
||||
$su_obj->load_abgabe($su_obj->abgabe_id);
|
||||
$filename = $su_obj->abgabedatei;
|
||||
}
|
||||
else
|
||||
$filename='';
|
||||
|
||||
echo "<tr onMouseOver=\"this.style.backgroundColor='#c7dfe8'\" onMouseOut=\"this.style.backgroundColor='#ffffff'\">
|
||||
<td nowrap><input type='checkbox' name='update_$row_stud->uid' disabled> <b>$row_stud->nachname</b> $row_stud->vorname $row_stud->uid</td>";
|
||||
if (!$uebung_obj->beispiele)
|
||||
{
|
||||
$studentuebung_obj = new uebung();
|
||||
$studentuebung_obj->load_studentuebung($row_stud->uid,$uebung_id);
|
||||
echo "<td align='center'><input type='text' name='update_".$row_stud->uid."_note' onchange=\"addUser('$row_stud->uid');\" value='".$studentuebung_obj->note."' size='3'></td>\n";
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach($beispiel_obj->beispiele as $row_bsp)
|
||||
{
|
||||
$studentbeispiel_obj = new beispiel();
|
||||
$studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id);
|
||||
echo "<td align='center'><input type='checkbox' name='update_".$row_stud->uid."_".$row_bsp->beispiel_id."' onClick=\"addUser('$row_stud->uid');\" ".($studentbeispiel_obj->vorbereitet?'checked':'').">".($studentbeispiel_obj->probleme?'<i><small>P</small></i>':'')."</td>\n";
|
||||
}
|
||||
}
|
||||
echo "<td> </td>";
|
||||
|
||||
if ($filename != "")
|
||||
echo "<td><a href='anwesenheitsliste.php?uid=$row_stud->uid&output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem&download_abgabe=$filename'>Abgabe</a></td>\n";
|
||||
else if ($uebung_obj->abgabe)
|
||||
echo "<td><span style='color:red;'>Fehlt!</span></td>";
|
||||
else
|
||||
echo "<td></td>";
|
||||
echo "</tr>\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo '</table>';
|
||||
echo "<br><br><table width='100%'><tr><td align='right'><input type='submit' name='submit' value='Änderungen Speichern'></td></tr></table>";
|
||||
echo '</form>'
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
}
|
||||
@@ -1,392 +0,0 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
require_once('../../../../config/cis.config.inc.php');
|
||||
require_once('../../../../include/basis_db.class.php');
|
||||
require_once('../../../../include/functions.inc.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/studiengang.class.php');
|
||||
require_once('../../../../include/studiensemester.class.php');
|
||||
require_once('../../../../include/lehreinheit.class.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/uebung.class.php');
|
||||
require_once('../../../../include/beispiel.class.php');
|
||||
require_once('../../../../include/datum.class.php');
|
||||
require_once('../../../../include/phrasen.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Herstellen der Datenbankverbindung');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
<title><?php echo $p->t('benotungstool/benotungstool');?></title>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
<!--
|
||||
function MM_jumpMenu(targ, selObj, restore)
|
||||
{
|
||||
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
|
||||
|
||||
if(restore)
|
||||
{
|
||||
selObj.selectedIndex = 0;
|
||||
}
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<?php
|
||||
$user = get_uid();
|
||||
|
||||
if(!check_lektor($user))
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
|
||||
$lvid = $_GET['lvid'];
|
||||
else
|
||||
die($p->t('global/fehlerBeiDerParameteruebergabe'));
|
||||
|
||||
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
|
||||
$lehreinheit_id = $_GET['lehreinheit_id'];
|
||||
else
|
||||
$lehreinheit_id = '';
|
||||
|
||||
//Laden der Lehrveranstaltung
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if(!$lv_obj->load($lvid))
|
||||
die($lv_obj->errormsg);
|
||||
|
||||
//Studiengang laden
|
||||
$stg_obj = new studiengang($lv_obj->studiengang_kz);
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
$stsem = '';
|
||||
|
||||
//Vars
|
||||
$datum_obj = new datum();
|
||||
$show_excel_link = false;
|
||||
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
|
||||
|
||||
//Kopfzeile
|
||||
echo '<table width="100%">';
|
||||
echo ' <tr><td>';
|
||||
echo '<h1> '.$p->t('benotungstool/benotungstool');
|
||||
echo '</h1></td><td align="right">'."\n";
|
||||
|
||||
//Studiensemester laden
|
||||
$stsem_obj = new studiensemester();
|
||||
if($stsem=='')
|
||||
$stsem = $stsem_obj->getaktorNext();
|
||||
|
||||
$stsem_obj->getAll();
|
||||
|
||||
//Studiensemester DropDown
|
||||
$stsem_content = $p->t('global/studiensemester').": <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
|
||||
foreach($stsem_obj->studiensemester as $studiensemester)
|
||||
{
|
||||
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
|
||||
$stsem_content.= "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
|
||||
}
|
||||
$stsem_content.= "</SELECT>\n";
|
||||
|
||||
//Lehreinheiten laden
|
||||
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
|
||||
}
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>1)
|
||||
{
|
||||
//Lehreinheiten DropDown
|
||||
echo $p->t('global/lehreinheit').": <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($lehreinheit_id=='')
|
||||
$lehreinheit_id=$row->lehreinheit_id;
|
||||
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
|
||||
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_lektoren = $db->db_query($qry_lektoren))
|
||||
{
|
||||
$lektoren = '( ';
|
||||
$i=0;
|
||||
while($row_lektoren = $db->db_fetch_object($result_lektoren))
|
||||
{
|
||||
$lektoren .= $row_lektoren->kurzbz;
|
||||
$i++;
|
||||
if($i<$db->db_num_rows($result_lektoren))
|
||||
$lektoren.=', ';
|
||||
else
|
||||
$lektoren.=' ';
|
||||
}
|
||||
$lektoren .=')';
|
||||
}
|
||||
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_gruppen = $db->db_query($qry_gruppen))
|
||||
{
|
||||
$gruppen = '';
|
||||
$i=0;
|
||||
while($row_gruppen = $db->db_fetch_object($result_gruppen))
|
||||
{
|
||||
if($row_gruppen->gruppe_kurzbz=='')
|
||||
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
|
||||
else
|
||||
$gruppen.=$row_gruppen->gruppe_kurzbz;
|
||||
$i++;
|
||||
if($i<$db->db_num_rows($result_gruppen))
|
||||
$gruppen.=', ';
|
||||
else
|
||||
$gruppen.=' ';
|
||||
}
|
||||
}
|
||||
echo "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
|
||||
}
|
||||
echo '</SELECT> ';
|
||||
}
|
||||
else
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$lehreinheit_id = $row->lehreinheit_id;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $p->t('benotungstool/fehlerBeimAuslesen');
|
||||
}
|
||||
echo $stsem_content;
|
||||
echo '</td><tr></table>';
|
||||
echo '<table width="100%"><tr>';
|
||||
echo '<td class="tdwidth10"> </td>';
|
||||
echo "<td>\n";
|
||||
echo "<b>".$lv_obj->bezeichnung_arr[$sprache]."</b><br>";
|
||||
|
||||
if($lehreinheit_id=='')
|
||||
die($p->t('benotungstool/keinePassendeLehreinheitGefunden'));
|
||||
|
||||
//Menue
|
||||
include("menue.inc.php");
|
||||
/*
|
||||
echo "\n<!--Menue-->\n";
|
||||
echo "<br>
|
||||
<a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Verwaltung</font>
|
||||
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Anwesenheits- und Übersichtstabelle</font></a>
|
||||
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Studentenpunkte verwalten</font></a>
|
||||
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Statistik</font></a>
|
||||
<br><br>
|
||||
<!--Menue Ende-->\n";
|
||||
*/
|
||||
|
||||
echo "<h3>".$p->t('benotungstool/anwesenheitstabelle')."</h3>";
|
||||
|
||||
/*
|
||||
$uebung_obj = new uebung();
|
||||
$uebung_obj->load_uebung($lehreinheit_id);
|
||||
if(count($uebung_obj->uebungen)>0)
|
||||
{
|
||||
echo "<table width='100%'><tr><td valign='top'>";
|
||||
echo "Wählen Sie bitte eine Kreuzerlliste aus: <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
foreach ($uebung_obj->uebungen as $row)
|
||||
{
|
||||
if($uebung_id=='')
|
||||
$uebung_id=$row->uebung_id;
|
||||
|
||||
if($uebung_id == $row->uebung_id)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
echo "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' $selected>";
|
||||
//Freigegeben = +
|
||||
//Nicht Freigegeben = -
|
||||
if($datum_obj->mktime_fromtimestamp($row->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($row->freigabebis)>time())
|
||||
echo '+ ';
|
||||
else
|
||||
echo '- ';
|
||||
echo $row->bezeichnung;
|
||||
echo '</OPTION>';
|
||||
}
|
||||
echo '</SELECT>';
|
||||
echo "</td>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><b>+</b>...</td>
|
||||
<td>Kreuzerlliste ist <u>freigeschalten</u>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>-</b>...</td>
|
||||
<td>Kreuzerlliste ist <u>nicht freigeschalten</u>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr></table>";
|
||||
}
|
||||
else
|
||||
die("Derzeit gibt es keine Uebungen");
|
||||
*/
|
||||
|
||||
$uebung_obj = new uebung();
|
||||
$uebung_obj->load_uebung($lehreinheit_id,1);
|
||||
if(count($uebung_obj->uebungen)>0)
|
||||
{
|
||||
echo "<table width='100%'><tr><td valign='top'>";
|
||||
echo "<br>".$p->t('benotungstool/waehlenSieEineAufgabeAus').": <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
echo "<option value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=' selected></option>";
|
||||
foreach ($uebung_obj->uebungen as $row)
|
||||
{
|
||||
|
||||
if($uebung_id == $row->uebung_id)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
if($uebung_id=='')
|
||||
$uebung_id=$row->uebung_id;
|
||||
|
||||
$subuebung_obj = new uebung();
|
||||
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
|
||||
if(count($subuebung_obj->uebungen)>0)
|
||||
{
|
||||
$disabled = 'disabled';
|
||||
$selected = '';
|
||||
}
|
||||
else
|
||||
$disabled = '';
|
||||
|
||||
echo "<OPTION style='background-color:#cccccc;' value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' $selected $disabled>";
|
||||
|
||||
|
||||
echo $row->bezeichnung;
|
||||
echo '</OPTION>';
|
||||
|
||||
if(count($subuebung_obj->uebungen)>0)
|
||||
{
|
||||
foreach ($subuebung_obj->uebungen as $subrow)
|
||||
{
|
||||
if($uebung_id=='')
|
||||
$uebung_id=$subrow->uebung_id;
|
||||
|
||||
if($uebung_id == $subrow->uebung_id)
|
||||
{
|
||||
|
||||
$selected = 'selected';
|
||||
if ($subrow->beispiele)
|
||||
$show_excel_link = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$selected = '';
|
||||
}
|
||||
|
||||
echo "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id' $selected>";
|
||||
|
||||
|
||||
//Freigegeben = +
|
||||
//Nicht Freigegeben = -
|
||||
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
|
||||
echo ' + ';
|
||||
else
|
||||
echo ' - ';
|
||||
|
||||
echo $subrow->bezeichnung;
|
||||
echo '</OPTION>';
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo '</SELECT>';
|
||||
|
||||
echo '</td>';
|
||||
|
||||
echo "<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><b>+</b>...</td>
|
||||
<td><u>".$p->t('benotungstool/freigeschaltet')."</u>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>-</b>...</td>
|
||||
<td><u>".$p->t('benotungstool/nichtFreigeschaltet')."</u>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr></table>";
|
||||
}
|
||||
else
|
||||
die($p->t('benotungstool/derzeitSindKeineUebungenAngelegt'));
|
||||
|
||||
$uebung_obj = new uebung();
|
||||
$uebung_obj->load($uebung_id);
|
||||
echo "<h3><u>$uebung_obj->bezeichnung</u></h3>";
|
||||
|
||||
echo '<table width="100%"><tr><td>';
|
||||
echo "<ul><li><a href='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem' target='_blank'>".$p->t('benotungstool/alleStudierenden')."</a> ";
|
||||
if ($show_excel_link)
|
||||
echo "<a href='anwesenheitsliste.php?output=xls&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem'><img src='../../../../skin/images/excel.gif' width=16 height=16></a>";
|
||||
echo "</li>";
|
||||
echo '</ul>';
|
||||
echo "</td><!--<td valign='top'>
|
||||
<ul><li>
|
||||
<a href='anwesenheitsliste.php?output=xls&lehreinheit_id=$lehreinheit_id&all'>Gesamtübersicht <img src='../../../../skin/images/excel.gif' width=16 height=16></a>
|
||||
</li></ul>
|
||||
</td>--></tr></table>";
|
||||
|
||||
?>
|
||||
</td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,874 +0,0 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
/*
|
||||
* Script zum Kopieren einer Kreuzerltool Uebung zu einer anderen Lehreinheit
|
||||
* (zB fuer die Uebernahme der Uebungen aus dem Vorjahr)
|
||||
*/
|
||||
require_once('../../../../config/cis.config.inc.php');
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// Datenbankanbindung
|
||||
// ------------------------------------------------------------------------------------------
|
||||
require_once('../../../../include/basis_db.class.php');
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Herstellen der Datenbankverbindung');
|
||||
|
||||
// ---------------- Standart Include Dateien einbinden
|
||||
require_once('../../../../include/studiengang.class.php');
|
||||
require_once('../../../../include/studiensemester.class.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/lehreinheit.class.php');
|
||||
require_once('../../../../include/lehreinheitgruppe.class.php');
|
||||
require_once('../../../../include/lehreinheitmitarbeiter.class.php');
|
||||
|
||||
|
||||
require_once('../../../../include/functions.inc.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/uebung.class.php');
|
||||
require_once('../../../../include/beispiel.class.php');
|
||||
require_once('../../../../include/datum.class.php');
|
||||
|
||||
|
||||
// ***********************************************************************************************
|
||||
// Datenbankverbindungen zu Classen
|
||||
// ***********************************************************************************************
|
||||
|
||||
if (!$le_obj = new lehreinheit())
|
||||
die('Fehler beim Oeffnen der Lehreinheit');
|
||||
|
||||
if (!$legrp_obj = new lehreinheitgruppe())
|
||||
die('Fehler beim Oeffnen der Lehreinheitgruppe');
|
||||
|
||||
if (!$lv_obj = new lehrveranstaltung())
|
||||
die('Fehler beim Oeffnen der Lehrveranstaltung');
|
||||
|
||||
if (!$stg_obj = new studiengang())
|
||||
die('Fehler beim Oeffnen der Studiengänge');
|
||||
|
||||
if (!$stsem = new studiensemester())
|
||||
die('Fehler beim Oeffnen der Studiensemester');
|
||||
// @$studiensemester_kurzbz Studiensemester xxJJJJ - xx fuer SS Sommer oder WW Winter
|
||||
if (!$stsem_aktuell = $stsem->getakt())
|
||||
$stsem_aktuell = $stsem->getaktorNext();
|
||||
|
||||
|
||||
##echo "<hr> GET <br> ";
|
||||
#var_dump($_GET);
|
||||
#echo "<hr> POST <br> ";
|
||||
#var_dump($_POST);
|
||||
|
||||
$errormsg=array();
|
||||
$error=0;
|
||||
|
||||
$user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('admin'))
|
||||
die('Sie haben keine Rechte für diese Seite');
|
||||
|
||||
// @studiensemester_kurzbz Studiensemester WSxxxx SSxxxx
|
||||
$studiensemester_kurzbz=(isset($_GET['studiensemester_kurzbz'])?trim($_GET['studiensemester_kurzbz']):$stsem_aktuell);
|
||||
// $lehrveranstaltung_id Lehrveranstaltung zur Lehreinheit
|
||||
$lehrveranstaltung_id=(isset($_GET['lvid'])?trim($_GET['lvid']):(isset($_GET['lehrveranstaltung_id'])?trim($_GET['lehrveranstaltung_id']):''));
|
||||
// @$studiengang_kz Studiengang
|
||||
$studiengang_kz=(isset($_GET['studiengang_kz'])?trim($_GET['studiengang_kz']):227);
|
||||
// @$semester Semester des Studienganges
|
||||
$semester=(isset($_GET['semester'])?trim($_GET['semester']):1);
|
||||
// @$lehreinheit_id Lehreinheit
|
||||
$lehreinheit_id=(isset($_GET['leid'])?trim($_GET['leid']):(isset($_GET['lehreinheit_id'])?trim($_GET['lehreinheit_id']):''));
|
||||
|
||||
|
||||
$uebung_id_source=(isset($_GET['uebung_id_source'])?$_GET['uebung_id_source']:(isset($_GET['uebung_id'])?trim($_GET['uebung_id']):''));
|
||||
|
||||
// ------------- Target
|
||||
// @studiensemester_kurzbz Studiensemester WSxxxx SSxxxx
|
||||
$studiensemester_kurzbz_target=(isset($_GET['studiensemester_kurzbz_target'])?trim($_GET['studiensemester_kurzbz_target']):$stsem_aktuell);
|
||||
// $lehrveranstaltung_id Lehrveranstaltung zur Lehreinheit
|
||||
$lehrveranstaltung_id_target=(isset($_GET['lvid_target'])?trim($_GET['lvid_target']):(isset($_GET['lehrveranstaltung_id_target'])?trim($_GET['lehrveranstaltung_id_target']):''));
|
||||
// @$studiengang_kz Studiengang
|
||||
$studiengang_kz_target=(isset($_GET['studiengang_kz_target'])?trim($_GET['studiengang_kz_target']):227);
|
||||
// @$semester Semester des Studienganges
|
||||
$semester_target=(isset($_GET['semester_target'])?trim($_GET['semester_target']):$semester);
|
||||
// @$lehreinheit_id_target Lehreinheit
|
||||
$lehreinheit_id_target=(isset($_GET['lehreinheit_id_target'])?trim($_GET['lehreinheit_id_target']):'');
|
||||
// @$lehreinheit_id_sel Lehreinheit
|
||||
$lehreinheit_id_sel=(isset($_GET['lehreinheit_id_sel'])?trim($_GET['lehreinheit_id_sel']):'');
|
||||
// @$lehreinheit_id_sel Lehreinheit
|
||||
$uebung_id_sel=(isset($_GET['uebung_id_sel'])?trim($_GET['uebung_id_sel']):'');
|
||||
|
||||
if ($uebung_id_sel!='' && !is_array($uebung_id_sel))
|
||||
$uebung_id_sel=array($uebung_id_sel);
|
||||
|
||||
if ($uebung_id_source!='' && !is_array($uebung_id_source))
|
||||
$uebung_id_source=array($uebung_id_source);
|
||||
|
||||
#var_dump($uebung_id_source);
|
||||
|
||||
if (!empty($lehreinheit_id_sel))
|
||||
{
|
||||
|
||||
|
||||
if ($le_obj->load($lehreinheit_id_sel))
|
||||
{
|
||||
$studiensemester_kurzbz=$le_obj->studiensemester_kurzbz;
|
||||
$lehrveranstaltung_id=$le_obj->lehrveranstaltung_id;
|
||||
$lehreinheit_id=$lehreinheit_id_sel;
|
||||
if ($lv_obj->load($lehrveranstaltung_id))
|
||||
{
|
||||
$studiengang_kz=$lv_obj->studiengang_kz;
|
||||
$semester=$lv_obj->semester;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg[]='Lehrveranstaltung '.$lehrveranstaltung_id.' wurden nicht gefunden! '.$lv_obj->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg[]='Lehreinheit '.$lehreinheit_id_sel.' wurden nicht gefunden! '.$le_obj->errormsg;
|
||||
}
|
||||
}
|
||||
else if(!isset($_GET['kopieren']) && $uebung_id_source=='' && $uebung_id_sel!='' )
|
||||
{
|
||||
#var_dump($uebung_id_sel);
|
||||
$uebung_id_source=$uebung_id_sel;
|
||||
}
|
||||
|
||||
#var_dump($uebung_id_source);
|
||||
|
||||
// Es wurde nur eine Uebungsid uebergeben, und noch keine Aktion gedrueckt
|
||||
if(!isset($_GET['kopieren']) && $uebung_id_source!='')
|
||||
{
|
||||
if (!is_array($uebung_id_source) && !empty($uebung_id_source))
|
||||
$uebung_id_source=array($uebung_id_source);
|
||||
|
||||
$ueb_0 = new uebung($uebung_id_source[0]);
|
||||
#var_dump($ueb_0);
|
||||
if ($lehreinheit_id=$ueb_0->lehreinheit_id)
|
||||
{
|
||||
if ($le_obj->load($lehreinheit_id))
|
||||
{
|
||||
$lehrveranstaltung_id = $le_obj->lehrveranstaltung_id;
|
||||
$studiensemester_kurzbz = $le_obj->studiensemester_kurzbz;
|
||||
// @$lehrveranstaltung_id Lehrveranstaltung
|
||||
if ($lehrveranstaltung_id)
|
||||
{
|
||||
if ($lv_obj->load($lehrveranstaltung_id))
|
||||
{
|
||||
$studiengang_kz = $lv_obj->studiengang_kz;
|
||||
$semester = $lv_obj->semester;
|
||||
}
|
||||
else
|
||||
{
|
||||
$bAnzeige=false;
|
||||
$errormsg[]='Lehrveranstaltung wurde nicht gefunden '.addslashes($lehreinheit_id).' '.$lv_obj->errormsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$bAnzeige=false;
|
||||
$errormsg[]='Lehreinheit wurde nicht gefunden '.addslashes($lehreinheit_id).' '.$le_obj->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg[]='Übung wurde nicht gefunden '.addslashes($uebung_id_source).' '.$ueb_0->errormsg;
|
||||
}
|
||||
}
|
||||
|
||||
// Aktion wurde gedruckt
|
||||
if(isset($_GET['kopieren']))
|
||||
{
|
||||
if (!is_array($uebung_id_source) && !empty($uebung_id_source) )
|
||||
$uebung_id_source=array($uebung_id_source);
|
||||
if (!is_array($uebung_id_source) || count($uebung_id_source)<1 )
|
||||
{
|
||||
$error=true;
|
||||
$errormsg[]="<span class='error'>Übung muss ausgewählt sein!</span>";
|
||||
}
|
||||
|
||||
if (!is_numeric($lehreinheit_id_target))
|
||||
{
|
||||
$error=true;
|
||||
$errormsg[]="<span class='error'>Lehreinheit muss ausgewählt sein!</span>";
|
||||
}
|
||||
|
||||
if (!$error)
|
||||
{
|
||||
$db->db_query('BEGIN;');
|
||||
|
||||
reset($uebung_id_source);
|
||||
foreach ($uebung_id_source as $ueb)
|
||||
{
|
||||
$copy_insert = 0;
|
||||
$copy_update = 0;
|
||||
$copy_insert_bsp = 0;
|
||||
$copy_update_bsp = 0;
|
||||
$error=false;
|
||||
|
||||
|
||||
$ueb_1 = new uebung($ueb);
|
||||
$lehreinheit_id_unterord=$ueb_1->lehreinheit_id;
|
||||
$nummer_source = $ueb_1->nummer;
|
||||
$qry = "SELECT * from campus.tbl_uebung where nummer = ".myaddslashes($nummer_source)." and lehreinheit_id = ".myaddslashes($lehreinheit_id_target).";";
|
||||
//echo $qry;
|
||||
if($result1 = $db->db_query($qry))
|
||||
{
|
||||
if ($db->db_num_rows($result1) >0)
|
||||
{
|
||||
$row1 = $db->db_fetch_object($result1);
|
||||
$ueb_1_target =new uebung($row1->uebung_id);
|
||||
$ueb_1_target->new = false;
|
||||
$new = null;
|
||||
$ueb_1_target->insertamum = null;
|
||||
$ueb_1_target->insertvon = null;
|
||||
$ueb_1_target->updateamum = date('Y-m-d H:i:s');
|
||||
$ueb_1_target->updatevon = $user;
|
||||
$copy_update++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ueb_1_target =new uebung();
|
||||
$ueb_1_target->new = true;
|
||||
$new = true;
|
||||
$ueb_1_target->insertamum = date('Y-m-d H:i:s');
|
||||
$ueb_1_target->insertvon = $user;
|
||||
$ueb_1_target->updateamum = null;
|
||||
$ueb_1_target->updatevon = null;
|
||||
$copy_insert++;
|
||||
}
|
||||
$ueb_1_target->gewicht = $ueb_1->gewicht;
|
||||
$ueb_1_target->punkte = null;
|
||||
$ueb_1_target->angabedatei=null;
|
||||
$ueb_1_target->freigabevon = null;
|
||||
$ueb_1_target->freigabebis = null;
|
||||
$ueb_1_target->abgabe = false;
|
||||
$ueb_1_target->beispiele = false;
|
||||
$ueb_1_target->statistik = false;
|
||||
$ueb_1_target->maxstd = null;
|
||||
$ueb_1_target->maxbsp=null;
|
||||
$ueb_1_target->liste_id=null;
|
||||
$ueb_1_target->bezeichnung = $ueb_1->bezeichnung;
|
||||
$ueb_1_target->positiv = $ueb_1->positiv;
|
||||
$ueb_1_target->defaultbemerkung = $ueb_1->defaultbemerkung;
|
||||
$ueb_1_target->lehreinheit_id = $lehreinheit_id_target;
|
||||
$ueb_1_target->nummer = $nummer_source;
|
||||
|
||||
if (!$ueb_1_target->save($new))
|
||||
{
|
||||
$error = 1;
|
||||
$errormsg[]="<span class='error'>Hauptübung konnte nicht kopiert werden!</span>";
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
// Subübungen durchlaufen
|
||||
$ueb_2 = new uebung();
|
||||
$ueb_2->load_uebung($lehreinheit_id_unterord,2,$ueb);
|
||||
|
||||
$ueb_2anzahl = count($ueb_2->uebungen);
|
||||
if ($ueb_2anzahl >0)
|
||||
{
|
||||
foreach ($ueb_2->uebungen as $subrow)
|
||||
{
|
||||
|
||||
$nummer_source2 = $subrow->nummer;
|
||||
$qry2 = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source2."' and lehreinheit_id = '".$lehreinheit_id_target."'";
|
||||
$result2 = $db->db_query($qry2);
|
||||
if ($db->db_num_rows($result2) >0)
|
||||
{
|
||||
$row2 = $db->db_fetch_object($result2);
|
||||
$ueb_2_target =new uebung($row2->uebung_id);
|
||||
$ueb_2_target->new = false;
|
||||
$new = null;
|
||||
$ueb_2_target->insertamum = null;
|
||||
$ueb_2_target->insertvon = null;
|
||||
$ueb_2_target->updateamum = date('Y-m-d H:i:s');
|
||||
$ueb_2_target->updatevon = $user;
|
||||
$copy_update++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ueb_2_target =new uebung();
|
||||
$ueb_2_target->new = true;
|
||||
$new = true;
|
||||
$ueb_2_target->insertamum = date('Y-m-d H:i:s');
|
||||
$ueb_2_target->insertvon = $user;
|
||||
$ueb_2_target->updateamum = null;
|
||||
$ueb_2_target->updatevon = null;
|
||||
$copy_insert++;
|
||||
}
|
||||
$ueb_2_target->gewicht = $subrow->gewicht;
|
||||
$ueb_2_target->punkte = $subrow->punkte;
|
||||
$ueb_2_target->angabedatei=null;
|
||||
$ueb_2_target->freigabevon = $subrow->freigabevon;
|
||||
$ueb_2_target->freigabebis = $subrow->freigabebis;
|
||||
$ueb_2_target->abgabe = $subrow->abgabe;
|
||||
$ueb_2_target->beispiele = $subrow->beispiele;
|
||||
$ueb_2_target->statistik = $subrow->statistik;
|
||||
$ueb_2_target->maxstd = $subrow->maxstd;
|
||||
$ueb_2_target->maxbsp=$subrow->maxbsp;
|
||||
$ueb_2_target->liste_id=$ueb_1_target->uebung_id;
|
||||
$ueb_2_target->bezeichnung = $subrow->bezeichnung;
|
||||
$ueb_2_target->positiv = $subrow->positiv;
|
||||
$ueb_2_target->defaultbemerkung = $subrow->defaultbemerkung;
|
||||
$ueb_2_target->lehreinheit_id = $lehreinheit_id_target;
|
||||
$ueb_2_target->nummer = $nummer_source2;
|
||||
|
||||
if (!$ueb_2_target->save($new))
|
||||
{
|
||||
$error = 1;
|
||||
$errormsg[]="<span class='error'>Übung konnte nicht kopiert werden!</span>";
|
||||
}
|
||||
|
||||
//angabedatei syncen
|
||||
if (($error == 0) and $subrow->angabedatei != "")
|
||||
{
|
||||
$angabedatei_source = $subrow->angabedatei;
|
||||
$angabedatei_target = makeUploadName($db,'angabe', $lehreinheit_id_target, $ueb_2_target->uebung_id, $stsem);
|
||||
$angabedatei_target .= ".".mb_substr($angabedatei_source, mb_strrpos($angabedatei_source, '.',0) + 1);
|
||||
echo $angabedatei_source."->".$angabedatei_target."<br>";
|
||||
exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target);
|
||||
$angabeupdate = "update campus.tbl_uebung set angabedatei = '".$angabedatei_target."' where uebung_id = '".$ueb_2_target->uebung_id."'";
|
||||
$db->db_query($angabeupdate);
|
||||
}
|
||||
|
||||
if (($error == 0) and $ueb_2_target->beispiele)
|
||||
{
|
||||
// beispiele synchronisieren
|
||||
$bsp_obj = new beispiel();
|
||||
$bsp_obj->load_beispiel($subrow->uebung_id);
|
||||
foreach ($bsp_obj->beispiele as $bsp)
|
||||
{
|
||||
$nummer_source_bsp = $bsp->nummer;
|
||||
$qrybsp = "SELECT * from campus.tbl_beispiel where nummer = '".$nummer_source_bsp."' and uebung_id = '".$ueb_2_target->uebung_id."'";
|
||||
$resultbsp = $db->db_query($qrybsp);
|
||||
|
||||
if ($db->db_num_rows($resultbsp) >0)
|
||||
{
|
||||
$rowbsp = $db->db_fetch_object($resultbsp);
|
||||
$bsp_target =new beispiel($rowbsp->beispiel_id);
|
||||
$bsp_target->new = false;
|
||||
$new = null;
|
||||
$bsp_target->insertamum = null;
|
||||
$bsp_target->insertvon = null;
|
||||
$bsp_target->updateamum = date('Y-m-d H:i:s');
|
||||
$bsp_target->updatevon = $user;
|
||||
$copy_update_bsp++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$bsp_target =new beispiel();
|
||||
$bsp_target->new = true;
|
||||
$new = true;
|
||||
$bsp_target->insertamum = date('Y-m-d H:i:s');
|
||||
$bsp_target->insertvon = $user;
|
||||
$bsp_target->updateamum = null;
|
||||
$bsp_target->updatevon = null;
|
||||
$copy_insert_bsp++;
|
||||
}
|
||||
$bsp_target->uebung_id = $ueb_2_target->uebung_id;
|
||||
$bsp_target->nummer = $nummer_source_bsp;
|
||||
$bsp_target->bezeichnung = $bsp->bezeichnung;
|
||||
$bsp_target->punkte = $bsp->punkte;
|
||||
|
||||
if (!$bsp_target->save($new))
|
||||
{
|
||||
$error = 1;
|
||||
$errormsg[]="<span class='error'>Beispiele konnten nicht angelegt werden</span>";
|
||||
}
|
||||
|
||||
//Notenschlüssel synchronisieren
|
||||
$clear = "delete from campus.tbl_notenschluesseluebung where uebung_id = '".$ueb_1_target->uebung_id."'";
|
||||
$db->db_query($clear);
|
||||
|
||||
$qry_ns_source = "SELECT * from campus.tbl_notenschluesseluebung where uebung_id = '".$ueb."'";
|
||||
$result_ns_source = $db->db_query($qry_ns_source);
|
||||
while($row_ns = $db->db_fetch_object($result_ns_source))
|
||||
{
|
||||
$ns_insert = "INSERT INTO campus.tbl_notenschluesseluebung values ('".$ueb_1_target->uebung_id."','".$row_ns->note."', '".$row_ns->punkte."')";
|
||||
$db->db_query($ns_insert);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg[]="<span class='error'>Fehler beim Datenbankzugriff!</span>";
|
||||
}
|
||||
|
||||
if ($error == 0)
|
||||
{
|
||||
$errormsg[]="Übung ".$ueb." erfolgreich kopiert! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")";
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg[]="Übung ".$ueb." wurde nicht kopiert! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Nun alle An Felder - Lehreinheit zum Von kopieren (neue Anzeige)
|
||||
if ($error == 0)
|
||||
{
|
||||
$db->db_query('COMMIT');
|
||||
}
|
||||
else
|
||||
{
|
||||
$db->db_query('ROLLBACK');
|
||||
}
|
||||
$errormsg[]='<br><br><a href="'.$_SERVER['PHP_SELF'].'" class="Item">noch eine Übung kopieren</a>';
|
||||
}
|
||||
|
||||
|
||||
// ***********************************************************************************************
|
||||
// Datenbankfeld - Variable
|
||||
// ***********************************************************************************************
|
||||
function myaddslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
<title>Kreuzerltool - Copy </title>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
$cFormName='copy_uebung';
|
||||
|
||||
$content='';
|
||||
$content.='
|
||||
<h1>Kopieren von Übungen in eine andere Lehreinheit</h1>
|
||||
<form title="Script zum Kopieren einer Übung in eine beliebige Lehreinheit." accept-charset="UTF-8" name="'.$cFormName.'" method="GET" target="_self" action="'.$_SERVER['PHP_SELF'].'" >
|
||||
Direkt Eingabe : LE ID:<input name="lehreinheit_id_sel" onchange="document.'.$cFormName.'.studiengang_kz.selectedIndex = -1;document.'.$cFormName.'.semester.selectedIndex = -1;document.'.$cFormName.'.lehrveranstaltung_id.selectedIndex = -1;document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();"> ,
|
||||
Übung ID:<input name="uebung_id_sel" onchange="document.'.$cFormName.'.studiengang_kz.selectedIndex = -1;document.'.$cFormName.'.semester.selectedIndex = -1;document.'.$cFormName.'.lehrveranstaltung_id.selectedIndex = -1;document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();"> oder<br><br>
|
||||
|
||||
|
||||
<table class="liste">
|
||||
<tr>
|
||||
<th>Studiensem</th>
|
||||
<th>StgKz</th>
|
||||
<th>Sem</th>
|
||||
<th>Lehrveranstaltung</th>
|
||||
<th>Lehreinheiten</th>
|
||||
<th>ÜbungID die kopiert werden soll:</th>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
';
|
||||
//---------------------------------------------------------------------------
|
||||
// Auswahlfelder
|
||||
$content.='<tr>';
|
||||
|
||||
// Studiensemester public.tbl_studiensemester_kurzbz
|
||||
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.studiengang_kz.selectedIndex = -1;document.'.$cFormName.'.semester.selectedIndex = -1;document.'.$cFormName.'.lehrveranstaltung_id.selectedIndex = -1;document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();" name="studiensemester_kurzbz">';
|
||||
# $content.='<option value=""> Alle </option>';
|
||||
$stsem->studiensemester=array();
|
||||
if ($stsem->getAll())
|
||||
{
|
||||
foreach ($stsem->studiensemester as $row)
|
||||
{
|
||||
$content.='<option value="'.$row->studiensemester_kurzbz.'" '.(("$studiensemester_kurzbz"=="$row->studiensemester_kurzbz")?' selected="selected" ':'').'> '.$row->studiensemester_kurzbz.' </option>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg[]='Studiensemester wurden nicht gefunden! '.$stsem->errormsg;
|
||||
}
|
||||
$content.='</select></td>';
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Studiengang public.tbl_studiengang_kz
|
||||
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.semester.selectedIndex = -1;document.'.$cFormName.'.lehrveranstaltung_id.selectedIndex = -1;document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();" name="studiengang_kz">';
|
||||
# $content.='<option value="" '.(empty($studiengang_kz)?' selected="selected" ':'').'> Alle </option>';
|
||||
$stsem->result=array();
|
||||
if ($stg_obj->getAll('typ, kurzbz',true))
|
||||
{
|
||||
$max_semester=0;
|
||||
$arrStudiengang='';
|
||||
foreach ($stg_obj->result as $row)
|
||||
{
|
||||
if (empty($studiengang_kz) && !isset($_REQUEST['studiengang_kz']) )
|
||||
{
|
||||
$studiengang_kz=$row->studiengang_kz;
|
||||
$semester=1;
|
||||
}
|
||||
if ($studiengang_kz==$row->studiengang_kz)
|
||||
{
|
||||
$arrStudiengang=$row;
|
||||
$max_semester=$row->max_semester;
|
||||
}
|
||||
$content.='<option value="'.$row->studiengang_kz.'" '.(("$studiengang_kz"=="$row->studiengang_kz")?' selected="selected" ':'').'> '.$row->kuerzel.' ('.$row->kurzbzlang.') </option>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$content.='<option value="" '.(empty($studiengang_kz)?' selected="selected" ':'').'> '.$stg_obj->errormsg.' </option>';
|
||||
$errormsg[]='Studiengänge wurden nicht gefunden! '.$stg_obj->errormsg;
|
||||
}
|
||||
$content.='</select></td>';
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs
|
||||
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.lehrveranstaltung_id.selectedIndex = -1;document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();" name="semester">';
|
||||
# $content.='<option value="" '.(empty($semester)?' selected="selected" ':'').'> Alle </option>';
|
||||
if ($studiengang_kz!='')
|
||||
{
|
||||
for($i=0;$i<=$max_semester;$i++)
|
||||
{
|
||||
$content.='<option value="'.($i).'" '.(("$semester"=="$i")?' selected="selected" ':'').'> '.($i).' </option>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for($i=0;$i<=9;$i++)
|
||||
{
|
||||
$content.='<option value="'.($i).'" '.(("$semester"=="$i")?' selected="selected" ':'').'> '.($i).' </option>';
|
||||
}
|
||||
}
|
||||
$content.='</select></td>';
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Lehrveranstaltungen
|
||||
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.lehreinheit_id.selectedIndex = -1;document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();" name="lehrveranstaltung_id">';
|
||||
# $content.='<option value="" '.(empty($lehrveranstaltung_id)?' selected="selected" ':'').'> Alle </option>';
|
||||
$lv_obj->lehrveranstaltungen=array();
|
||||
if (!empty($studiengang_kz))
|
||||
{
|
||||
if ($lv_obj->load_lva_le($studiengang_kz, $studiensemester_kurzbz, $semester,null,null,null,'bezeichnung'))
|
||||
{
|
||||
foreach ($lv_obj->lehrveranstaltungen as $row)
|
||||
{
|
||||
if (empty($lehrveranstaltung_id))
|
||||
$lehrveranstaltung_id=$row->lehrveranstaltung_id;
|
||||
$content.='<option value="'.$row->lehrveranstaltung_id.'" '.(("$lehrveranstaltung_id"=="$row->lehrveranstaltung_id")?' selected="selected" ':'').'> '.CutString($row->bezeichnung, 30, '...').' '.$row->lehrform_kurzbz.' ('.$row->lehrveranstaltung_id.')</option>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$content.='<option value="" '.(empty($studiengang_kz)?' selected="selected" ':'').'> '.$stg_obj->errormsg.' </option>';
|
||||
$errormsg[]='Lehrveranstaltungen wurden nicht gefunden! '.$lv_obj->errormsg;
|
||||
}
|
||||
}
|
||||
$content.='</select>
|
||||
</td>';
|
||||
//---------------------------------------------------------------------------
|
||||
// Lehreinheit
|
||||
$content.='<td valign="top"><select onchange="document.'.$cFormName.'[7].selectedIndex = -1;document.'.$cFormName.'.submit();" name="lehreinheit_id">';
|
||||
# $content.='<option value="" '.(empty($lehreinheit_id)?' selected="selected" ':'').'> Alle </option>';
|
||||
$le_obj->lehreinheiten=array();
|
||||
if (!empty($lehrveranstaltung_id))
|
||||
{
|
||||
$le_obj->load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz);
|
||||
foreach ($le_obj->lehreinheiten as $row)
|
||||
{
|
||||
if (empty($lehreinheit_id))
|
||||
$lehreinheit_id=$row->lehreinheit_id;
|
||||
|
||||
//Gruppen laden
|
||||
$gruppen = '';
|
||||
if (!$legrp_obj = new lehreinheitgruppe())
|
||||
die('Fehler beim Oeffnen der Lehreinheitgruppe');
|
||||
|
||||
if ($legrp_obj->getLehreinheitgruppe($row->lehreinheit_id))
|
||||
{
|
||||
foreach ($legrp_obj->lehreinheitgruppe as $grp)
|
||||
{
|
||||
if($grp->gruppe_kurzbz=='')
|
||||
$gruppen.=' '.$grp->semester.$grp->verband.$grp->gruppe;
|
||||
else
|
||||
$gruppen.=' '.$grp->gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
//Lektoren laden
|
||||
$lektoren='';
|
||||
$lehreinheitmitarbeiter = new lehreinheitmitarbeiter();
|
||||
$lehreinheitmitarbeiter->getLehreinheitmitarbeiter($row->lehreinheit_id);
|
||||
foreach ($lehreinheitmitarbeiter->lehreinheitmitarbeiter as $ma)
|
||||
{
|
||||
$lektoren.= ($lektoren?',':'').' '.$ma->mitarbeiter_uid;
|
||||
}
|
||||
$lektoren=CutString($lektoren, 30, '...');
|
||||
$content.='<option value="'.$row->lehreinheit_id.'" '.($lehreinheit_id==$row->lehreinheit_id?' selected="selected" ':'').'> '.$row->lehrform_kurzbz.' '.$gruppen.' '.$lektoren.' ('.$row->lehreinheit_id.')</option>';
|
||||
}
|
||||
}
|
||||
$content.='</select></td>';
|
||||
|
||||
#var_dump($uebung_id_source);
|
||||
|
||||
$submitOK=false;
|
||||
if (!$ueb = new uebung())
|
||||
{
|
||||
die('Fehler beim Oeffnen der Übungen');
|
||||
}
|
||||
else
|
||||
{
|
||||
$ueb->uebungen=array();
|
||||
$ueb->errormsg ='';
|
||||
if (!$lehreinheit_ueb=$ueb->load_uebung($lehreinheit_id))
|
||||
{
|
||||
$errormsg[]=$ueb->errormsg;
|
||||
}
|
||||
}
|
||||
|
||||
$content.='<td valign="top"><select multiple size="'.count($ueb->uebungen).'" name="uebung_id_source[]">';
|
||||
if (is_array($ueb->uebungen) && count($ueb->uebungen)>0)
|
||||
{
|
||||
foreach ($ueb->uebungen as $row)
|
||||
{
|
||||
if (!is_array($uebung_id_source) && !empty($uebung_id_source) )
|
||||
$uebung_id_source=array($uebung_id_source);
|
||||
$selected='';
|
||||
if (is_array($uebung_id_source) && count($uebung_id_source)>0 )
|
||||
{
|
||||
reset($uebung_id_source);
|
||||
foreach ($uebung_id_source as $ueb)
|
||||
{
|
||||
if ($row->uebung_id==$ueb)
|
||||
$selected=' selected="selected" ';
|
||||
}
|
||||
}
|
||||
$submitOK=true;
|
||||
$content.='<option value="'.$row->uebung_id.'" '.$selected.'> '.$row->bezeichnung.' ('.$row->uebung_id.')</option>';
|
||||
}
|
||||
}
|
||||
if (!$submitOK)
|
||||
$content.='<option value=""> <span class="error">keine Übung zur LE</span></option>';
|
||||
$content.='</select></td>';
|
||||
|
||||
$content.='
|
||||
</tr>
|
||||
<tr><td colspan="6"><hr></td></tr>
|
||||
';
|
||||
|
||||
if ($submitOK)
|
||||
$content.='<tr><th colspan="5">Lehreinheit ID in welche diese Übung kopiert werden soll</th><td><input type="submit" value="Kopieren" name="kopieren"></td></tr>';
|
||||
else
|
||||
$content.='<tr><th colspan="6">Lehreinheit ID in welche diese Übung kopiert werden soll</th></tr>';
|
||||
|
||||
$content.='
|
||||
<tr><td colspan="6"> </td></tr>
|
||||
';
|
||||
|
||||
$content.='
|
||||
<tr>
|
||||
';
|
||||
|
||||
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.semester_target.value=\'\';document.'.$cFormName.'.lehrveranstaltung_id_target.value=\'\';document.'.$cFormName.'.lehreinheit_id_target.value=\'\';document.'.$cFormName.'.submit();" name="studiensemester_kurzbz_target">';
|
||||
# $content.='<option value=""> Alle </option>';
|
||||
$stsem->studiensemester=array();
|
||||
if ($stsem->getAll())
|
||||
{
|
||||
foreach ($stsem->studiensemester as $row)
|
||||
{
|
||||
$content.='<option value="'.$row->studiensemester_kurzbz.'" '.(("$studiensemester_kurzbz_target"=="$row->studiensemester_kurzbz")?' selected="selected" ':'').'> '.$row->studiensemester_kurzbz.' </option>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg[]='Studiensemester wurden nicht gefunden! '.$stsem->errormsg;
|
||||
}
|
||||
$content.='</select></td>';
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Studiengang public.tbl_studiengang_kz
|
||||
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.semester_target.value=\'\';document.'.$cFormName.'.lehrveranstaltung_id_target.value=\'\';document.'.$cFormName.'.lehreinheit_id_target.value=\'\';document.'.$cFormName.'.submit();" name="studiengang_kz_target">';
|
||||
# $content.='<option value="" '.(empty($studiengang_kz)?' selected="selected" ':'').'> Alle </option>';
|
||||
$stsem->result=array();
|
||||
if ($stg_obj->getAll('typ, kurzbz',true))
|
||||
{
|
||||
$max_semester=0;
|
||||
$arrStudiengang='';
|
||||
foreach ($stg_obj->result as $row)
|
||||
{
|
||||
if (empty($studiengang_kz_target) && !isset($_REQUEST['studiengang_kz_target']) )
|
||||
{
|
||||
$studiengang_kz_target=$row->studiengang_kz;
|
||||
$semester_target=1;
|
||||
}
|
||||
if ($studiengang_kz_target==$row->studiengang_kz)
|
||||
{
|
||||
$arrStudiengang=$row;
|
||||
$max_semester=$row->max_semester;
|
||||
}
|
||||
$content.='<option value="'.$row->studiengang_kz.'" '.(("$studiengang_kz_target"=="$row->studiengang_kz")?' selected="selected" ':'').'> '.$row->kuerzel.' ('.$row->kurzbzlang.') </option>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$content.='<option value="" '.(empty($studiengang_kz_target)?' selected="selected" ':'').'> '.$stg_obj->errormsg.' </option>';
|
||||
$errormsg[]='Studiengänge wurden nicht gefunden! '.$stg_obj->errormsg;
|
||||
}
|
||||
$content.='</select></td>';
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs
|
||||
// document.'.$cFormName.'.uebung_id_source_target.value=\'\';
|
||||
// $content.='<td valign="top"><select onchange="document.'.$cFormName.'.lehrveranstaltung_id_target.value=\'\';document.'.$cFormName.'.lehreinheit_id_target.value=\'\';document.'.$cFormName.'.submit();" name="semester_target">';
|
||||
# $content.='<option value="" '.(empty($semester)?' selected="selected" ':'').'> Alle </option>';
|
||||
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.lehrveranstaltung_id_target.value=\'\';document.'.$cFormName.'.lehreinheit_id_target.value=\'\';document.'.$cFormName.'.submit();" name="semester_target">';
|
||||
if ($studiengang_kz_target!='')
|
||||
{
|
||||
for($i=0;$i<=$max_semester;$i++)
|
||||
{
|
||||
$content.='<option value="'.($i).'" '.(("$semester_target"=="$i")?' selected="selected" ':'').'> '.($i).' </option>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for($i=0;$i<=9;$i++)
|
||||
{
|
||||
$content.='<option value="'.($i).'" '.(("$semester_target"=="$i")?' selected="selected" ':'').'> '.($i).' </option>';
|
||||
}
|
||||
}
|
||||
$content.='</select></td>';
|
||||
|
||||
|
||||
##echo "<br> $studiengang_kz_target, $studiensemester_kurzbz_target, $semester_target , $lehrveranstaltung_id_target <br>";
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Lehrveranstaltungen
|
||||
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.lehreinheit_id_target.value=\'\';document.'.$cFormName.'.submit();" name="lehrveranstaltung_id_target">';
|
||||
# $content.='<option value="" '.(empty($lehrveranstaltung_id)?' selected="selected" ':'').'> Alle </option>';
|
||||
$lv_obj->lehrveranstaltungen=array();
|
||||
if (!empty($studiengang_kz))
|
||||
{
|
||||
if ($lv_obj->load_lva_le($studiengang_kz_target, $studiensemester_kurzbz_target, $semester_target,null,null,null,'bezeichnung'))
|
||||
{
|
||||
foreach ($lv_obj->lehrveranstaltungen as $row)
|
||||
{
|
||||
if (empty($lehrveranstaltung_id_target))
|
||||
$lehrveranstaltung_id_target=$row->lehrveranstaltung_id;
|
||||
$content.='<option value="'.$row->lehrveranstaltung_id.'" '.(("$lehrveranstaltung_id_target"=="$row->lehrveranstaltung_id")?' selected="selected" ':'').'> '.CutString($row->bezeichnung, 30, '...').' '.$row->lehrform_kurzbz.' ('.$row->lehrveranstaltung_id.')</option>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$content.='<option value="" '.(empty($studiengang_kz_target)?' selected="selected" ':'').'> '.$stg_obj->errormsg.' </option>';
|
||||
$errormsg[]='Lehrveranstaltungen wurden nicht gefunden! '.$lv_obj->errormsg;
|
||||
}
|
||||
}
|
||||
$content.='</select>
|
||||
</td>';
|
||||
|
||||
#echo "<br> $studiengang_kz_target, $studiensemester_kurzbz_target, $semester_target , $lehrveranstaltung_id_target <br>";
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Lehreinheit
|
||||
|
||||
|
||||
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.submit();" name="lehreinheit_id_target">';
|
||||
# $content.='<option value="" '.(empty($lehreinheit_id)?' selected="selected" ':'').'> Alle </option>';
|
||||
$le_obj->lehreinheiten=array();
|
||||
if (!empty($lehrveranstaltung_id_target))
|
||||
{
|
||||
$le_obj->load_lehreinheiten($lehrveranstaltung_id_target, $studiensemester_kurzbz_target);
|
||||
foreach ($le_obj->lehreinheiten as $row)
|
||||
{
|
||||
//Gruppen laden
|
||||
$gruppen = '';
|
||||
if (!$legrp_obj = new lehreinheitgruppe())
|
||||
die('Fehler beim Oeffnen der Lehreinheitgruppe');
|
||||
|
||||
if ($legrp_obj->getLehreinheitgruppe($row->lehreinheit_id))
|
||||
{
|
||||
foreach ($legrp_obj->lehreinheitgruppe as $grp)
|
||||
{
|
||||
if($grp->gruppe_kurzbz=='')
|
||||
$gruppen.=' '.$grp->semester.$grp->verband.$grp->gruppe;
|
||||
else
|
||||
$gruppen.=' '.$grp->gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
//Lektoren laden
|
||||
$lektoren='';
|
||||
$lehreinheitmitarbeiter = new lehreinheitmitarbeiter();
|
||||
$lehreinheitmitarbeiter->getLehreinheitmitarbeiter($row->lehreinheit_id);
|
||||
foreach ($lehreinheitmitarbeiter->lehreinheitmitarbeiter as $ma)
|
||||
{
|
||||
$lektoren.= ($lektoren?',':'').' '.$ma->mitarbeiter_uid;
|
||||
}
|
||||
$lektoren=CutString($lektoren, 30, '...');
|
||||
$content.='<option value="'.$row->lehreinheit_id.'" '.($lehreinheit_id_target==$row->lehreinheit_id?' selected="selected" ':'').'> '.$row->lehrform_kurzbz.' '.$gruppen.' '.$lektoren.' ('.$row->lehreinheit_id.')</option>';
|
||||
}
|
||||
}
|
||||
$content.='</select></td>';
|
||||
|
||||
$content.='<td valign="top" align="right">';
|
||||
|
||||
|
||||
#echo "<br> $studiengang_kz_target, $studiensemester_kurzbz_target, $semester_target , $lehrveranstaltung_id_target <br>";
|
||||
|
||||
if (!$ueb = new uebung())
|
||||
{
|
||||
die('Fehler beim Oeffnen der Übungen');
|
||||
}
|
||||
else if (!empty($lehreinheit_id_target))
|
||||
{
|
||||
$ueb->uebungen=array();
|
||||
$ueb->errormsg ='';
|
||||
if (!$lehreinheit_ueb=$ueb->load_uebung($lehreinheit_id_target))
|
||||
{
|
||||
$errormsg[]=$ueb->errormsg;
|
||||
}
|
||||
else if (count($ueb->uebungen))
|
||||
{
|
||||
$content.='<select disabled multiple size="'.count($ueb->uebungen) .'">';
|
||||
foreach ($ueb->uebungen as $row)
|
||||
{
|
||||
$submitOK=true;
|
||||
if (!is_array($uebung_id_source) && !empty($uebung_id_source) )
|
||||
$uebung_id_source=array($uebung_id_source);
|
||||
$selected='';
|
||||
$content.='<option value="'.$row->uebung_id.'" '.$selected.'> '.$row->bezeichnung.' ('.$row->uebung_id.')</option>';
|
||||
}
|
||||
$content.='</select>';
|
||||
}
|
||||
else if (!empty($lehreinheit_id_target))
|
||||
{
|
||||
$content.='<span class="error">keine Übungen vorhanden</span>';
|
||||
}
|
||||
}
|
||||
$content.='</td>';
|
||||
$content.='</tr>';
|
||||
$content.='</table>';
|
||||
|
||||
$content.='</form><hr>'.implode('<br>',$errormsg);
|
||||
|
||||
print_r($content);
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,31 +0,0 @@
|
||||
<?php
|
||||
|
||||
//Filenamen für up-/downloads bauen
|
||||
// which kann sein angabe, abgabe oder zip
|
||||
function makeUploadName($db, $which, $lehreinheit_id=null, $uebung_id=null, $ss=null, $uid=null, $date=null)
|
||||
{
|
||||
$query = "SELECT tbl_studiengang.kurzbzlang, lehrfach.semester, lehrfach.kurzbz from public.tbl_studiengang, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit where tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id and tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id and tbl_lehrveranstaltung.studiengang_kz = tbl_studiengang.studiengang_kz and tbl_lehreinheit.lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
|
||||
$result = $db->db_query($query);
|
||||
$row = $db->db_fetch_object($result);
|
||||
$name = $row->kurzbzlang."_".$row->semester."_".$row->kurzbz."_".$ss;
|
||||
|
||||
if ($which == "angabe")
|
||||
{
|
||||
$name .= "_".$uebung_id;
|
||||
}
|
||||
else if ($which == "abgabe")
|
||||
{
|
||||
$query = "SELECT nachname, vorname from tbl_person, tbl_benutzer where tbl_benutzer.person_id = tbl_person.person_id and tbl_benutzer.uid = ".$db->db_add_param($uid);
|
||||
$result = $db->db_query($query);
|
||||
$row = $db->db_fetch_object($result);
|
||||
$name .= "_".$uebung_id."_".$row->nachname."_".$row->vorname."_".$uid."_".$date;
|
||||
}
|
||||
else if ($which == "zip")
|
||||
{
|
||||
|
||||
$name .= "_".$uebung_id."_".$date;
|
||||
}
|
||||
$name = str_replace(":","-",$name);
|
||||
return $name;
|
||||
}
|
||||
?>
|
||||
@@ -1,129 +0,0 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
require_once('../../../../config/cis.config.inc.php');
|
||||
require_once('../../../../include/functions.inc.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/studiengang.class.php');
|
||||
require_once('../../../../include/studiensemester.class.php');
|
||||
require_once('../../../../include/lehreinheit.class.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/uebung.class.php');
|
||||
require_once('../../../../include/beispiel.class.php');
|
||||
require_once('../../../../include/studentnote.class.php');
|
||||
require_once('../../../../include/datum.class.php');
|
||||
require_once('../../../../include/legesamtnote.class.php');
|
||||
require_once('../../../../include/lvgesamtnote.class.php');
|
||||
require_once('../../../../include/zeugnisnote.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
if(!check_lektor($user))
|
||||
die('Sie haben keine Berechtigung fuer diesen Bereich');
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
|
||||
$lvid = $_GET['lvid'];
|
||||
else
|
||||
die('Fehlerhafte Parameteruebergabe');
|
||||
|
||||
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
|
||||
$lehreinheit_id = $_GET['lehreinheit_id'];
|
||||
else
|
||||
$lehreinheit_id = '';
|
||||
|
||||
//Laden der Lehrveranstaltung
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if(!$lv_obj->load($lvid))
|
||||
die($lv_obj->errormsg);
|
||||
|
||||
//Studiengang laden
|
||||
$stg_obj = new studiengang($lv_obj->studiengang_kz);
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
$stsem = '';
|
||||
|
||||
//Vars
|
||||
$datum_obj = new datum();
|
||||
|
||||
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
|
||||
$uid = (isset($_GET['uid'])?$_GET['uid']:'');
|
||||
|
||||
//Kopfzeile
|
||||
|
||||
|
||||
//Studiensemester laden
|
||||
$stsem_obj = new studiensemester();
|
||||
if($stsem=='')
|
||||
$stsem = $stsem_obj->getaktorNext();
|
||||
|
||||
|
||||
|
||||
|
||||
if($lehreinheit_id=='')
|
||||
die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden');
|
||||
|
||||
$note = $_REQUEST["note"];
|
||||
|
||||
// lvgesamtnote für studenten speichern
|
||||
|
||||
if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') && ((($note>0) && ($note < 6)) || ($note == 7) || ($note==8) || ($note==16)) ){
|
||||
|
||||
$jetzt = date("Y-m-d H:i:s");
|
||||
$student_uid = $_REQUEST["student_uid"];
|
||||
$legesamtnote = new legesamtnote($lehreinheit_id);
|
||||
if (!$legesamtnote->load($student_uid,$lehreinheit_id))
|
||||
{
|
||||
$legesamtnote->student_uid = $student_uid;
|
||||
$legesamtnote->lehreinheit_id = $lehreinheit_id;
|
||||
$legesamtnote->note = $_REQUEST["note"];
|
||||
$legesamtnote->benotungsdatum = $jetzt;
|
||||
$legesamtnote->updateamum = null;
|
||||
$legesamtnote->updatevon = null;
|
||||
$legesamtnote->insertamum = $jetzt;
|
||||
$legesamtnote->insertvon = $user;
|
||||
$legesamtnote->new = true;
|
||||
$response = "neu";
|
||||
}
|
||||
else
|
||||
{
|
||||
$legesamtnote->note = $_REQUEST["note"];
|
||||
$legesamtnote->benotungsdatum = $jetzt;
|
||||
$legesamtnote->updateamum = $jetzt;
|
||||
$legesamtnote->updatevon = $user;
|
||||
$legesamtnote->new = false;
|
||||
$response = "update";
|
||||
}
|
||||
if (!$legesamtnote->save())
|
||||
echo "<span class='error'>".$legesamtnote->errormsg."</span>";
|
||||
else
|
||||
echo $response;
|
||||
}
|
||||
else
|
||||
echo "Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!";
|
||||
|
||||
|
||||
?>
|
||||
@@ -1,488 +0,0 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl < [email protected] >
|
||||
* Gerald Simane-Sequens < [email protected] >
|
||||
*/
|
||||
require_once('../../../../config/cis.config.inc.php');
|
||||
require_once('../../../../include/functions.inc.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/studiengang.class.php');
|
||||
require_once('../../../../include/studiensemester.class.php');
|
||||
require_once('../../../../include/lehreinheit.class.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/uebung.class.php');
|
||||
require_once('../../../../include/beispiel.class.php');
|
||||
require_once('../../../../include/studentnote.class.php');
|
||||
require_once('../../../../include/datum.class.php');
|
||||
require_once('../../../../include/legesamtnote.class.php');
|
||||
require_once('../../../../include/phrasen.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
if (!$db = new basis_db())
|
||||
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
||||
|
||||
$user = get_uid();
|
||||
if(!check_lektor($user))
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
|
||||
$lvid = $_GET['lvid'];
|
||||
else
|
||||
die($p->t('global/fehlerBeiDerParameteruebergabe'));
|
||||
|
||||
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
|
||||
$lehreinheit_id = $_GET['lehreinheit_id'];
|
||||
else
|
||||
$lehreinheit_id = '';
|
||||
|
||||
//Laden der Lehrveranstaltung
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if(!$lv_obj->load($lvid))
|
||||
die($lv_obj->errormsg);
|
||||
|
||||
//Studiengang laden
|
||||
$stg_obj = new studiengang($lv_obj->studiengang_kz);
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
$stsem = '';
|
||||
|
||||
if($stsem!='' && !check_stsem($stsem))
|
||||
die($p->t('global/studiensemesterKonnteNichtGefundenWerden'));
|
||||
|
||||
//Vars
|
||||
$datum_obj = new datum();
|
||||
|
||||
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
|
||||
$uid = (isset($_GET['uid'])?$_GET['uid']:'');
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
<title>Kreuzerltool</title>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
<!--
|
||||
function MM_jumpMenu(targ, selObj, restore)
|
||||
{
|
||||
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
|
||||
|
||||
if(restore)
|
||||
{
|
||||
selObj.selectedIndex = 0;
|
||||
}
|
||||
}
|
||||
function confirmdelete()
|
||||
{
|
||||
return confirm('<?php echo $p->t('gesamtnote/wollenSieWirklichLoeschen');?>');
|
||||
}
|
||||
|
||||
|
||||
var anfrage = null;
|
||||
|
||||
function erzeugeAnfrage()
|
||||
{
|
||||
try
|
||||
{
|
||||
anfrage = new XMLHttpRequest();
|
||||
}
|
||||
catch (versuchmicrosoft)
|
||||
{
|
||||
try
|
||||
{
|
||||
anfrage = new ActiveXObject("Msxml12.XMLHTTP");
|
||||
}
|
||||
catch (anderesmicrosoft)
|
||||
{
|
||||
try
|
||||
{
|
||||
anfrage = new ActiveXObject("Microsoft.XMLHTTP");
|
||||
}
|
||||
catch (fehlschlag)
|
||||
{
|
||||
anfrage = null;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (anfrage == null)
|
||||
alert("Fehler beim Erstellen des Anfrageobjekts!");
|
||||
}
|
||||
|
||||
function saveLENote(uid)
|
||||
{
|
||||
note = document.getElementById(uid).note.value;
|
||||
if ((note < 0) || (note > 5 && note != 8 && note != 7 && note!=16))
|
||||
{
|
||||
alert("<?php echo $p->t('benotungstool/noteEingeben');?>");
|
||||
document.getElementById(uid).note.value="";
|
||||
}
|
||||
else
|
||||
{
|
||||
erzeugeAnfrage();
|
||||
//note = document.getElementById(uid).note.value;
|
||||
stud_uid = uid;
|
||||
var jetzt = new Date();
|
||||
var ts = jetzt.getTime();
|
||||
var url= '<?php echo "legesamtnoteeintragen.php?lvid=".addslashes($lvid)."&lehreinheit_id=".addslashes($lehreinheit_id)."&stsem=".addslashes($stsem); ?>';
|
||||
url += '&submit=1&student_uid='+uid+"¬e="+note+"&"+ts;
|
||||
anfrage.open("GET", url, true);
|
||||
anfrage.onreadystatechange = updateSeite;
|
||||
anfrage.send(null);
|
||||
}
|
||||
}
|
||||
|
||||
function updateSeite()
|
||||
{
|
||||
if (anfrage.readyState == 4)
|
||||
{
|
||||
if (anfrage.status == 200)
|
||||
{
|
||||
uid = stud_uid;
|
||||
var note = document.getElementById(uid).note.value;
|
||||
var resp = anfrage.responseText;
|
||||
if (resp == "neu" || resp == "update")
|
||||
{
|
||||
|
||||
notentd = document.getElementById("note_"+uid);
|
||||
while (notentd.childNodes.length>0)
|
||||
{
|
||||
notentd.removeChild(notentd.lastChild);
|
||||
}
|
||||
notenode = document.createTextNode(note);
|
||||
notentd.appendChild(notenode);
|
||||
}
|
||||
else
|
||||
{
|
||||
alert(resp);
|
||||
document.getElementById(uid).note.value="";
|
||||
}
|
||||
}
|
||||
else
|
||||
alert("Request status:" + anfrage.status);
|
||||
}
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<?php
|
||||
//Kopfzeile
|
||||
echo '<table width="100%">';
|
||||
echo ' <tr>';
|
||||
echo '<td><h1>'.$p->t('benotungstool/benotungstool');
|
||||
echo '</h1></td><td align="right">'."\n";
|
||||
|
||||
//Studiensemester laden
|
||||
$stsem_obj = new studiensemester();
|
||||
if($stsem=='')
|
||||
$stsem = $stsem_obj->getaktorNext();
|
||||
|
||||
$stsem_obj->getAll();
|
||||
|
||||
//Studiensemester DropDown
|
||||
$stsem_content = $p->t('global/studiensemester').": <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
|
||||
foreach($stsem_obj->studiensemester as $studiensemester)
|
||||
{
|
||||
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
|
||||
$stsem_content.= "<OPTION value='legesamtnoteeintragen.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
|
||||
}
|
||||
$stsem_content.= "</SELECT>\n";
|
||||
|
||||
//Lehreinheiten laden
|
||||
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
|
||||
|
||||
}
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
{
|
||||
//Lehreinheiten DropDown
|
||||
echo $p->t('global/lehreinheit')." : <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($lehreinheit_id=='')
|
||||
$lehreinheit_id=$row->lehreinheit_id;
|
||||
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
|
||||
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_lektoren = $db->db_query($qry_lektoren))
|
||||
{
|
||||
$lektoren = '( ';
|
||||
$i=0;
|
||||
while($row_lektoren = $db->db_fetch_object($result_lektoren))
|
||||
{
|
||||
$lektoren .= $row_lektoren->kurzbz;
|
||||
$i++;
|
||||
if($i<$db->db_num_rows($result_lektoren))
|
||||
$lektoren.=', ';
|
||||
else
|
||||
$lektoren.=' ';
|
||||
}
|
||||
$lektoren .=')';
|
||||
}
|
||||
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_gruppen = $db->db_query($qry_gruppen))
|
||||
{
|
||||
$gruppen = '';
|
||||
$i=0;
|
||||
while($row_gruppen = $db->db_fetch_object($result_gruppen))
|
||||
{
|
||||
if($row_gruppen->gruppe_kurzbz=='')
|
||||
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
|
||||
else
|
||||
$gruppen.=$row_gruppen->gruppe_kurzbz;
|
||||
$i++;
|
||||
if($i<$db->db_num_rows($result_gruppen))
|
||||
$gruppen.=', ';
|
||||
else
|
||||
$gruppen.=' ';
|
||||
}
|
||||
}
|
||||
echo "<OPTION value='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
|
||||
}
|
||||
echo '</SELECT> ';
|
||||
}
|
||||
else
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$lehreinheit_id = $row->lehreinheit_id;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $p->t('benotungstool/fehlerBeimAuslesen');
|
||||
}
|
||||
echo $stsem_content;
|
||||
echo '</td><tr></table>';
|
||||
|
||||
echo '<table class="tabcontent"><tr>';
|
||||
echo '<td class="tdwidth10"> </td>';
|
||||
echo "<td>\n";
|
||||
echo "<b>".$lv_obj->bezeichnung_arr[$sprache]."</b><br>";
|
||||
|
||||
if($lehreinheit_id=='')
|
||||
die($p->t('benotungstool/keinePassendeLehreinheitGefunden'));
|
||||
|
||||
//Menue
|
||||
include("menue.inc.php");
|
||||
/*
|
||||
echo "\n<!--Menue-->\n";
|
||||
echo "<br><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Verwaltung</font>
|
||||
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Anwesenheits- und Übersichtstabelle</font></a>
|
||||
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Studentenpunkte verwalten</font></a>
|
||||
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Statistik</font></a>
|
||||
<br><br>
|
||||
<!--Menue Ende-->\n";
|
||||
*/
|
||||
|
||||
// legesamtnote für studenten speichern
|
||||
if (isset($_REQUEST["submit"]) && ($_POST["student_uid"] != '')){
|
||||
|
||||
$jetzt = date("Y-m-d H:i:s");
|
||||
$student_uid = $_POST["student_uid"];
|
||||
$legesamtnote = new legesamtnote($lehreinheit_id);
|
||||
if (!$legesamtnote->load($student_uid,$lehreinheit_id))
|
||||
{
|
||||
$legesamtnote->student_uid = $student_uid;
|
||||
$legesamtnote->lehreinheit_id = $lehreinheit_id;
|
||||
$legesamtnote->note = $_POST["note"];
|
||||
$legesamtnote->benotungsdatum = $jetzt;
|
||||
$legesamtnote->updateamum = null;
|
||||
$legesamtnote->updatevon = null;
|
||||
$legesamtnote->insertamum = $jetzt;
|
||||
$legesamtnote->insertvon = $user;
|
||||
$legesamtnote->new = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$legesamtnote->note = $_POST["note"];
|
||||
$legesamtnote->benotungsdatum = $jetzt;
|
||||
$legesamtnote->updateamum = $jetzt;
|
||||
$legesamtnote->updatevon = $user;
|
||||
}
|
||||
if (!$legesamtnote->save())
|
||||
echo "<span class='error'>".$legesamtnote->errormsg."</span>";
|
||||
}
|
||||
|
||||
echo "<h3>".$p->t('benotungstool/leGesamtnotenVerwalten')."</h3>";
|
||||
echo $p->t('benotungstool/noten');
|
||||
|
||||
|
||||
//Studentenliste
|
||||
echo "
|
||||
<table>
|
||||
";
|
||||
|
||||
echo "<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='ContentHeader2'>".$p->t('global/uid')."</td>
|
||||
<td class='ContentHeader2'>".$p->t('global/nachname')."</td>
|
||||
<td class='ContentHeader2'>".$p->t('global/vorname')."</td>
|
||||
<td class='ContentHeader2'>".$p->t('benotungstool/gesamtnote')."</td>
|
||||
<td class='ContentHeader2'> </td>
|
||||
<td class='ContentHeader2'></td>
|
||||
<td class='ContentHeader2'></td>
|
||||
<td class='ContentHeader2'>".$p->t('benotungstool/leGesamtnote')."</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>";
|
||||
/*
|
||||
if($row_grp->gruppe_kurzbz!='')
|
||||
{
|
||||
echo "
|
||||
<tr>
|
||||
<td colspan='8' align='center'><b>$row_grp->gruppe_kurzbz</b></td>
|
||||
</tr>";
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "
|
||||
<tr>
|
||||
<td colspan='8' align='center'><b>Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."</b></td>
|
||||
</tr>";
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung
|
||||
WHERE studiengang_kz='$row_grp->studiengang_kz' AND
|
||||
semester='$row_grp->semester' ".
|
||||
($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":'').
|
||||
($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":'').
|
||||
" ORDER BY nachname, vorname";
|
||||
}
|
||||
*/
|
||||
|
||||
// studentenquery
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
|
||||
|
||||
if($result_stud = $db->db_query($qry_stud))
|
||||
{
|
||||
$i=1;
|
||||
while($row_stud = $db->db_fetch_object($result_stud))
|
||||
{
|
||||
$studentnote = new studentnote();
|
||||
$studentnote->calc_gesamtnote($lehreinheit_id,$stsem,$row_stud->uid);
|
||||
//echo $studentnote->debug;
|
||||
$legesamtnote = new legesamtnote($lehreinheit_id);
|
||||
if (!$legesamtnote->load($row_stud->uid,$lehreinheit_id))
|
||||
{
|
||||
$note = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
$note = $legesamtnote->note;
|
||||
}
|
||||
|
||||
if ($studentnote->studentgesamtnote!=0)
|
||||
$note_calc = round($studentnote->studentgesamtnote,2);
|
||||
else
|
||||
$note_calc = null;
|
||||
echo "
|
||||
<tr class='liste".($i%2)."'>
|
||||
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->uid</a></td>
|
||||
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->nachname</a></td>
|
||||
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->vorname</a></td>";
|
||||
echo "<td>$note_calc</td>";
|
||||
echo "<td align='center'>";
|
||||
if ($studentnote->negativ)
|
||||
echo "<span class='negativ'>neg</span>";
|
||||
echo "</td>";
|
||||
echo "<td align='center'>";
|
||||
if ($studentnote->fehlt)
|
||||
echo "<span class='negativ'>X</span>";
|
||||
else
|
||||
echo "ok";
|
||||
echo "</td>";
|
||||
if ($note)
|
||||
$note_final = $note;
|
||||
else
|
||||
{
|
||||
if ($studentnote->negativ)
|
||||
$note_final = 5;
|
||||
else
|
||||
{
|
||||
$note_final = round($studentnote->studentgesamtnote);
|
||||
if ($note_final == 0)
|
||||
$note_final = null;
|
||||
}
|
||||
}
|
||||
echo "<form accept-charset='UTF-8' name='$row_stud->uid' id='$row_stud->uid' method='POST' action='legesamtnoteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&stsem=$stsem'><td><input type='hidden' name='student_uid' value='$row_stud->uid'><input type='text' size='1' value='$note_final' name='note'><input type='button' value='->' onclick='saveLENote(\"$row_stud->uid\")'></td></form>";
|
||||
if ($note == 5)
|
||||
$negmarkier = " style='color:red; font-weight:bold;'";
|
||||
else
|
||||
$negmarkier = "";
|
||||
echo "<td align='center' id='note_$row_stud->uid'><span".$negmarkier.">$note</span></td>";
|
||||
echo "</tr>";
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
echo "</table>";
|
||||
|
||||
?>
|
||||
</td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,63 +0,0 @@
|
||||
<?php
|
||||
$class_uebung = 'benotungstool_tabs';
|
||||
$class_benotung = 'benotungstool_tabs';
|
||||
$class_anwesenheit = 'benotungstool_tabs';
|
||||
$class_statistik = 'benotungstool_tabs';
|
||||
|
||||
$file = $_SERVER["SCRIPT_NAME"];
|
||||
$break = Explode('/', $file);
|
||||
$pfile = $break[count($break) - 1];
|
||||
|
||||
if ($pfile == 'verwaltung.php' or $pfile == 'verwaltung_listen.php')
|
||||
$class_uebung = 'benotungstool_tabs_active';
|
||||
else if ($pfile == 'studentenpunkteverwalten.php' or $pfile == 'legesamtnoteverwalten.php' or $pfile == 'lvgesamtnoteverwalten.php')
|
||||
$class_benotung = 'benotungstool_tabs_active';
|
||||
else if ($pfile == 'anwesenheitstabelle.php')
|
||||
$class_anwesenheit = 'benotungstool_tabs_active';
|
||||
else if ($pfile == 'statistik.php')
|
||||
$class_statistik = 'benotungstool_tabs_active';
|
||||
|
||||
echo "\n\n<!--Menue-->\n";
|
||||
echo "<div><ul><li><a href='lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'>".$p->t('benotungstool/lehrveranstaltungBenoten')."</font></a></li><li><a href=".APP_ROOT."cms/dms.php?id=".$p->t('dms_link/benotungstoolHandbuch')." class='Item' target='_blank'><font size='3'>".$p->t('benotungstool/handbuchBenotungstool')."</font></a></li></ul></div>";
|
||||
echo "<br>\n";
|
||||
echo "<table cellpadding='3' width='100%'>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td class='$class_uebung'><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'>".$p->t('benotungstool/uebungen')."</font></a></td>\n";
|
||||
echo " <td class='$class_benotung'><a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'>".$p->t('benotungstool/benotung')."</font></a></td>\n";
|
||||
echo " <td class='$class_anwesenheit'><a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'>".$p->t('benotungstool/anwesenheitstabelle')."</font></a></td>\n";
|
||||
echo " <td class='$class_statistik'><a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'>".$p->t('benotungstool/statistik')."</font></a></td>\n";
|
||||
echo " </tr>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td colspan='4' class='benotungstool_subtab'>";
|
||||
|
||||
if ($pfile == "verwaltung.php")
|
||||
echo "<b>".$p->t('benotungstool/uebersicht')."</b>";
|
||||
else if ($pfile == "verwaltung_listen.php")
|
||||
{
|
||||
echo "<a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/uebersicht')."</a> \n";
|
||||
if (isset($_GET["liste_id"]) && !isset($_GET["uebung_id"]))
|
||||
echo " | <b>".$p->t('benotungstool/uebung')."</b> \n";
|
||||
if (isset($_GET["liste_id"]) && isset($_GET["uebung_id"]))
|
||||
echo " | <a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id'>".$p->t('benotungstool/uebung')."</a> | <b>".$p->t('benotungstool/liste')."</b> \n";
|
||||
}
|
||||
|
||||
if ($pfile == "studentenpunkteverwalten.php" && (!isset($_GET["uid"]) || $_GET["uid"]==""))
|
||||
echo "<b>".$p->t('benotungstool/uebungsnotenVerwalten').": ".$p->t('benotungstool/uebersicht')."</b> | <a href='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leNotenVerwalten')."</a> | <a href='lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/lvNotenVerwalten')."</a>";
|
||||
else if ($pfile == "studentenpunkteverwalten.php")
|
||||
echo "<b>".$p->t('benotungstool/uebungsnotenVerwalten').": ".$p->t('benotungstool/detail')."</b> / <a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>".$p->t('benotungstool/uebersicht')."</a> | <a href='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leNotenVerwalten')."</a> | <a href='lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/lvNotenVerwalten')."</a>";
|
||||
|
||||
else if ($pfile == "legesamtnoteverwalten.php")
|
||||
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>".$p->t('benotungstool/uebungsnotenVerwalten')."</a> | <b>".$p->t('benotungstool/leNotenVerwalten')."</b> | <a href='lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/lvNotenVerwalten')."</a>";
|
||||
else if ($pfile == "lvgesamtnoteverwalten.php")
|
||||
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>".$p->t('benotungstool/uebungsnotenVerwalten')."</a> | <a href='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leNotenVerwalten')."</a> | <b>".$p->t('benotungstool/lvNotenVerwalten')."</b>";
|
||||
|
||||
if ($pfile == 'anwesenheitstabelle.php')
|
||||
echo " ";
|
||||
if ($pfile == 'statistik.php')
|
||||
echo " ";
|
||||
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "<!--Menue Ende--><br>\n\n";
|
||||
?>
|
||||
@@ -1,398 +0,0 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl < [email protected] >
|
||||
* Gerald Simane-Sequens < [email protected] >
|
||||
*/
|
||||
|
||||
require_once('../../../../config/cis.config.inc.php');
|
||||
require_once('../../../../include/basis_db.class.php');
|
||||
require_once('../../../../include/functions.inc.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/studiengang.class.php');
|
||||
require_once('../../../../include/studiensemester.class.php');
|
||||
require_once('../../../../include/lehreinheit.class.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/uebung.class.php');
|
||||
require_once('../../../../include/beispiel.class.php');
|
||||
require_once('../../../../include/datum.class.php');
|
||||
require_once('../../../../include/phrasen.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Herstellen der Datenbankverbindung');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
<title><?php echo $p->t('benotungstool/kreuzerltool');?></title>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
<!--
|
||||
function MM_jumpMenu(targ, selObj, restore)
|
||||
{
|
||||
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
|
||||
|
||||
if(restore)
|
||||
{
|
||||
selObj.selectedIndex = 0;
|
||||
}
|
||||
}
|
||||
function confirmdelete()
|
||||
{
|
||||
return confirm('<?php echo $p->t('gesamtnote/wollenSieWirklichLoeschen');?>');
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<?php
|
||||
$user = get_uid();
|
||||
|
||||
if(!check_lektor($user))
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
|
||||
$lvid = $_GET['lvid'];
|
||||
else
|
||||
die($p->t('global/fehlerBeiDerParameteruebergabe'));
|
||||
|
||||
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
|
||||
$lehreinheit_id = $_GET['lehreinheit_id'];
|
||||
else
|
||||
$lehreinheit_id = '';
|
||||
|
||||
//Laden der Lehrveranstaltung
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if(!$lv_obj->load($lvid))
|
||||
die($lv_obj->errormsg);
|
||||
|
||||
//Studiengang laden
|
||||
$stg_obj = new studiengang($lv_obj->studiengang_kz);
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
$stsem = '';
|
||||
|
||||
//Vars
|
||||
$datum_obj = new datum();
|
||||
|
||||
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
|
||||
|
||||
//Kopfzeile
|
||||
echo '<table width="100%">';
|
||||
echo ' <tr><td>';
|
||||
echo '<h1>'.$p->t('benotungstool/benotungstool');
|
||||
echo '</h1></td><td align="right">'."\n";
|
||||
|
||||
//Studiensemester laden
|
||||
$stsem_obj = new studiensemester();
|
||||
if($stsem=='')
|
||||
$stsem = $stsem_obj->getaktorNext();
|
||||
|
||||
$stsem_obj->getAll();
|
||||
|
||||
//Studiensemester DropDown
|
||||
$stsem_content = $p->t('global/studiensemester').": <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
|
||||
foreach($stsem_obj->studiensemester as $studiensemester)
|
||||
{
|
||||
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
|
||||
$stsem_content.= "<OPTION value='statistik.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
|
||||
}
|
||||
$stsem_content.= "</SELECT>\n";
|
||||
|
||||
//Lehreinheiten laden
|
||||
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
|
||||
|
||||
}
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>1)
|
||||
{
|
||||
//Lehreinheiten DropDown
|
||||
echo $p->t('global/lehreinheit').": <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($lehreinheit_id=='')
|
||||
$lehreinheit_id=$row->lehreinheit_id;
|
||||
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
|
||||
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_lektoren = $db->db_query($qry_lektoren))
|
||||
{
|
||||
$lektoren = '( ';
|
||||
$i=0;
|
||||
while($row_lektoren = $db->db_fetch_object($result_lektoren))
|
||||
{
|
||||
$lektoren .= $row_lektoren->kurzbz;
|
||||
$i++;
|
||||
if($i<$db->db_num_rows($result_lektoren))
|
||||
$lektoren.=', ';
|
||||
else
|
||||
$lektoren.=' ';
|
||||
}
|
||||
|
||||
$lektoren .=')';
|
||||
}
|
||||
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_gruppen = $db->db_query($qry_gruppen))
|
||||
{
|
||||
$gruppen = '';
|
||||
$i=0;
|
||||
while($row_gruppen = $db->db_fetch_object($result_gruppen))
|
||||
{
|
||||
if($row_gruppen->gruppe_kurzbz=='')
|
||||
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
|
||||
else
|
||||
$gruppen.=$row_gruppen->gruppe_kurzbz;
|
||||
$i++;
|
||||
if($i<$db->db_num_rows($result_gruppen))
|
||||
$gruppen.=', ';
|
||||
else
|
||||
$gruppen.=' ';
|
||||
}
|
||||
}
|
||||
echo "<OPTION value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
|
||||
}
|
||||
echo '</SELECT> ';
|
||||
}
|
||||
else
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$lehreinheit_id = $row->lehreinheit_id;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $p->t('benotungstool/fehlerBeimAuslesen');
|
||||
}
|
||||
echo $stsem_content;
|
||||
echo '</td><tr></table>';
|
||||
echo '<table width="100%"><tr>';
|
||||
echo '<td class="tdwidth10"> </td>';
|
||||
echo "<td>\n";
|
||||
echo "<b>".$lv_obj->bezeichnung_arr[$sprache]."</b><br>";
|
||||
|
||||
if($lehreinheit_id=='')
|
||||
die($p->t('benotungstool/keinePassendeLehreinheitGefunden'));
|
||||
|
||||
//Menue
|
||||
include("menue.inc.php");
|
||||
/*
|
||||
echo "\n<!--Menue-->\n";
|
||||
echo "<br>
|
||||
<a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Verwaltung</font>
|
||||
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Anwesenheits- und Übersichtstabelle</font></a>
|
||||
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Studentenpunkte verwalten</font></a>
|
||||
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Statistik</font></a>
|
||||
<br><br>
|
||||
<!--Menue Ende-->\n";
|
||||
*/
|
||||
|
||||
echo "<h3>".$p->t('benotungstool/statistikFuerKreuzerllisten')."</h3>";
|
||||
$uebung_obj = new uebung();
|
||||
$uebung_obj->load_uebung($lehreinheit_id,1);
|
||||
if(count($uebung_obj->uebungen)>0)
|
||||
{
|
||||
echo "<table width='100%'><tr><td valign='top'>";
|
||||
echo "<br>".$p->t('benotungstool/waehlenSieEineKreuzerlliste').": <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
echo "<option value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=' selected></option>";
|
||||
foreach ($uebung_obj->uebungen as $row)
|
||||
{
|
||||
|
||||
if($uebung_id == $row->uebung_id)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
if($uebung_id=='')
|
||||
$uebung_id=$row->uebung_id;
|
||||
|
||||
$subuebung_obj = new uebung();
|
||||
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
|
||||
if(count($subuebung_obj->uebungen)>0)
|
||||
{
|
||||
$disabled = 'disabled';
|
||||
$selected = '';
|
||||
}
|
||||
else
|
||||
$disabled = '';
|
||||
|
||||
echo "<OPTION style='background-color:#cccccc;' value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' $selected $disabled>";
|
||||
|
||||
|
||||
echo $row->bezeichnung;
|
||||
echo '</OPTION>';
|
||||
|
||||
if(count($subuebung_obj->uebungen)>0)
|
||||
{
|
||||
foreach ($subuebung_obj->uebungen as $subrow)
|
||||
{
|
||||
//if($uebung_id=='')
|
||||
// $uebung_id=$subrow->uebung_id;
|
||||
|
||||
if($uebung_id == $subrow->uebung_id)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
if ($subrow->beispiele)
|
||||
echo "<OPTION value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id' $selected>";
|
||||
|
||||
|
||||
//Freigegeben = +
|
||||
//Nicht Freigegeben = -
|
||||
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
|
||||
echo ' + ';
|
||||
else
|
||||
echo ' - ';
|
||||
|
||||
echo $subrow->bezeichnung;
|
||||
echo '</OPTION>';
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo '</SELECT>';
|
||||
|
||||
echo '</td>';
|
||||
|
||||
echo "<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><b>+</b>...</td>
|
||||
<td><u>".$p->t('benotungstool/freigeschaltet')."</u>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>-</b>...</td>
|
||||
<td><u>".$p->t('benotungstool/nichtFreigeschaltet')."</u>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr></table>";
|
||||
}
|
||||
else
|
||||
die($p->t('benotungstool/derzeitSindKeineUebungenAngelegt'));
|
||||
|
||||
|
||||
echo "<br><br><br>";
|
||||
if(isset($uebung_id) && $uebung_id!='')
|
||||
{
|
||||
$beispiel_obj = new beispiel();
|
||||
if($beispiel_obj->load_beispiel($uebung_id))
|
||||
{
|
||||
if(count($beispiel_obj->beispiele)>0)
|
||||
{
|
||||
echo '<table border="0" cellpadding="0" cellspacing="0" width="600">
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td height="19" width="339" valign="bottom">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="339" background="../../../../skin/images/bg.gif">
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>';
|
||||
$i=0;
|
||||
$qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." GROUP BY student_uid";
|
||||
if($result_cnt = $db->db_query($qry_cnt))
|
||||
$gesamt=$db->db_num_rows($result_cnt);
|
||||
|
||||
foreach ($beispiel_obj->beispiele as $row)
|
||||
{
|
||||
$i++;
|
||||
$solved = 0;
|
||||
$psolved = 0;
|
||||
$qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=".$db->db_add_param($row->beispiel_id, FHC_INTEGER)." AND vorbereitet=true";
|
||||
if($result_cnt = $db->db_query($qry_cnt))
|
||||
if($row_cnt = $db->db_fetch_object($result_cnt))
|
||||
$solved = $row_cnt->anzahl;
|
||||
|
||||
if($solved>0)
|
||||
$psolved = $solved/$gesamt*100;
|
||||
|
||||
echo '<tr>
|
||||
<td '.($i%2?'class="MarkLine"':'').' valign="top" height="10" width="200"><font size="2" face="Arial, Helvetica, sans-serif">
|
||||
'.$row->bezeichnung.'
|
||||
</font></td>
|
||||
<td '.($i%2?'class="MarkLine"':'').'>
|
||||
<table width="339" border="0" cellpadding="0" cellspacing="0" background="../../../../skin/images/bg_.gif">
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<table class="tabcontent">
|
||||
<tr>
|
||||
<td nowrap><font size="2" face="Arial, Helvetica, sans-serif">
|
||||
<img src="../../../../skin/images/entry.gif" width="'.($psolved*3).'" height="5" alt="" border="1" />
|
||||
<span class="smallb"><b> '.$solved.'</b> ['.number_format($psolved,1,'.','').'%]</span></font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
echo "</table>";
|
||||
echo "<br><br>Es haben insgesamt <u>$gesamt Studenten</u> eingetragen.";
|
||||
}
|
||||
}
|
||||
else
|
||||
echo "<span class='error'>$beispiel_obj->errormsg</span>";
|
||||
}
|
||||
|
||||
?>
|
||||
</td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,978 +0,0 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
require_once('../../../../config/cis.config.inc.php');
|
||||
require_once('../../../../include/basis_db.class.php');
|
||||
require_once('../../../../include/functions.inc.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/studiengang.class.php');
|
||||
require_once('../../../../include/studiensemester.class.php');
|
||||
require_once('../../../../include/lehreinheit.class.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/uebung.class.php');
|
||||
require_once('../../../../include/beispiel.class.php');
|
||||
require_once('../../../../include/studentnote.class.php');
|
||||
require_once('../../../../include/datum.class.php');
|
||||
require_once('functions.inc.php');
|
||||
require_once('../../../../include/phrasen.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
if (!$db = new basis_db())
|
||||
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
||||
$user = get_uid();
|
||||
|
||||
if(!check_lektor($user))
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
|
||||
$lvid = $_GET['lvid'];
|
||||
else
|
||||
die($p->t('global/fehlerBeiDerParameteruebergabe'));
|
||||
|
||||
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
|
||||
$lehreinheit_id = $_GET['lehreinheit_id'];
|
||||
else
|
||||
$lehreinheit_id = '';
|
||||
|
||||
//Laden der Lehrveranstaltung
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if(!$lv_obj->load($lvid))
|
||||
die($lv_obj->errormsg);
|
||||
|
||||
//Studiengang laden
|
||||
$stg_obj = new studiengang($lv_obj->studiengang_kz);
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
$stsem = '';
|
||||
|
||||
//Vars
|
||||
$datum_obj = new datum();
|
||||
|
||||
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
|
||||
$uid = (isset($_GET['uid'])?$_GET['uid']:'');
|
||||
|
||||
//Abgabedatei ausliefern
|
||||
if (isset($_GET["download_abgabe"])){
|
||||
$file=$_GET["download_abgabe"];
|
||||
$uebung_id = $_GET["uebung_id"];
|
||||
$ueb = new uebung();
|
||||
$ueb->load_studentuebung($uid, $uebung_id);
|
||||
$ueb->load_abgabe($ueb->abgabe_id);
|
||||
$filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei;
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-disposition: attachment; filename="'.$file.'"');
|
||||
readfile($filename);
|
||||
exit;
|
||||
}
|
||||
|
||||
//Handbuch ausliefern
|
||||
if (isset($_GET["handbuch"])){
|
||||
$filename = BENOTUNGSTOOL_PATH."handbuch_benotungstool.pdf";
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-disposition: attachment; filename="handbuch_benotungstool.pdf"');
|
||||
readfile($filename);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
if (isset($_FILES["abgabedatei"]))
|
||||
{
|
||||
//echo $_FILES["abgabedatei"];
|
||||
$abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"];
|
||||
|
||||
if ($abgabedatei_up)
|
||||
{
|
||||
$student_uid = $uid;
|
||||
$datum = date('Y-m-d H:i:s');
|
||||
$datumstr = ereg_replace(" ","_",$datum);
|
||||
$name_up = pathinfo($_FILES["abgabedatei"]["name"]);
|
||||
$name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$student_uid, $date=$datumstr);
|
||||
$name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu);
|
||||
$abgabedatei = $name_neu.".".$name_up["extension"];
|
||||
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
|
||||
|
||||
$uebung_obj = new uebung();
|
||||
$uebung_obj->load_studentuebung($student_uid, $uebung_id);
|
||||
|
||||
|
||||
if ($uebung_obj->errormsg != "")
|
||||
{
|
||||
$uebung_obj->student_uid = $student_uid;
|
||||
$uebung_obj->mitarbeiter_uid = null;
|
||||
$uebung_obj->abgabe_id = null;
|
||||
$uebung_obj->uebung_id = $uebung_id;
|
||||
$uebung_obj->note = null;
|
||||
$uebung_obj->mitarbeitspunkte = null;
|
||||
$uebung_obj->punkte = null;
|
||||
$uebung_obj->anmerkung = null;
|
||||
$uebung_obj->benotungsdatum = null;
|
||||
$uebung_obj->updateamum = null;
|
||||
$uebung_obj->updatevon = null;
|
||||
$uebung_obj->insertamum = $datum;
|
||||
$uebung_obj->insertvon = $user;
|
||||
$uebung_obj->new = true;
|
||||
$uebung_obj->studentuebung_save($new=true);
|
||||
echo $uebung_obj->errormsg;
|
||||
|
||||
}
|
||||
if ($uebung_obj->abgabe_id != null)
|
||||
{
|
||||
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
|
||||
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
|
||||
$uebung_obj->abgabedatei = $abgabedatei;
|
||||
$uebung_obj->abgabezeit = $datum;
|
||||
$uebung_obj->abgabe_anmerkung = "";
|
||||
$uebung_obj->abgabe_save(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$uebung_obj->abgabedatei = $abgabedatei;
|
||||
$uebung_obj->abgabezeit = $datum;
|
||||
$uebung_obj->abgabe_anmerkung = "";
|
||||
$uebung_obj->abgabe_save(true);
|
||||
}
|
||||
$uebung_obj->studentuebung_save(false);
|
||||
//Abgabedatei ablegen
|
||||
move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad);
|
||||
}
|
||||
}
|
||||
else
|
||||
$abgabedatei_up = null;
|
||||
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
<title><?php echo $p->t('benotungstool/benotungstool');?></title>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
<!--
|
||||
function MM_jumpMenu(targ, selObj, restore)
|
||||
{
|
||||
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
|
||||
|
||||
if(restore)
|
||||
{
|
||||
selObj.selectedIndex = 0;
|
||||
}
|
||||
}
|
||||
function confirmdelete()
|
||||
{
|
||||
return confirm('<?php echo $p->t('gesamtnote/wollenSieWirklichLoeschen');?>');
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<?php
|
||||
|
||||
|
||||
//Kopfzeile
|
||||
echo '<table width="100%"><tr><td><h1>'.$p->t('benotungstool/benotungstool');
|
||||
echo '</h1></td><td align="right">'."\n";
|
||||
|
||||
//Studiensemester laden
|
||||
$stsem_obj = new studiensemester();
|
||||
if($stsem=='')
|
||||
$stsem = $stsem_obj->getaktorNext();
|
||||
|
||||
$stsem_obj->getAll();
|
||||
|
||||
//Studiensemester DropDown
|
||||
$stsem_content = $p->t('global/studiensemester').": <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
|
||||
foreach($stsem_obj->studiensemester as $studiensemester)
|
||||
{
|
||||
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
|
||||
$stsem_content.= "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
|
||||
}
|
||||
$stsem_content.= "</SELECT>\n";
|
||||
|
||||
//Lehreinheiten laden
|
||||
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
|
||||
|
||||
}
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
{
|
||||
//Lehreinheiten DropDown
|
||||
echo $p->t('global/lehreinheit').": <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($lehreinheit_id=='')
|
||||
$lehreinheit_id=$row->lehreinheit_id;
|
||||
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
|
||||
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_lektoren = $db->db_query($qry_lektoren))
|
||||
{
|
||||
$lektoren = '( ';
|
||||
$i=0;
|
||||
while($row_lektoren = $db->db_fetch_object($result_lektoren))
|
||||
{
|
||||
$lektoren .= $row_lektoren->kurzbz;
|
||||
$i++;
|
||||
if($i<$db->db_num_rows($result_lektoren))
|
||||
$lektoren.=', ';
|
||||
else
|
||||
$lektoren.=' ';
|
||||
}
|
||||
$lektoren .=')';
|
||||
}
|
||||
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_gruppen = $db->db_query($qry_gruppen))
|
||||
{
|
||||
$gruppen = '';
|
||||
$i=0;
|
||||
while($row_gruppen = $db->db_fetch_object($result_gruppen))
|
||||
{
|
||||
if($row_gruppen->gruppe_kurzbz=='')
|
||||
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
|
||||
else
|
||||
$gruppen.=$row_gruppen->gruppe_kurzbz;
|
||||
$i++;
|
||||
if($i<$db->db_num_rows($result_gruppen))
|
||||
$gruppen.=', ';
|
||||
else
|
||||
$gruppen.=' ';
|
||||
}
|
||||
}
|
||||
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
|
||||
}
|
||||
echo '</SELECT> ';
|
||||
}
|
||||
else
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$lehreinheit_id = $row->lehreinheit_id;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $p->t('benotungstool/fehlerBeimAuslesen');
|
||||
}
|
||||
echo $stsem_content;
|
||||
echo '</td><tr></table>';
|
||||
echo '<table width="100%"><tr>';
|
||||
echo '<td class="tdwidth10"> </td>';
|
||||
echo "<td>\n";
|
||||
echo "<b>".$lv_obj->bezeichnung_arr[$sprache]."</b><br>";
|
||||
|
||||
if($lehreinheit_id=='')
|
||||
die($p->t('benotungstool/keinePassendeLehreinheitGefunden'));
|
||||
|
||||
//Menue
|
||||
include("menue.inc.php");
|
||||
/*
|
||||
echo "\n<!--Menue-->\n";
|
||||
echo "<br><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Verwaltung</font>
|
||||
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Anwesenheits- und Übersichtstabelle</font></a>
|
||||
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Studentenpunkte verwalten</font></a>
|
||||
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Statistik</font></a>
|
||||
<br><br>
|
||||
<!--Menue Ende-->\n";
|
||||
*/
|
||||
|
||||
echo "<h3>".$p->t('benotungstool/studentenaufgabenVerwalten')."</h3>";
|
||||
if(isset($_POST['submit']))
|
||||
{
|
||||
$error=false;
|
||||
$punkte = (isset($_POST['punkte'])?mb_ereg_replace(',','.',$_POST['punkte']):'');
|
||||
if(isset($punkte) && is_numeric($punkte) && !isset($_POST['abgabe']))
|
||||
{
|
||||
$ueb_obj = new uebung();
|
||||
if($ueb_obj->load_studentuebung($uid, $uebung_id))
|
||||
$ueb_obj->new = false;
|
||||
else
|
||||
{
|
||||
$ueb_obj->new = true;
|
||||
$ueb_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$ueb_obj->insertvon = $user;
|
||||
}
|
||||
|
||||
$ueb_obj->mitarbeitspunkte = $punkte;
|
||||
$ueb_obj->anmerkung = $_POST['anmerkung'];
|
||||
$ueb_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$ueb_obj->updatevon = $user;
|
||||
$ueb_obj->mitarbeiter_uid = $user;
|
||||
$ueb_obj->uebung_id = $uebung_id;
|
||||
$ueb_obj->student_uid = $uid;
|
||||
|
||||
if(!$ueb_obj->studentuebung_save())
|
||||
$error = true;
|
||||
|
||||
$bsp_obj = new beispiel();
|
||||
|
||||
if($bsp_obj->load_beispiel($uebung_id))
|
||||
{
|
||||
foreach ($bsp_obj->beispiele as $row)
|
||||
{
|
||||
$stud_bsp_obj = new beispiel();
|
||||
|
||||
if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id))
|
||||
{
|
||||
$stud_bsp_obj->new=false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$stud_bsp_obj->new=true;
|
||||
$stud_bsp_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$stud_bsp_obj->insertvon = $user;
|
||||
}
|
||||
$stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false);
|
||||
$stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false);
|
||||
$stud_bsp_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$stud_bsp_obj->updatevon = $user;
|
||||
$stud_bsp_obj->student_uid = $uid;
|
||||
$stud_bsp_obj->beispiel_id = $row->beispiel_id;
|
||||
|
||||
if(!$stud_bsp_obj->studentbeispiel_save())
|
||||
{
|
||||
echo $stud_bsp_obj->errormsg;
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($error)
|
||||
echo "<span class='error'>".$p->t('benotungstool/esKonntenNichtAlleDatenGespeichertWerden')."</span>";
|
||||
else
|
||||
echo $p->t('global/erfolgreichgespeichert')."<br>";
|
||||
|
||||
}
|
||||
else if (!isset($_POST['abgabe']))
|
||||
{
|
||||
echo "<span class='error'>".$p->t('benotungstool/punkteSindUngueltig')."</span>";
|
||||
}
|
||||
if(isset($_POST['abgabe']) && is_numeric($_POST['note']))
|
||||
{
|
||||
$note = $_POST['note'];
|
||||
$ueb_obj = new uebung();
|
||||
if($ueb_obj->load_studentuebung($uid, $uebung_id))
|
||||
$ueb_obj->new = false;
|
||||
else
|
||||
{
|
||||
$ueb_obj->new = true;
|
||||
$ueb_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$ueb_obj->insertvon = $user;
|
||||
}
|
||||
|
||||
$ueb_obj->note = $note;
|
||||
$ueb_obj->anmerkung = $_POST['anmerkung'];
|
||||
$ueb_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$ueb_obj->updatevon = $user;
|
||||
$ueb_obj->mitarbeiter_uid = $user;
|
||||
$ueb_obj->uebung_id = $uebung_id;
|
||||
$ueb_obj->student_uid = $uid;
|
||||
|
||||
if(!$ueb_obj->studentuebung_save())
|
||||
$error = true;
|
||||
if($error)
|
||||
echo "<span class='error'>".$p->t('benotungstool/esKonntenNichtAlleDatenGespeichertWerden')."</span>";
|
||||
else
|
||||
echo $p->t('global/erfolgreichgespeichert')."<br>";
|
||||
}
|
||||
else if (isset($_POST['abgabe']))
|
||||
echo "<span class='error'>".$p->t('benotungstool/noteIstUngueltig')."<br></span>";
|
||||
}
|
||||
|
||||
if(isset($_GET['uid']) && $_GET['uid']!='')
|
||||
{
|
||||
//Punkte eintragen
|
||||
$uid = addslashes($_GET['uid']);
|
||||
|
||||
$qry_stud = "SELECT vorname, nachname, uid FROM campus.vw_student WHERE uid='$uid'";
|
||||
|
||||
if(!$result_stud = $db->db_query($qry_stud))
|
||||
die($p->t('benotungstool/fehlerBeimLadenDesStudenten'));
|
||||
|
||||
if(!$row_stud = $db->db_fetch_object($result_stud))
|
||||
die($p->t('benotungstool/studentWurdeNichtGefunden'));
|
||||
|
||||
//echo "<b>$row_stud->vorname $row_stud->nachname</b><br>\n";
|
||||
|
||||
|
||||
|
||||
$uid_arr = Array();
|
||||
$vorname_arr = Array();
|
||||
$nachname_arr = Array();
|
||||
|
||||
// studentenquery
|
||||
$qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
|
||||
if($result_stud_dd = $db->db_query($qry_stud_dd))
|
||||
{
|
||||
$i=1;
|
||||
while($row_stud_dd = $db->db_fetch_object($result_stud_dd))
|
||||
{
|
||||
$uid_arr[] = $row_stud_dd->uid;
|
||||
$vorname_arr[] = $row_stud_dd->vorname;
|
||||
$nachname_arr[] = $row_stud_dd->nachname;
|
||||
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
echo $p->t('benotungstool/studentenAuswaehlen').": ";
|
||||
$key = array_search($uid,$uid_arr);
|
||||
$prev = $key-1;
|
||||
$next = $key+1;
|
||||
if ($key > 0)
|
||||
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem'> << </a>";
|
||||
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
for ($j = 0; $j < count($uid_arr); $j++)
|
||||
{
|
||||
if ($uid_arr[$j] == $uid)
|
||||
$selected = " selected";
|
||||
else
|
||||
$selected = "";
|
||||
|
||||
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$j]&stsem=$stsem'$selected>$vorname_arr[$j] $nachname_arr[$j]</option>";
|
||||
}
|
||||
echo "</select>";
|
||||
if ($key < count($uid_arr)-1)
|
||||
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem'> >> </a>";
|
||||
|
||||
|
||||
$uebung_obj = new uebung();
|
||||
$uebung_obj->load_uebung($lehreinheit_id,1);
|
||||
if(count($uebung_obj->uebungen)>0)
|
||||
{
|
||||
echo "<table width='100%'><tr><td valign='top'>";
|
||||
echo "<br>".$p->t('benotungstool/waehlenSieEineAufgabeAus').": <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid' selected></option>";
|
||||
foreach ($uebung_obj->uebungen as $row)
|
||||
{
|
||||
|
||||
if($uebung_id == $row->uebung_id)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
if($uebung_id=='')
|
||||
$uebung_id=$row->uebung_id;
|
||||
|
||||
$subuebung_obj = new uebung();
|
||||
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
|
||||
if(count($subuebung_obj->uebungen)>0)
|
||||
{
|
||||
$disabled = 'disabled';
|
||||
$selected = '';
|
||||
}
|
||||
else
|
||||
$disabled = '';
|
||||
|
||||
echo "<OPTION style='background-color:#cccccc;' value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id&uid=$uid' $selected $disabled>";
|
||||
|
||||
|
||||
echo $row->bezeichnung;
|
||||
echo '</OPTION>';
|
||||
|
||||
if(count($subuebung_obj->uebungen)>0)
|
||||
{
|
||||
foreach ($subuebung_obj->uebungen as $subrow)
|
||||
{
|
||||
if($uebung_id=='')
|
||||
$uebung_id=$subrow->uebung_id;
|
||||
|
||||
if($uebung_id == $subrow->uebung_id)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$uid' $selected>";
|
||||
|
||||
|
||||
//Freigegeben = +
|
||||
//Nicht Freigegeben = -
|
||||
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
|
||||
echo ' + ';
|
||||
else
|
||||
echo ' - ';
|
||||
|
||||
echo $subrow->bezeichnung;
|
||||
echo '</OPTION>';
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo '</SELECT>';
|
||||
|
||||
echo '</td>';
|
||||
|
||||
echo "<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><b>+</b>...</td>
|
||||
<td><u>".$p->t('benotungstool/freigeschaltet')."</u>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>-</b>...</td>
|
||||
<td><u>".$p->t('benotungstool/nichtFreigeschaltet')."</u>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr></table>";
|
||||
}
|
||||
else
|
||||
die($p->t('benotungstool/derzeitSindKeineUebungenAngelegt'));
|
||||
|
||||
$ueb_obj = new uebung();
|
||||
$ueb_obj->load($uebung_id);
|
||||
if($ueb_obj->load_studentuebung($uid, $uebung_id))
|
||||
{
|
||||
$anmerkung = $ueb_obj->anmerkung;
|
||||
$mitarbeit = $ueb_obj->mitarbeitspunkte;
|
||||
$note = $ueb_obj->note;
|
||||
}
|
||||
else
|
||||
{
|
||||
$anmerkung = '';
|
||||
$mitarbeit = 0;
|
||||
$note = '';
|
||||
}
|
||||
|
||||
if ($ueb_obj->beispiele && is_numeric($_GET['uebung_id']))
|
||||
{
|
||||
echo "
|
||||
<form accept-charset='UTF-8' method='POST' action='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid'>
|
||||
<table width='100%'><tr><td valign='top'>
|
||||
".$p->t('global/anmerkung').":<br>
|
||||
<textarea name='anmerkung' cols=50 rows=5>".$anmerkung."</textarea>
|
||||
<br><br>
|
||||
<table border='1'>
|
||||
<tr>
|
||||
<td class='ContentHeader2'>".$p->t('benotungstool/beispiel')."</td>
|
||||
<td class='ContentHeader2'>".$p->t('benotungstool/vorbereitet')."</td>
|
||||
<td class='ContentHeader2'>".$p->t('benotungstool/nichtVorbereitet')."</td>
|
||||
<td class='ContentHeader2'>".$p->t('benotungstool/probleme')."</td>
|
||||
<td class='ContentHeader2'>".$p->t('benotungstool/punkte')."</td>
|
||||
</tr>";
|
||||
|
||||
$bsp_obj = new beispiel();
|
||||
$bsp_obj->load_beispiel($uebung_id);
|
||||
|
||||
foreach ($bsp_obj->beispiele as $row)
|
||||
{
|
||||
$stud_bsp_obj = new beispiel();
|
||||
if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id))
|
||||
{
|
||||
$vorbereitet = $stud_bsp_obj->vorbereitet;
|
||||
$probleme = $stud_bsp_obj->probleme;
|
||||
}
|
||||
else
|
||||
{
|
||||
$vorbereitet = false;
|
||||
$probleme = false;
|
||||
}
|
||||
echo "<tr>
|
||||
<td>$row->bezeichnung</td>
|
||||
<td align='center'><input type='radio' name='solved_$row->beispiel_id' value='1' ".($vorbereitet?'checked':'')."></td>
|
||||
<td align='center'><input type='radio' name='solved_$row->beispiel_id' value='0' ".(!$vorbereitet?'checked':'')."></td>
|
||||
<td align='center'><input type='checkbox' name='problem_$row->beispiel_id' ".($probleme?'checked':'')."></td>
|
||||
<td align='center'>$row->punkte</td>
|
||||
</tr>";
|
||||
}
|
||||
|
||||
echo "</table>";
|
||||
|
||||
|
||||
|
||||
$ueb_obj->load_studentuebung($uid, $uebung_id);
|
||||
if ($ueb_obj->abgabe_id)
|
||||
{
|
||||
$ueb_obj->load_abgabe($ueb_obj->abgabe_id);
|
||||
$filename = $ueb_obj->abgabedatei;
|
||||
}
|
||||
else
|
||||
$filename='';
|
||||
|
||||
if ($filename != '')
|
||||
echo "<br>".$p->t('benotungstool/abgabedatei').": <a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid&download_abgabe=$filename'>".$filename."</a><br><br>";
|
||||
|
||||
|
||||
|
||||
echo "
|
||||
</td><td valign='top' algin='right'>";
|
||||
|
||||
//Gesamtpunkte diese Kreuzerlliste
|
||||
$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER);
|
||||
$punkte_gesamt=0;
|
||||
if($result=$db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$punkte_gesamt = $row->punktegesamt;
|
||||
|
||||
//Eingetragen diese Kreuzerlliste
|
||||
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." AND vorbereitet=true";
|
||||
$punkte_eingetragen=0;
|
||||
if($result=$db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
|
||||
|
||||
|
||||
//Gesamtpunkte alle Kreuzerllisten in dieser Übung
|
||||
$ueb_help = new uebung($uebung_id);
|
||||
$liste_id = $ueb_help->liste_id;
|
||||
$qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung
|
||||
WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
|
||||
tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." and tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER);
|
||||
$punkte_gesamt_alle=0;
|
||||
if($result=$db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$punkte_gesamt_alle = $row->punktegesamt_alle;
|
||||
|
||||
//Eingetragen alle Kreuzerllisten
|
||||
$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung
|
||||
WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND
|
||||
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
|
||||
tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
|
||||
tbl_uebung.liste_id = ".$db->db_add_param($liste_id)." AND
|
||||
tbl_studentbeispiel.student_uid=".$db->db_add_param($uid)." AND vorbereitet=true";
|
||||
$punkte_eingetragen_alle=0;
|
||||
if($result=$db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0);
|
||||
|
||||
//Mitarbeitspunkte
|
||||
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
|
||||
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." and liste_id=".$db->db_add_param($liste_id);
|
||||
$mitarbeit_alle=0;
|
||||
if($result=$db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
|
||||
|
||||
//Mitarbeitspunkte
|
||||
$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung
|
||||
WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid);
|
||||
$mitarbeit=0;
|
||||
if($result=$db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$mitarbeit = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
|
||||
echo "
|
||||
<br>
|
||||
<table border='1' width='210'>
|
||||
<tr>
|
||||
<td colspan='2' class='ContentHeader2'>Diese Kreuzerlliste:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width='180'>".$p->t('benotungstool/punkteInsgesamtMoeglich').":</td>
|
||||
<td width='30'>$punkte_gesamt</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>".$p->t('benotungstool/punkteEingetragen').":</td>
|
||||
<td>$punkte_eingetragen</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<table border='1' width='210'>
|
||||
<tr>
|
||||
<td colspan='2' class='ContentHeader2'>".$p->t('benotungstool/alleKreuzerllistenDieserUebung').":</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width='180'>".$p->t('benotungstool/punkteInsgesamtMoeglich').":</td>
|
||||
<td width='30'>$punkte_gesamt_alle</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>".$p->t('benotungstool/punkteEingetragen').":</td>
|
||||
<td>$punkte_eingetragen_alle</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<table border='1' width='210'>
|
||||
<tr>
|
||||
<td colspan='2' class='ContentHeader2'>".$p->t('benotungstool/mitarbeitspunkte').":</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width='180'>".$p->t('benotungstool/bisherInsgesamt').":</td>
|
||||
<td width='30'>$mitarbeit_alle</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>".$p->t('benotungstool/dieseKreuzerlliste').":</td>
|
||||
<td><input type='text' size=2 name='punkte' value='$mitarbeit'></td>
|
||||
</tr>
|
||||
</table>
|
||||
";
|
||||
|
||||
|
||||
echo "
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>
|
||||
<input type='button' value='".$p->t('global/zurueck')."' onclick='history.back();'>
|
||||
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
";
|
||||
}
|
||||
else if (is_numeric($_GET['uebung_id']))
|
||||
{
|
||||
$ueb_obj->load_studentuebung($uid, $uebung_id);
|
||||
if ($ueb_obj->abgabe_id)
|
||||
{
|
||||
$ueb_obj->load_abgabe($ueb_obj->abgabe_id);
|
||||
$filename = $ueb_obj->abgabedatei;
|
||||
}
|
||||
else
|
||||
$filename='';
|
||||
//Abgaben benoten
|
||||
$studentnote = new studentnote($lehreinheit_id,$stsem,$uid,$uebung_id);
|
||||
$studentnote->calc_note($uebung_id, $uid);
|
||||
echo "<span class='studentnote'>".$p->t('benotungstool/note').": ".$studentnote->note." (Gewicht: ".$ueb_obj->gewicht.")</span><br><br>";
|
||||
if ($filename != '')
|
||||
echo $p->t('benotungstool/abgabedatei').": <a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid&download_abgabe=$filename'>".$filename."</a><br><br>";
|
||||
echo "
|
||||
<form accept-charset='UTF-8' method='POST' action='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid'>
|
||||
<table width='100%'><tr><td valign='top'>
|
||||
".$p->t('global/anmerkung').":<br>
|
||||
<textarea name='anmerkung' cols=50 rows=5>".$anmerkung."</textarea>
|
||||
</td><td>
|
||||
<table border='1'>
|
||||
<tr>
|
||||
<td class='ContentHeader2'>Note</td>
|
||||
<td><input type='text' name='note' value='$note'><input type='hidden' name='abgabe' value='1'></td>
|
||||
</tr>";
|
||||
echo "
|
||||
<tr>
|
||||
<td colspan='2'>
|
||||
<input type='button' value='".$p->t('global/zurueck')."' onclick='history.back();'>
|
||||
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</form>";
|
||||
|
||||
}
|
||||
echo "</td></tr></table>";
|
||||
echo "<table>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <form accept-charset='UTF-8' method='POST' action='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&uid=$uid' enctype='multipart/form-data'>\n";
|
||||
echo " <td>\n";
|
||||
echo " <b>".$p->t('benotungstool/studentenabgabedatei').":</b><br><input type='file' name='abgabedatei'> <input type='submit' name='abgabe' value='".$p->t('benotungstool/abgeben')."'>";
|
||||
echo " </td>\n";
|
||||
echo " </form>\n";
|
||||
echo "</tr>\n";
|
||||
echo "</table>";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//Übungen benoten
|
||||
$uebung_obj = new uebung();
|
||||
$uebung_obj->load_uebung($lehreinheit_id,1);
|
||||
if(count($uebung_obj->uebungen)>0)
|
||||
{
|
||||
echo "<table width='100%'><tr><td valign='top'>";
|
||||
echo "<br>".$p->t('benotungstool/aufgabeKreuzerllistenAbgaben').": <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid' selected></option>";
|
||||
foreach ($uebung_obj->uebungen as $row)
|
||||
{
|
||||
|
||||
if($uebung_id == $row->uebung_id)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
if($uebung_id=='')
|
||||
$uebung_id=$row->uebung_id;
|
||||
|
||||
$subuebung_obj = new uebung();
|
||||
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
|
||||
if(count($subuebung_obj->uebungen)>0)
|
||||
{
|
||||
$disabled = 'disabled';
|
||||
$selected = '';
|
||||
}
|
||||
else
|
||||
$disabled = '';
|
||||
|
||||
echo "<OPTION style='background-color:#cccccc;' value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id&uid=$uid' $selected $disabled>";
|
||||
|
||||
|
||||
echo $row->bezeichnung;
|
||||
echo '</OPTION>';
|
||||
|
||||
if(count($subuebung_obj->uebungen)>0)
|
||||
{
|
||||
foreach ($subuebung_obj->uebungen as $subrow)
|
||||
{
|
||||
if($uebung_id=='')
|
||||
$uebung_id=$subrow->uebung_id;
|
||||
|
||||
if($uebung_id == $subrow->uebung_id)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$uid' $selected>";
|
||||
|
||||
|
||||
//Freigegeben = +
|
||||
//Nicht Freigegeben = -
|
||||
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
|
||||
echo ' + ';
|
||||
else
|
||||
echo ' - ';
|
||||
|
||||
echo $subrow->bezeichnung;
|
||||
echo '</OPTION>';
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo '</SELECT>';
|
||||
echo "<a href='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem' target='_blank'> [".$p->t('benotungstool/benoten')."]</a>";
|
||||
$abgabe_obj = new uebung($uebung_id);
|
||||
if ($abgabe_obj->abgabe && glob(BENOTUNGSTOOL_PATH."abgabe/*_[WS]S[0-9][0-9][0-9][0-9]_".$uebung_id."_*"))
|
||||
{
|
||||
$date = date('Y-m-d_H:i:s');
|
||||
$downloadname = makeUploadName($db, $which="zip", $lehreinheit_id, $uebung_id, $stsem, $uid=null, $date);
|
||||
$downloadname = str_replace($uebung_id, str_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname);
|
||||
$downloadname = preg_replace('/[^A-Za-z0-9\-_]/', '',$downloadname);
|
||||
echo "<a href='zipdownload_benotungstool.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&downloadname=$downloadname'> [".$p->t('benotungstool/abgabenDownloaden')."]</a>";
|
||||
}
|
||||
else
|
||||
echo "[".$p->t('benotungstool/keineAbgabenVerfuegbar')."]";
|
||||
|
||||
echo '</td></tr></table>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
echo "<br><hr><br>";
|
||||
//Studentenliste
|
||||
echo $p->t('benotungstool/bitteWaehlenSieDenStudentenAus')."<br>";
|
||||
echo "
|
||||
<table width='80%'>
|
||||
";
|
||||
|
||||
echo "<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='ContentHeader2'>".$p->t('global/uid')."</td>
|
||||
<td class='ContentHeader2'>".$p->t('global/nachname')."</td>
|
||||
<td class='ContentHeader2'>".$p->t('global/vorname')."</td>
|
||||
<td class='ContentHeader2'>".$p->t('benotungstool/studentenansicht')."</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>";
|
||||
/*
|
||||
if($row_grp->gruppe_kurzbz!='')
|
||||
{
|
||||
echo "
|
||||
<tr>
|
||||
<td colspan='4' align='center'><b>$row_grp->gruppe_kurzbz</b></td>
|
||||
</tr>";
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "
|
||||
<tr>
|
||||
<td colspan='4' align='center'><b>Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."</b></td>
|
||||
</tr>";
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student
|
||||
WHERE studiengang_kz='$row_grp->studiengang_kz' AND
|
||||
semester='$row_grp->semester' ".
|
||||
($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":'').
|
||||
($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":'').
|
||||
" ORDER BY nachname, vorname";
|
||||
}
|
||||
*/
|
||||
// studentenquery
|
||||
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname";
|
||||
if($result_stud = $db->db_query($qry_stud))
|
||||
{
|
||||
$i=1;
|
||||
while($row_stud = $db->db_fetch_object($result_stud))
|
||||
{
|
||||
|
||||
|
||||
|
||||
echo "
|
||||
<tr class='liste".($i%2)."'>
|
||||
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->uid</a></td>
|
||||
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->nachname</a></td>
|
||||
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->vorname</a></td>
|
||||
<td><a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item' target='_blank'>".$p->t('benotungstool/studentenansicht')."</a></td>
|
||||
</tr>";
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
echo "</table>";
|
||||
}
|
||||
?>
|
||||
</td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,941 +0,0 @@
|
||||
<?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 <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]> and
|
||||
* Rudolf Hangl <[email protected]>.
|
||||
*/
|
||||
|
||||
require_once('../../../../config/cis.config.inc.php');
|
||||
require_once('../../../../include/basis_db.class.php');
|
||||
require_once('../../../../include/functions.inc.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/studiengang.class.php');
|
||||
require_once('../../../../include/studiensemester.class.php');
|
||||
require_once('../../../../include/lehreinheit.class.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/uebung.class.php');
|
||||
require_once('../../../../include/beispiel.class.php');
|
||||
require_once('../../../../include/datum.class.php');
|
||||
require_once('functions.inc.php');
|
||||
require_once('../../../../include/phrasen.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
||||
|
||||
|
||||
function microtime_float()
|
||||
{
|
||||
list($usec, $sec) = explode(" ", microtime());
|
||||
return ((float)$usec + (float)$sec);
|
||||
}
|
||||
$time = microtime_float();
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
<title>Kreuzerltool</title>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
<!--
|
||||
function MM_jumpMenu(targ, selObj, restore)
|
||||
{
|
||||
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
|
||||
|
||||
if(restore)
|
||||
{
|
||||
selObj.selectedIndex = 0;
|
||||
}
|
||||
}
|
||||
function confirmdelete()
|
||||
{
|
||||
return confirm('<?php echo $p->t('gesamtnote/wollenSieWirklichLoeschen');?>');
|
||||
}
|
||||
|
||||
//Aus- und Einblenden der Listen
|
||||
__js_page_array = new Array();
|
||||
|
||||
function js_toggle_container(conid)
|
||||
{
|
||||
if (document.getElementById)
|
||||
{
|
||||
var block = "table-row";
|
||||
if (navigator.appName.indexOf('Microsoft') > -1)
|
||||
block = 'block';
|
||||
var status = __js_page_array[conid];
|
||||
if (status == null)
|
||||
status=document.getElementById(conid).style.display; //status = "none";
|
||||
if (status == "none")
|
||||
{
|
||||
document.getElementById(conid).style.display = block;
|
||||
__js_page_array[conid] = "visible";
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById(conid).style.display = 'none';
|
||||
__js_page_array[conid] = "none";
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<?php
|
||||
|
||||
$user = get_uid();
|
||||
if(!check_lektor($user))
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
|
||||
$lvid = $_GET['lvid'];
|
||||
else
|
||||
die($p->t('global/fehlerBeiDerParameteruebergabe'));
|
||||
|
||||
if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id
|
||||
$lehreinheit_id = $_GET['lehreinheit_id'];
|
||||
else
|
||||
$lehreinheit_id = '';
|
||||
|
||||
//Laden der Lehrveranstaltung
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
if(!$lv_obj->load($lvid))
|
||||
die($lv_obj->errormsg);
|
||||
|
||||
//Studiengang laden
|
||||
$stg_obj = new studiengang($lv_obj->studiengang_kz);
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
$stsem = '';
|
||||
|
||||
//Vars
|
||||
$datum_obj = new datum();
|
||||
$global_msg ='';
|
||||
$error_thema='';
|
||||
$error_anzahlderbeispiele='';
|
||||
$error_punkteprobeispiel='';
|
||||
$error_freigabebis='';
|
||||
$error_freigabevon='';
|
||||
$error_gewicht='';
|
||||
|
||||
$thema = (isset($_POST['thema'])?$_POST['thema']:'');
|
||||
$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:'');
|
||||
$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:'');
|
||||
$punkteprobeispiel = mb_ereg_replace(',','.',$punkteprobeispiel);
|
||||
$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:'');
|
||||
$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:'');
|
||||
$gewicht = (isset($_POST['gewicht'])?$_POST['gewicht']:'');
|
||||
$positiv = (isset($_POST['positiv'])?$_POST['positiv']:'');
|
||||
|
||||
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
|
||||
$copy_content = '';
|
||||
$copy_dropdown = '';
|
||||
|
||||
//Kopfzeile
|
||||
echo '<table width="100%"><tr><td><h1>'.$p->t('benotungstool/benotungstool');
|
||||
echo '</h1></td><td align="right">'."\n";
|
||||
|
||||
//Studiensemester laden
|
||||
$stsem_obj = new studiensemester();
|
||||
if($stsem=='')
|
||||
$stsem = $stsem_obj->getaktorNext();
|
||||
|
||||
$stsem_obj->getAll();
|
||||
|
||||
|
||||
//Studiensemester DropDown
|
||||
$stsem_content = $p->t('global/studiensemester').": <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
|
||||
foreach($stsem_obj->studiensemester as $studiensemester)
|
||||
{
|
||||
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
|
||||
$stsem_content.= "<OPTION value='verwaltung.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
|
||||
}
|
||||
$stsem_content.= "</SELECT>\n";
|
||||
|
||||
//Lehreinheiten laden
|
||||
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid=".$db->db_add_param($user).") AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($stsem);
|
||||
}
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
$result_alle_lehreinheiten = $result;
|
||||
if($db->db_num_rows($result)>1)
|
||||
{
|
||||
//Lehreinheiten DropDown
|
||||
echo $p->t('global/lehreinheit').": <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
|
||||
$copy_dropdown = "<select name='lehreinheit_id_target'><option></option>";
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($lehreinheit_id=='')
|
||||
$lehreinheit_id=$row->lehreinheit_id;
|
||||
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
|
||||
//Zugeteilte Lektoren
|
||||
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_lektoren = $db->db_query($qry_lektoren))
|
||||
{
|
||||
$lektoren = '( ';
|
||||
$i=0;
|
||||
while($row_lektoren = $db->db_fetch_object($result_lektoren))
|
||||
{
|
||||
$lektoren .= $row_lektoren->kurzbz;
|
||||
$i++;
|
||||
if($i<$db->db_num_rows($result_lektoren))
|
||||
$lektoren.=', ';
|
||||
else
|
||||
$lektoren.=' ';
|
||||
}
|
||||
$lektoren .=')';
|
||||
}
|
||||
|
||||
|
||||
//Zugeteilte Gruppen
|
||||
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_gruppen = $db->db_query($qry_gruppen))
|
||||
{
|
||||
$gruppen = '';
|
||||
$i=0;
|
||||
while($row_gruppen = $db->db_fetch_object($result_gruppen))
|
||||
{
|
||||
if($row_gruppen->gruppe_kurzbz=='')
|
||||
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
|
||||
else
|
||||
$gruppen.=$row_gruppen->gruppe_kurzbz;
|
||||
$i++;
|
||||
if($i<$db->db_num_rows($result_gruppen))
|
||||
$gruppen.=', ';
|
||||
else
|
||||
$gruppen.=' ';
|
||||
}
|
||||
}
|
||||
echo "<OPTION value='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
|
||||
if ($lehreinheit_id != $row->lehreinheit_id)
|
||||
$copy_dropdown .= "<option value='".$row->lehreinheit_id."'>$row->lfbez-$row->lehrform_kurzbz - $gruppen</option>";
|
||||
}
|
||||
echo '</SELECT> ';
|
||||
$copy_dropdown .="</select>";
|
||||
}
|
||||
else
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
$lehreinheit_id = $row->lehreinheit_id;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $p->t('benotungstool/fehlerBeimAuslesen');
|
||||
}
|
||||
echo $stsem_content;
|
||||
echo '</td><tr></table>';
|
||||
|
||||
echo '<table width="100%"><tr>';
|
||||
echo '<td class="tdwidth10"> </td>';
|
||||
echo "<td>\n";
|
||||
|
||||
echo "<h2>".$lv_obj->bezeichnung_arr[$sprache]."</h2>";
|
||||
|
||||
if($lehreinheit_id=='')
|
||||
die($p->t('benotungstool/esGibtKeineLehreinheiten'));
|
||||
|
||||
//Menue
|
||||
include("menue.inc.php");
|
||||
/*
|
||||
echo "\n<!--Menue-->\n";
|
||||
echo "<br>
|
||||
<a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Verwaltung</font>
|
||||
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Anwesenheits- und Übersichtstabelle</font></a>
|
||||
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Studentenpunkte verwalten</font></a>
|
||||
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'> Statistik</font></a>
|
||||
<br><br>
|
||||
<!--Menue Ende-->\n";
|
||||
*/
|
||||
|
||||
//echo "studiensemester: $stsem<br>";
|
||||
//echo "lehrveranstaltung: $lvid<br>";
|
||||
//echo "lehreinheit: $lehreinheit_id<br>";
|
||||
//Übung in andere LE kopieren
|
||||
|
||||
if (isset($_REQUEST["copy_uebung"]))
|
||||
{
|
||||
$copy_insert = 0;
|
||||
$copy_update = 0;
|
||||
$copy_insert_bsp = 0;
|
||||
$copy_update_bsp = 0;
|
||||
$uebung_id_source = $_REQUEST["uebung_id_source"];
|
||||
$lehreinheit_id_target = $_REQUEST["lehreinheit_id_target"];
|
||||
if (!is_numeric($uebung_id_source) or !is_numeric($lehreinheit_id_target))
|
||||
echo "<span class='error'>".$p->t('benotungstool/uebungUndLehreinheit')."!</span>";
|
||||
else
|
||||
{
|
||||
$ueb_1 = new uebung($uebung_id_source);
|
||||
$nummer_source = $ueb_1->nummer;
|
||||
$qry = "SELECT * from campus.tbl_uebung where nummer = ".$db->db_add_param($nummer_source)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id_target, FHC_INTEGER);
|
||||
//echo $qry;
|
||||
if($result1 = $db->db_query($qry))
|
||||
{
|
||||
if ($db->db_num_rows($result1) >0)
|
||||
{
|
||||
$row1 = $db->db_fetch_object($result1);
|
||||
$ueb_1_target =new uebung($row1->uebung_id);
|
||||
$ueb_1_target->new = false;
|
||||
$new = null;
|
||||
$ueb_1_target->insertamum = null;
|
||||
$ueb_1_target->insertvon = null;
|
||||
$ueb_1_target->updateamum = date('Y-m-d H:i:s');
|
||||
$ueb_1_target->updatevon = $user;
|
||||
$copy_update++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ueb_1_target =new uebung();
|
||||
$ueb_1_target->new = true;
|
||||
$new = true;
|
||||
$ueb_1_target->insertamum = date('Y-m-d H:i:s');
|
||||
$ueb_1_target->insertvon = $user;
|
||||
$ueb_1_target->updateamum = null;
|
||||
$ueb_1_target->updatevon = null;
|
||||
$copy_insert++;
|
||||
}
|
||||
$ueb_1_target->gewicht = $ueb_1->gewicht;
|
||||
$ueb_1_target->punkte = null;
|
||||
$ueb_1_target->angabedatei=null;
|
||||
$ueb_1_target->freigabevon = null;
|
||||
$ueb_1_target->freigabebis = null;
|
||||
$ueb_1_target->abgabe = false;
|
||||
$ueb_1_target->beispiele = false;
|
||||
$ueb_1_target->statistik = false;
|
||||
$ueb_1_target->maxstd = null;
|
||||
$ueb_1_target->maxbsp=null;
|
||||
$ueb_1_target->liste_id=null;
|
||||
$ueb_1_target->bezeichnung = $ueb_1->bezeichnung;
|
||||
$ueb_1_target->positiv = $ueb_1->positiv;
|
||||
$ueb_1_target->defaultbemerkung = $ueb_1->defaultbemerkung;
|
||||
$ueb_1_target->lehreinheit_id = $lehreinheit_id_target;
|
||||
$ueb_1_target->nummer = $nummer_source;
|
||||
|
||||
if (!$ueb_1_target->save($new))
|
||||
{
|
||||
$error = 1;
|
||||
echo "<span class='error'>".$p->t('benotungstool/hauptuebungKonnteNichtKopiertWerden')."!</span>";
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
// Subübungen durchlaufen
|
||||
$error = 0;
|
||||
$ueb_2 = new uebung();
|
||||
$ueb_2->load_uebung($lehreinheit_id,2,$uebung_id_source);
|
||||
|
||||
$ueb_2anzahl = count($ueb_2->uebungen);
|
||||
if ($ueb_2anzahl >0)
|
||||
{
|
||||
foreach ($ueb_2->uebungen as $subrow)
|
||||
{
|
||||
|
||||
$nummer_source2 = $subrow->nummer;
|
||||
$qry2 = "SELECT * from campus.tbl_uebung where nummer = ".$db->db_add_param($nummer_source2)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id_target, FHC_INTEGER);
|
||||
$result2 = $db->db_query($qry2);
|
||||
|
||||
if ($db->db_num_rows($result2) >0)
|
||||
{
|
||||
$row2 = $db->db_fetch_object($result2);
|
||||
$ueb_2_target =new uebung($row2->uebung_id);
|
||||
$ueb_2_target->new = false;
|
||||
$new = null;
|
||||
$ueb_2_target->insertamum = null;
|
||||
$ueb_2_target->insertvon = null;
|
||||
$ueb_2_target->updateamum = date('Y-m-d H:i:s');
|
||||
$ueb_2_target->updatevon = $user;
|
||||
$copy_update++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ueb_2_target =new uebung();
|
||||
$ueb_2_target->new = true;
|
||||
$new = true;
|
||||
$ueb_2_target->insertamum = date('Y-m-d H:i:s');
|
||||
$ueb_2_target->insertvon = $user;
|
||||
$ueb_2_target->updateamum = null;
|
||||
$ueb_2_target->updatevon = null;
|
||||
$copy_insert++;
|
||||
}
|
||||
$ueb_2_target->gewicht = $subrow->gewicht;
|
||||
$ueb_2_target->punkte = $subrow->punkte;
|
||||
$ueb_2_target->angabedatei=null;
|
||||
$ueb_2_target->freigabevon = $subrow->freigabevon;
|
||||
$ueb_2_target->freigabebis = $subrow->freigabebis;
|
||||
$ueb_2_target->abgabe = $subrow->abgabe;
|
||||
$ueb_2_target->beispiele = $subrow->beispiele;
|
||||
$ueb_2_target->statistik = $subrow->statistik;
|
||||
$ueb_2_target->maxstd = $subrow->maxstd;
|
||||
$ueb_2_target->maxbsp=$subrow->maxbsp;
|
||||
$ueb_2_target->liste_id=$ueb_1_target->uebung_id;
|
||||
$ueb_2_target->bezeichnung = $subrow->bezeichnung;
|
||||
$ueb_2_target->positiv = $subrow->positiv;
|
||||
$ueb_2_target->defaultbemerkung = $subrow->defaultbemerkung;
|
||||
$ueb_2_target->lehreinheit_id = $lehreinheit_id_target;
|
||||
$ueb_2_target->nummer = $nummer_source2;
|
||||
|
||||
if (!$ueb_2_target->save($new))
|
||||
{
|
||||
$error = 1;
|
||||
echo "<span class='error'>".$p->t('benotungstool/uebungKonnteNichtKopiertWerden')."!</span>";
|
||||
}
|
||||
|
||||
//angabedatei syncen
|
||||
if ($subrow->angabedatei != "")
|
||||
{
|
||||
$angabedatei_source = $subrow->angabedatei;
|
||||
$angabedatei_target = makeUploadName($db, 'angabe', $lehreinheit_id, $ueb_2_target->uebung_id, $stsem);
|
||||
$angabedatei_target .= ".".mb_substr($angabedatei_source, mb_strrpos($angabedatei_source, '.') + 1);
|
||||
echo $angabedatei_source."->".$angabedatei_target."<br>";
|
||||
exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target);
|
||||
$angabeupdate = "update campus.tbl_uebung set angabedatei = ".$db->db_add_param($angabedatei_target)." where uebung_id = ".$db->db_add_param($ueb_2_target->uebung_id, FHC_INTEGER);
|
||||
$db->db_query($angabeupdate);
|
||||
}
|
||||
|
||||
if (($error == 0) and $ueb_2_target->beispiele)
|
||||
{
|
||||
// beispiele synchronisieren
|
||||
$bsp_obj = new beispiel();
|
||||
$bsp_obj->load_beispiel($subrow->uebung_id);
|
||||
foreach ($bsp_obj->beispiele as $bsp)
|
||||
{
|
||||
$nummer_source_bsp = $bsp->nummer;
|
||||
$qrybsp = "SELECT * from campus.tbl_beispiel where nummer = ".$db->db_add_param($nummer_source_bsp)." and uebung_id = ".$db->db_add_param($ueb_2_target->uebung_id, FHC_INTEGER);
|
||||
$resultbsp = $db->db_query($qrybsp);
|
||||
|
||||
if ($db->db_num_rows($resultbsp) >0)
|
||||
{
|
||||
$rowbsp = $db->db_fetch_object($resultbsp);
|
||||
$bsp_target =new beispiel($rowbsp->beispiel_id);
|
||||
$bsp_target->new = false;
|
||||
$new = null;
|
||||
$bsp_target->insertamum = null;
|
||||
$bsp_target->insertvon = null;
|
||||
$bsp_target->updateamum = date('Y-m-d H:i:s');
|
||||
$bsp_target->updatevon = $user;
|
||||
$copy_update_bsp++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$bsp_target =new beispiel();
|
||||
$bsp_target->new = true;
|
||||
$new = true;
|
||||
$bsp_target->insertamum = date('Y-m-d H:i:s');
|
||||
$bsp_target->insertvon = $user;
|
||||
$bsp_target->updateamum = null;
|
||||
$bsp_target->updatevon = null;
|
||||
$copy_insert_bsp++;
|
||||
}
|
||||
$bsp_target->uebung_id = $ueb_2_target->uebung_id;
|
||||
$bsp_target->nummer = $nummer_source_bsp;
|
||||
$bsp_target->bezeichnung = $bsp->bezeichnung;
|
||||
$bsp_target->punkte = $bsp->punkte;
|
||||
|
||||
if (!$bsp_target->save($new))
|
||||
{
|
||||
$error = 1;
|
||||
echo "<span class='error'>".$p->t('benotungstool/beispieleKonntenNichtAngelegtWerden')."</span>";
|
||||
}
|
||||
|
||||
//Notenschlüssel synchronisieren
|
||||
$clear = "delete from campus.tbl_notenschluesseluebung where uebung_id = ".$db->db_add_param($ueb_1_target->uebung_id, FHC_INTEGER);
|
||||
$db->db_query($clear);
|
||||
|
||||
$qry_ns_source = "SELECT * from campus.tbl_notenschluesseluebung where uebung_id = ".$db->db_add_param($uebung_id_source, FHC_INTEGER);
|
||||
$result_ns_source = $db->db_query($qry_ns_source);
|
||||
while($row_ns = $db->db_fetch_object($result_ns_source))
|
||||
{
|
||||
$ns_insert = "INSERT INTO campus.tbl_notenschluesseluebung values (".$db->db_add_param($ueb_1_target->uebung_id).",".$db->db_add_param($row_ns->note).", ".$db->db_add_param($row_ns->punkte).")";
|
||||
$db->db_query($ns_insert);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
echo "<span class='error'>".$p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')."!</span>";
|
||||
|
||||
if ($error == 0)
|
||||
echo $p->t('benotungstool/uebungErfolgreichKopiert')."! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo "<h3>".$p->t('benotungstool/uebungenAnlegenUndVerwalten')."</h3>";
|
||||
echo "</tr></table>";
|
||||
|
||||
//Anlegen einer neuen Uebung
|
||||
if(isset($_POST['uebung_neu']))
|
||||
{
|
||||
if(isset($thema))
|
||||
{
|
||||
//pruefen ob alle Daten eingegeben wurden
|
||||
$error=false;
|
||||
$error_msg = '';
|
||||
if($thema=='')
|
||||
{
|
||||
//$error_thema .= "<span class='error'>Thema muss eingegeben werden</span>";
|
||||
echo "<span class='error'>".$p->t('benotungstool/themaMussEingegebenWerden')."</span>";
|
||||
$error=true;
|
||||
}
|
||||
if(!is_numeric($gewicht))
|
||||
{
|
||||
echo "<span class='error'>".$p->t('benotungstool/gewichtMussEineZahlSein')."</span>";
|
||||
$error = true;
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
//Uebung anlegen
|
||||
$datum_obj = new datum();
|
||||
$uebung_obj = new uebung();
|
||||
$uebung_obj->gewicht=$gewicht;
|
||||
$uebung_obj->punkte='';
|
||||
$uebung_obj->angabedatei='';
|
||||
$uebung_obj->freigabevon = null;
|
||||
$uebung_obj->freigabebis = null;
|
||||
$uebung_obj->abgabe=false;
|
||||
$uebung_obj->beispiele=false;
|
||||
$uebung_obj->bezeichnung=$thema;
|
||||
$uebung_obj->positiv=isset($_POST['positiv']);
|
||||
$uebung_obj->defaultbemerkung='';
|
||||
$uebung_obj->lehreinheit_id=$lehreinheit_id;
|
||||
$uebung_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$uebung_obj->updatevon = $user;
|
||||
$uebung_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$uebung_obj->insertvon = $user;
|
||||
$uebung_obj->statistik = false;
|
||||
$uebung_obj->liste_id = null;
|
||||
$uebung_obj->get_next_nummer();
|
||||
$uebung_obj->nummer = $uebung_obj->next_nummer;
|
||||
|
||||
if($uebung_obj->save(true))
|
||||
{
|
||||
if($error_msg!='')
|
||||
echo "<span class='error'>$error_msg</span>";
|
||||
//else
|
||||
// header("Location: verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$uebung_obj->uebung_id");
|
||||
}
|
||||
else
|
||||
echo "<span class='error'>$uebung_obj->errormsg</span>";
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
echo "<span class='error'>".$p->t('benotungstool/uebungKonnteNichtAngelegtWerden')."!</span><br>";
|
||||
}
|
||||
|
||||
|
||||
//Loeschen einer Uebung
|
||||
if(isset($_POST['delete_uebung']))
|
||||
{
|
||||
if(isset($_POST['uebung']))
|
||||
{
|
||||
$ueb_obj = new uebung();
|
||||
$error_msg='';
|
||||
//Ausgewaehlte Beispiele holen
|
||||
$delete_ids = $_POST['uebung'];
|
||||
foreach($delete_ids as $id)
|
||||
{
|
||||
//Beispiel loeschen
|
||||
if(!$ueb_obj->delete($id))
|
||||
$error_msg=$ueb_obj->errormsg;
|
||||
}
|
||||
if($error_msg!='')
|
||||
echo "<span class='error'>$error_msg</span>";
|
||||
}
|
||||
}
|
||||
|
||||
//Editieren einer Uebung
|
||||
if(isset($_POST['uebung_edit']))
|
||||
{
|
||||
$error = false;
|
||||
if($thema=='')
|
||||
{
|
||||
echo "<span class='error'>".$p->t('benotungstool/themaMussEingegebenWerden')."'</span>";
|
||||
$error = true;
|
||||
}
|
||||
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$uebung_obj = new uebung($uebung_id);
|
||||
$uebung_obj->gewicht='';
|
||||
$uebung_obj->punkte='';
|
||||
$uebung_obj->angabedatei='';
|
||||
$uebung_obj->freigabevon = null;
|
||||
$uebung_obj->freigabebis = null;
|
||||
$uebung_obj->abgabe=false;
|
||||
$uebung_obj->beispiele=false;
|
||||
$uebung_obj->bezeichnung=$thema;
|
||||
$uebung_obj->positiv=true;
|
||||
$uebung_obj->defaultbemerkung='';
|
||||
$uebung_obj->lehreinheit_id=$lehreinheit_id;
|
||||
$uebung_obj->updateamum = date('Y-m-d H:i:s');
|
||||
$uebung_obj->updatevon = $user;
|
||||
$uebung_obj->uebung_id = $uebung_id;
|
||||
$uebung_obj->statistik = false;
|
||||
|
||||
if($uebung_obj->save(false))
|
||||
header("Location: verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id");
|
||||
//echo "Die Änderung wurde gespeichert!";
|
||||
else
|
||||
echo "<span class='error'>$uebung_obj->errormsg</span>";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//Eine Uebung in eine andere Lehreinheit kopieren
|
||||
if(isset($_GET['kopieren']) && $_GET['kopieren']=='true')
|
||||
{
|
||||
//echo "Kopiere Uebung ".$_GET['uebung_copy_id']." to ".$_POST['lehreinheit_copy_id'];
|
||||
//Laden der zu kopierenden Uebung
|
||||
if(is_numeric($_GET['uebung_copy_id']) && is_numeric($_POST['lehreinheit_copy_id']))
|
||||
{
|
||||
//Source Uebung Laden
|
||||
$qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id=".$db->db_add_param($_GET['uebung_copy_id'], FHC_INTEGER);
|
||||
if($result_source = $db->db_query($qry))
|
||||
{
|
||||
if($row_source = $db->db_fetch_object($result_source))
|
||||
{
|
||||
//Berechtigung Checken
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_copy_id'], FHC_INTEGER)." AND mitarbeiter_uid=".$db->db_add_param($user);
|
||||
if($row_berechtigt = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($row_berechtigt)>0 ||
|
||||
$rechte->isBerechtigt('admin',0) ||
|
||||
$rechte->isBerechtigt('admin',$lv_obj->studiengang_kz)
|
||||
|| $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
|
||||
{
|
||||
//Schauen ob bereits eine uebung mit diesem Namen vorhanden ist
|
||||
$qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_copy_id'], FHC_INTEGER)." AND bezeichnung=".$db->db_add_param($row_source->bezeichnung);
|
||||
$result_bezeichnung_exists = $db->db_query($qry);
|
||||
if($db->db_num_rows($result_bezeichnung_exists)==0)
|
||||
{
|
||||
//Uebung einfuegen
|
||||
$uebung_dest = new uebung();
|
||||
$uebung_dest->gewicht = $row_source->punkte;
|
||||
$uebung_dest->punkte = $row_source->punkte;
|
||||
$uebung_dest->angabedatei = $row_source->angabedatei;
|
||||
$uebung_dest->freigabevon = $row_source->freigabevon;
|
||||
$uebung_dest->freigabebis = $row_source->freigabebis;
|
||||
$uebung_dest->abgabe = ($row_source->abgabe=='t'?true:false);
|
||||
$uebung_dest->beispiele = ($row_source->beispiele=='t'?true:false);
|
||||
$uebung_dest->bezeichnung = $row_source->bezeichnung;
|
||||
$uebung_dest->positiv = ($row_source->positiv=='t'?true:false);
|
||||
$uebung_dest->statistik = ($row_source->statistik=='t'?true:false);
|
||||
$uebung_dest->defaultbemerkung = $row_source->defaultbemerkung;
|
||||
$uebung_dest->lehreinheit_id = $_POST['lehreinheit_copy_id'];
|
||||
$ubeung_dest->updateamum = date('Y-m-d H:i:s');
|
||||
$uebung_dest->updatevon = $user;
|
||||
$uebung_dest->insertamum = date('Y-m-d H:i:s');
|
||||
$uebung_dest->insertvon = $user;
|
||||
|
||||
if($uebung_dest->save(true))
|
||||
{
|
||||
//Beispiel laden
|
||||
$qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($_GET['uebung_copy_id'], FHC_INTEGER);
|
||||
if($result_bsp_source = $db->db_query($qry))
|
||||
{
|
||||
$error_bsp_save=false;
|
||||
while($row_bsp_source = $db->db_fetch_object($result_bsp_source))
|
||||
{
|
||||
//Beispiel speichern
|
||||
$beispiel_dest = new beispiel();
|
||||
$beispiel_dest->uebung_id = $uebung_dest->uebung_id;
|
||||
$beispiel_dest->bezeichnung = $row_bsp_source->bezeichnung;
|
||||
$beispiel_dest->punkte = $row_bsp_source->punkte;
|
||||
$beispiel_dest->updateamum = date('Y-m-d H:i:s');
|
||||
$beispiel_dest->updatevon = $user;
|
||||
$beispiel_dest->insertamum = date('Y-m-d H:i:s');
|
||||
$beispiel_dest->insertvon = $user;
|
||||
|
||||
if(!$beispiel_dest->save(true))
|
||||
$error_bsp_save=true;
|
||||
}
|
||||
|
||||
if($error_bsp_save)
|
||||
echo "<span class='error'>".$p->t('benotungstool/fehlerNichtAlleBeispieleKopiert')."</span>";
|
||||
else
|
||||
echo $p->t('benotungstool/datenErfolgreichKopiert');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
echo "<span class='error'>".$p->t('benotungstool/fehlerKopierenDerDaten').": $uebung_dest->errormsg</span>";
|
||||
}
|
||||
}
|
||||
else
|
||||
echo "<span class='error'>".$p->t('benotungstool/fehlerBeimKopieren')."!</span>";
|
||||
}
|
||||
else
|
||||
echo "<span class='error'>".$p->t('global/keineBerechtigungFuerDieseSeite')."</span>";
|
||||
}
|
||||
}
|
||||
else
|
||||
echo "<span class='error'>".$p->t('benotungstool/uebung')." ".$_GET['uebung_copy_id']." ".$p->t('benotungstool/wurdeNichtGefunden')."</span>";
|
||||
}
|
||||
else
|
||||
echo "<span class='error'>".$p->t('benotungstool/uebung')." ".$_GET['uebung_copy_id']." ".$p->t('benotungstool/wurdeNichtGefunden')."</span>";
|
||||
}
|
||||
else
|
||||
echo "<span class='error'>".$p->t('global/fehlerBeiDerParameteruebergabe')."</span>";
|
||||
}
|
||||
|
||||
//Uebersichtstabelle
|
||||
if(isset($uebung_id) && $uebung_id!='')
|
||||
{
|
||||
echo "<table><tr><td valign='top'>";
|
||||
//Bearbeiten der ausgewaehlten Uebung
|
||||
echo "<form action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' method=POST>\n";
|
||||
echo "<table><tr><td colspan='2' width='340' class='ContentHeader3'>".$p->t('benotungstool/ausgewaehlteUebungBearbeiten')."</td><td> </td></tr>\n";
|
||||
echo "<tr><td> </td><td></td></tr>";
|
||||
|
||||
$uebung_obj = new uebung();
|
||||
$uebung_obj->load($uebung_id);
|
||||
|
||||
echo "
|
||||
<tr><td>".$p->t('benotungstool/thema')."</td><td align='right'><input type='text' name='thema' maxlength='32' value='$uebung_obj->bezeichnung'></td><td>$error_thema</td></tr>
|
||||
<!--
|
||||
<tr><td>".$p->t('benotungstool/freigabe')."</td><td align='right'>von <input type='text' size='16' name='freigabevon' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))."'></td></tr>
|
||||
<tr><td>".$p->t('benotungstool/format')."</td><td align='right'>bis <input type='text' size='16' name='freigabebis' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis))."'></td></tr>
|
||||
<tr><td>".$p->t('benotungstool/statistikFuerStudentenAnzeigen')." <input type='checkbox' name='statistik' ".($uebung_obj->statistik?'checked':'')."></td><td></td></tr>
|
||||
-->
|
||||
<tr><td colspan=2 align='right'><input type='submit' name='uebung_edit' value='".$p->t('global/speichern')."'></td></tr>
|
||||
</table>
|
||||
</form>";
|
||||
|
||||
$beispiel_obj = new beispiel();
|
||||
$beispiel_obj->load_beispiel($uebung_id);
|
||||
$anzahl = count($beispiel_obj->beispiele);
|
||||
echo "</td><td valign='top'>";
|
||||
|
||||
echo "</td></tr><tr><td valign='top'>";
|
||||
|
||||
echo "</td><td valign='top'>";
|
||||
}
|
||||
else
|
||||
{
|
||||
//Gesamtuebersicht ueber alle Uebungen
|
||||
|
||||
echo "<table><tr><td valign='top'>";
|
||||
echo "<form accept-charset='UTF-8' name='del' action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' method='POST'>";
|
||||
echo "<table width='440'><tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/vorhandeneUebungenBearbeiten')."</td></tr>";
|
||||
|
||||
$uebung_obj = new uebung();
|
||||
$uebung_obj->load_uebung($lehreinheit_id,$level=1,$uebung_id=null);
|
||||
$anzahl = count($uebung_obj->uebungen);
|
||||
//$copy_content="<table cellpadding=0><tr><td class='ContentHeader3'>Übung in andere LE kopieren</td></tr><tr><td></td><td></td><td> </td></tr><tr><th> </th></tr>";
|
||||
$has_copy_content=false;
|
||||
if($anzahl>0)
|
||||
{
|
||||
echo "<tr><td></td><td></td><td> </td><td></td></tr><tr><th>".$p->t('benotungstool/thema')."</th><th>".$p->t('benotungstool/freigeschalten')."</th><th>".$p->t('benotungstool/auswahl')."</th></tr>";
|
||||
|
||||
//Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren
|
||||
//und der angemeldete User berechtigt ist
|
||||
$copy_option_content = array();
|
||||
for($i=0;$i<$db->db_num_rows($result_alle_lehreinheiten);$i++)
|
||||
{
|
||||
$row_alle_lehreinheiten = $db->db_fetch_object($result_alle_lehreinheiten,$i);
|
||||
if($lehreinheit_id!=$row_alle_lehreinheiten->lehreinheit_id)
|
||||
{
|
||||
//zugeteilte Lektoren holen
|
||||
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id=".$db->db_add_param($row_alle_lehreinheiten->lehreinheit_id,FHC_INTEGER);
|
||||
if($result_lektoren = $db->db_query($qry_lektoren))
|
||||
{
|
||||
$lektoren = '( ';
|
||||
$j=0;
|
||||
while($row_lektoren = $db->db_fetch_object($result_lektoren))
|
||||
{
|
||||
$lektoren .= $row_lektoren->kurzbz;
|
||||
$j++;
|
||||
if($j<$db->db_num_rows($result_lektoren))
|
||||
$lektoren.=', ';
|
||||
else
|
||||
$lektoren.=' ';
|
||||
}
|
||||
$lektoren .=')';
|
||||
}
|
||||
//zugeteilte Gruppen holen
|
||||
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row_alle_lehreinheiten->lehreinheit_id, FHC_INTEGER);
|
||||
if($result_gruppen = $db->db_query($qry_gruppen))
|
||||
{
|
||||
$gruppen = '';
|
||||
$j=0;
|
||||
while($row_gruppen = $db->db_fetch_object($result_gruppen))
|
||||
{
|
||||
if($row_gruppen->gruppe_kurzbz=='')
|
||||
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
|
||||
else
|
||||
$gruppen.=$row_gruppen->gruppe_kurzbz;
|
||||
$j++;
|
||||
if($j<$db->db_num_rows($result_gruppen))
|
||||
$gruppen.=', ';
|
||||
else
|
||||
$gruppen.=' ';
|
||||
}
|
||||
}
|
||||
//$copy_option_content.= "<OPTION value='$row_alle_lehreinheiten->lehreinheit_id'>$row_alle_lehreinheiten->lfbez - $gruppen $lektoren</OPTION>\n";
|
||||
$copy_le_content[$row_alle_lehreinheiten->lehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren";
|
||||
}
|
||||
|
||||
}
|
||||
$uebung_id_source_dropdown = "<select name='uebung_id_source'><option></option>";
|
||||
//Uebungen durchlaufen
|
||||
foreach ($uebung_obj->uebungen as $row)
|
||||
{
|
||||
$uebung_id_source_dropdown .= "<option value='$row->uebung_id'>$row->bezeichnung</option>";
|
||||
$has_option_content=false;
|
||||
echo "<tr height=23><td align='left'>";
|
||||
echo "<a onClick='return(js_toggle_container(\"submenu_$row->uebung_id\"));' class='MenuItem'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'></a> <a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$row->uebung_id' class='Item'><u>".$row->bezeichnung."</u></a>";
|
||||
echo "</td><td align='center'>";
|
||||
|
||||
//if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time()))
|
||||
// echo 'Ja';
|
||||
//else
|
||||
// echo 'Nein';
|
||||
echo "</td><td align='center'><input type='Checkbox' name='uebung[]' value='$row->uebung_id'></td>";
|
||||
echo "<!--<form name='copy' action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' method='POST'><td><input type='hidden' name='uebung_id_source' value='".$row->uebung_id."'>".$copy_dropdown."<input type='submit' name='copy_uebung' value='>'></td></form>-->";
|
||||
echo "</tr>";
|
||||
|
||||
$subuebung_obj = new uebung();
|
||||
$subuebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$row->uebung_id);
|
||||
$subanzahl = count($subuebung_obj->uebungen);
|
||||
echo "<tr><td colspan='3'>";
|
||||
echo "<table id='submenu_".$row->uebung_id."' style='display:none;' width='400'>";
|
||||
//echo "<ul style='margin-top: 0px; margin-bottom: 0px;'>";
|
||||
foreach ($subuebung_obj->uebungen as $subrow)
|
||||
{
|
||||
echo "<tr><td width='200'><li style='margin-left:20px;'><a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&liste_id=$row->uebung_id'>".$subrow->bezeichnung."</a></li></td><td width='150'>";
|
||||
if((strtotime(strftime($subrow->freigabevon))<=time()) && (strtotime(strftime($subrow->freigabebis))>=time()))
|
||||
echo $p->t('global/ja');
|
||||
else
|
||||
echo $p->t('global/nein');
|
||||
echo "</td><td align='center'><input type='Checkbox' name='uebung[]' value='$subrow->uebung_id'></td></tr>";
|
||||
}
|
||||
//echo "</ul>";
|
||||
echo "</table>";
|
||||
echo "</td></tr>";
|
||||
}
|
||||
echo "<tr><td colspan='3' align='right'><input type='Submit' value='".$p->t('benotungstool/auswahlLoeschen')."' name='delete_uebung' onclick='return confirmdelete();'></td><td></td></tr>";
|
||||
echo "</form>";
|
||||
if ($copy_dropdown != '')
|
||||
{
|
||||
echo "<tr><td colspan='3'> </td></tr>";
|
||||
echo "<tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/vorhandeneUebungenKopieren')."</td></tr>";
|
||||
|
||||
$uebung_id_source_dropdown .= "</select>";
|
||||
echo "<tr><td colspan='3'>";
|
||||
echo "<form name='copy' action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' method='POST'><table><tr><td>".$p->t('benotungstool/uebung')."</td><td></td><td>".$p->t('global/lehreinheit')."</td><td></td></tr><tr><td>".$uebung_id_source_dropdown."</td><td>-></td><td>".$copy_dropdown."</td><td><input type='submit' name='copy_uebung' value='".$p->t('global/kopieren')."'></td></tr></table></form>";
|
||||
echo "</td></tr>";
|
||||
}
|
||||
}
|
||||
else
|
||||
echo "<tr><td colspan='3'>".$p->t('benotungstool/derzeitSindKeineUebungenAngelegt')."</td><td></td></tr>";
|
||||
|
||||
echo "</table>
|
||||
<br><br>";
|
||||
|
||||
|
||||
//Kopier-Buttons anzeigen
|
||||
//$copy_content.='</table>';
|
||||
//echo "</td><td valign='top'>";
|
||||
//if($has_copy_content)
|
||||
// echo $copy_content;
|
||||
//echo "</td></tr></table>";
|
||||
|
||||
//Uebung neu anlegen
|
||||
if(!isset($_POST['uebung_neu']))
|
||||
{
|
||||
$thema = $p->t('benotungstool/uebung')." ".($anzahl<9?'0'.($anzahl+1):($anzahl+1));
|
||||
$anzahlderbeispiele = 10;
|
||||
$punkteprobeispiel = 1;
|
||||
$freigabevon = date('d.m.Y H:i');
|
||||
$freigabebis = date('d.m.Y H:i');
|
||||
}
|
||||
|
||||
echo "</td><td valign='top'>";
|
||||
echo "
|
||||
<form action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' method=POST>
|
||||
<table >
|
||||
<tr><td width='440' colspan=2 class='ContentHeader3'>".$p->t('benotungstool/neueUebungAnlegen')."</td><td></td></tr>
|
||||
<tr><td>".$p->t('benotungstool/thema')."</td><td align='right'><input type='text' name='thema' maxlength='32' value='$thema'></td><td><span class='error'>$error_thema</td></tr>
|
||||
<tr><td>".$p->t('benotungstool/gewicht')."</td><td align='right'><input type='text' size='16' name='gewicht' value='1'></td><td>$error_gewicht</td></tr>
|
||||
<tr><td>".$p->t('benotungstool/positiv')." </td><td><input type='checkbox' name='positiv'></td></tr>
|
||||
<!--
|
||||
<tr><td>".$p->t('benotungstool/anzahlDerBeispiele')."</td><td align='right'><input type='text' name='anzahlderbeispiele' maxlength='2' size='2' value='$anzahlderbeispiele'></td><td>$error_anzahlderbeispiele</td></tr>
|
||||
<tr><td>".$p->t('benotungstool/anzahlPunkteProBeispiel')."</td><td align='right'><input type='text' name='punkteprobeispiel' value='$punkteprobeispiel'></td><td>$error_punkteprobeispiel</td></tr>
|
||||
<tr><td>".$p->t('benotungstool/freigabe')."</td><td align='right'>von <input type='text' size='16' name='freigabevon' value='$freigabevon'></td><td>$error_freigabevon</td></tr>
|
||||
<tr><td>".$p->t('benotungstool/format')."</td><td align='right'>bis <input type='text' size='16' name='freigabebis' value='$freigabebis'></td><td>$error_freigabebis</td></tr>
|
||||
<tr><td>".$p->t('benotungstool/statistikFuerStudentenAnzeigen')." <input type='checkbox' name='statistik'></td><td></td></tr>
|
||||
-->
|
||||
<tr><td colspan=2 align='right'><input type='submit' name='uebung_neu' value='".$p->t('benotungstool/anlegen')."'></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
";
|
||||
}
|
||||
?>
|
||||
</td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user