mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-22 09:22:22 +00:00
Merge branch 'master' into lvgruppen
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
<?php
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
// Header menu
|
||||
|
||||
$config['navigation_header'] = array(
|
||||
@@ -22,16 +20,8 @@ $config['navigation_header'] = array(
|
||||
'icon' => '',
|
||||
'description' => 'Vilesci',
|
||||
'expand' => true,
|
||||
'sort' => 1,
|
||||
'requiredPermissions' => 'basis/vilesci:r'
|
||||
),
|
||||
'reihungstest' => array(
|
||||
'link' => site_url('organisation/Reihungstest'),
|
||||
'icon' => 'list-ol',
|
||||
'description' => 'Reihungstests',
|
||||
'expand' => true,
|
||||
'sort' => 10,
|
||||
'requiredPermissions' => 'infocenter:r'
|
||||
'requiredPermissions' => 'basis/vilesci:r'
|
||||
)
|
||||
)
|
||||
),
|
||||
@@ -47,14 +37,20 @@ $config['navigation_header'] = array(
|
||||
'description' => 'CIS',
|
||||
'sort' => 10
|
||||
),
|
||||
'infocenter' => array(
|
||||
'link' => site_url('system/infocenter/InfoCenter'),
|
||||
'icon' => 'info',
|
||||
'description' => 'Infocenter',
|
||||
'reihungstest' => array(
|
||||
'link' => site_url('organisation/Reihungstest'),
|
||||
'description' => 'Reihungstests',
|
||||
'expand' => true,
|
||||
'sort' => 20,
|
||||
'requiredPermissions' => 'infocenter:r'
|
||||
),
|
||||
'infocenter' => array(
|
||||
'link' => site_url('system/infocenter/InfoCenter'),
|
||||
'description' => 'Infocenter',
|
||||
'expand' => true,
|
||||
'sort' => 30,
|
||||
'requiredPermissions' => 'infocenter:r'
|
||||
),
|
||||
)
|
||||
),
|
||||
'Personen' => array(
|
||||
@@ -71,6 +67,23 @@ $config['navigation_header'] = array(
|
||||
'requiredPermissions' => 'admin:r'
|
||||
)
|
||||
)
|
||||
),
|
||||
'Administration' => array(
|
||||
'link' => '#',
|
||||
'icon' => 'gear',
|
||||
'description' => 'Administration',
|
||||
'expand' => false,
|
||||
'sort' => 50,
|
||||
'requiredPermissions' => 'admin:r',
|
||||
'children'=> array(
|
||||
'extensions' => array(
|
||||
'link' => site_url('system/extensions/Manager'),
|
||||
'description' => 'Extensions Manager',
|
||||
'expand' => true,
|
||||
'sort' => 10,
|
||||
'requiredPermissions' => 'admin:r'
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
@@ -86,55 +99,6 @@ $config['navigation_menu']['Vilesci/index'] = array(
|
||||
'description' => 'Dashboard',
|
||||
'icon' => 'dashboard',
|
||||
'sort' => 1
|
||||
),
|
||||
'lehre' => array(
|
||||
'link' => '#',
|
||||
'icon' => 'graduation-cap',
|
||||
'description' => 'Lehre',
|
||||
'expand' => true,
|
||||
'sort' => 2,
|
||||
'children'=> array(
|
||||
'cis' => array(
|
||||
'link' => CIS_ROOT,
|
||||
'icon' => '',
|
||||
'description' => 'CIS',
|
||||
'expand' => true,
|
||||
'sort' => 1
|
||||
),
|
||||
'infocenter' => array(
|
||||
'link' => site_url('system/infocenter/InfoCenter'),
|
||||
'icon' => 'info',
|
||||
'description' => 'Infocenter',
|
||||
'expand' => true,
|
||||
'sort' => 2,
|
||||
'requiredPermissions' => 'infocenter:r'
|
||||
),
|
||||
)
|
||||
),
|
||||
'administration' => array(
|
||||
'link' => '#',
|
||||
'icon' => 'gear',
|
||||
'description' => 'Administration',
|
||||
'expand' => false,
|
||||
'sort' => 3,
|
||||
'children'=> array(
|
||||
'vilesci' => array(
|
||||
'link' => base_url('vilesci'),
|
||||
'icon' => '',
|
||||
'description' => 'Vilesci',
|
||||
'expand' => true,
|
||||
'sort' => 1,
|
||||
'requiredPermissions' => 'basis/vilesci:r'
|
||||
),
|
||||
'extensions' => array(
|
||||
'link' => site_url('system/extensions/Manager'),
|
||||
'icon' => 'cubes',
|
||||
'description' => 'Extensions Manager',
|
||||
'expand' => true,
|
||||
'sort' => 2,
|
||||
'requiredPermissions' => 'admin:r'
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ class ViewMessage extends FHC_Controller
|
||||
'href' => $href
|
||||
);
|
||||
|
||||
$this->load->view('system/messageHTML.php', $data);
|
||||
$this->load->view('system/messages/messageHTML.php', $data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ class ViewMessage extends FHC_Controller
|
||||
|
||||
if (isEmptyString($token))
|
||||
{
|
||||
show_error('no token supplied');
|
||||
show_error('No token supplied');
|
||||
}
|
||||
|
||||
$msg = null;
|
||||
@@ -104,7 +104,7 @@ class ViewMessage extends FHC_Controller
|
||||
|
||||
if (!hasData($msg))
|
||||
{
|
||||
show_error('no message found');
|
||||
show_error('No message found');
|
||||
}
|
||||
|
||||
$msg = $msg->retval[0];
|
||||
@@ -114,7 +114,7 @@ class ViewMessage extends FHC_Controller
|
||||
|
||||
if (!hasData($receiverData))
|
||||
{
|
||||
show_error('no sender found');
|
||||
show_error('No sender found');
|
||||
}
|
||||
|
||||
$data = array (
|
||||
@@ -123,7 +123,7 @@ class ViewMessage extends FHC_Controller
|
||||
'token' => $token
|
||||
);
|
||||
|
||||
$this->load->view('system/messageWriteReply', $data);
|
||||
$this->load->view('system/messages/messageWriteReply', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -134,8 +134,6 @@ class ViewMessage extends FHC_Controller
|
||||
$this->load->model('system/Message_model', 'MessageModel');
|
||||
$this->load->library('MessageLib');
|
||||
|
||||
$error = false;
|
||||
|
||||
$subject = $this->input->post('subject');
|
||||
$body = $this->input->post('body');
|
||||
$persons = $this->input->post('persons');
|
||||
@@ -145,7 +143,6 @@ class ViewMessage extends FHC_Controller
|
||||
if (!isset($relationmessage_id) || $relationmessage_id == '' || !isset($token) || $token == '')
|
||||
{
|
||||
show_error('Error while sending reply');
|
||||
$error = true;
|
||||
}
|
||||
|
||||
$relationmsg = $this->MessageTokenModel->getMessageByToken($token);
|
||||
@@ -154,7 +151,6 @@ class ViewMessage extends FHC_Controller
|
||||
if (!hasData($relationmsg) || $relationmessage_id !== $relationmsg->retval[0]->message_id)
|
||||
{
|
||||
show_error('Error while sending reply');
|
||||
$error = true;
|
||||
}
|
||||
|
||||
// get sender (receiver of previous msg)
|
||||
@@ -166,20 +162,16 @@ class ViewMessage extends FHC_Controller
|
||||
// send message(s)
|
||||
if (hasData($data))
|
||||
{
|
||||
// Loads the person log library
|
||||
$this->load->library('PersonLogLib');
|
||||
|
||||
for ($i = 0; $i < count($data->retval); $i++)
|
||||
{
|
||||
$dataArray = (array)$data->retval[$i];
|
||||
|
||||
$msg = $this->messagelib->sendMessage($sender_id, $dataArray['person_id'], $subject, $body, PRIORITY_NORMAL, $relationmessage_id, null);
|
||||
if ($msg->error)
|
||||
{
|
||||
show_error($msg->retval);
|
||||
$error = true;
|
||||
break;
|
||||
}
|
||||
|
||||
// Loads the person log library
|
||||
$this->load->library('PersonLogLib');
|
||||
if ($msg->error) show_error($msg->retval);
|
||||
|
||||
// Write log entry for sender
|
||||
$logtype_kurzbz = 'Action';
|
||||
@@ -193,7 +185,8 @@ class ViewMessage extends FHC_Controller
|
||||
$oe_kurzbz = null;
|
||||
$insertvon = 'online';
|
||||
|
||||
$this->personloglib->log(
|
||||
// Logs person data
|
||||
$personLog = $this->personloglib->log(
|
||||
$sender_id,
|
||||
$logtype_kurzbz,
|
||||
$logdata,
|
||||
@@ -203,14 +196,11 @@ class ViewMessage extends FHC_Controller
|
||||
$insertvon
|
||||
);
|
||||
|
||||
//unpark bewerber after he sends message
|
||||
$this->personloglib->unPark($sender_id);
|
||||
// Unpark bewerber after he sends message
|
||||
$personLog = $this->personloglib->unPark($sender_id);
|
||||
}
|
||||
}
|
||||
|
||||
if (!$error)
|
||||
{
|
||||
$this->load->view('system/messageSent');
|
||||
}
|
||||
$this->load->view('system/messages/messageReplySent');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
<?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->messagelib->getMessageVarsPerson();
|
||||
|
||||
// Organisation units used to get the templates
|
||||
$oe_kurzbz = $this->messagelib->getOeKurzbz($sender_id);
|
||||
|
||||
// Admin or commoner?
|
||||
$isAdmin = $this->messagelib->getIsAdmin($sender_id);
|
||||
|
||||
$data = array(
|
||||
'recipients' => $msgVarsData->retval,
|
||||
'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->messagelib->getMessageVarsPerson();
|
||||
|
||||
// Organisation units used to get the templates
|
||||
$oe_kurzbz = $this->messagelib->getOeKurzbz($sender_id);
|
||||
|
||||
// Admin or commoner?
|
||||
$isAdmin = $this->messagelib->getIsAdmin($sender_id);
|
||||
|
||||
$data = array(
|
||||
'recipients' => $msgVarsData->retval,
|
||||
'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($msg->retval);
|
||||
}
|
||||
elseif (!hasData($msg))
|
||||
{
|
||||
show_error('The selected message does not exist');
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg = $msg->retval[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($msgVarsData->retval);
|
||||
}
|
||||
|
||||
return $msgVarsData;
|
||||
}
|
||||
}
|
||||
@@ -4,8 +4,6 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Messages extends Auth_Controller
|
||||
{
|
||||
private $uid; // contains the UID of the logged user
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@@ -28,344 +26,189 @@ class Messages extends Auth_Controller
|
||||
// Loads the widget library
|
||||
$this->load->library('WidgetLib');
|
||||
|
||||
$this->load->model('person/Person_model', 'PersonModel');
|
||||
$this->load->model('system/Message_model', 'MessageModel');
|
||||
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
'person',
|
||||
'lehre',
|
||||
'ui',
|
||||
'infocenter'
|
||||
'ui'
|
||||
)
|
||||
);
|
||||
|
||||
$this->_setAuthUID(); // sets property uid
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Public methods
|
||||
|
||||
/**
|
||||
* write
|
||||
* Write a new message
|
||||
*/
|
||||
public function write($sender_id = null, $msg_id = null, $receiver_id = null)
|
||||
public function write()
|
||||
{
|
||||
if ($sender_id === null)
|
||||
{
|
||||
$user_person = $this->PersonModel->getByUid($this->uid);
|
||||
|
||||
if (isError($user_person))
|
||||
{
|
||||
show_error($user_person->retval);
|
||||
}
|
||||
$sender_id = $user_person->retval[0]->person_id;
|
||||
}
|
||||
|
||||
$prestudent_id = $this->input->post('prestudent_id');
|
||||
$person_id = $this->input->post('person_id');
|
||||
$personOnly = false;
|
||||
$sender_id = null;
|
||||
|
||||
if (isset($person_id) && !isset($prestudent_id))
|
||||
$personOnly = true;
|
||||
|
||||
$msg = null;
|
||||
|
||||
// Get message data if possible
|
||||
if (is_numeric($msg_id) && is_numeric($receiver_id))
|
||||
$authUser = $this->_getAuthUser();
|
||||
if (isError($authUser))
|
||||
{
|
||||
$msg = $this->messagelib->getMessage($msg_id, $receiver_id);
|
||||
if ($msg->error)
|
||||
{
|
||||
show_error($msg->retval);
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg = $msg->retval[0];
|
||||
}
|
||||
show_error($authUser->retval);
|
||||
}
|
||||
|
||||
$variablesArray = array();
|
||||
$msgVarsData = array();
|
||||
|
||||
// Get variables
|
||||
$this->load->model('system/Message_model', 'MessageModel');
|
||||
if ($personOnly === true)
|
||||
$this->getPersonMsgData($person_id, $variablesArray, $msgVarsData);
|
||||
else
|
||||
$this->getPrestudentMsgData($prestudent_id, $variablesArray, $msgVarsData);
|
||||
|
||||
// Organisation units used to get the templates
|
||||
$oe_kurzbz = array(); // A person can have more organisation units
|
||||
$this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel');
|
||||
$benutzerResult = $this->BenutzerfunktionModel->getByPersonId($sender_id);
|
||||
if (hasData($benutzerResult))
|
||||
{
|
||||
foreach ($benutzerResult->retval as $val)
|
||||
{
|
||||
$oe_kurzbz[] = $val->oe_kurzbz;
|
||||
}
|
||||
$sender_id = getData($authUser)[0]->person_id;
|
||||
}
|
||||
|
||||
// Admin or commoner?
|
||||
$this->load->model('system/Benutzerrolle_model', 'BenutzerrolleModel');
|
||||
$isAdmin = $this->BenutzerrolleModel->isAdminByPersonId($sender_id);
|
||||
if (isError($isAdmin))
|
||||
{
|
||||
show_error($isAdmin->retval);
|
||||
}
|
||||
$msgVarsData = $this->_getMsgVarsData($person_id);
|
||||
|
||||
// Retrieves message vars for a person from view view vw_msg_vars_person
|
||||
$variablesArray = $this->messagelib->getMessageVarsPerson();
|
||||
|
||||
// Organisation units used to get the templates
|
||||
$oe_kurzbz = $this->messagelib->getOeKurzbz($sender_id);
|
||||
|
||||
// Admin or commoner?
|
||||
$isAdmin = $this->messagelib->getIsAdmin($sender_id);
|
||||
|
||||
$data = array (
|
||||
'sender_id' => $sender_id,
|
||||
'receivers' => isset($msgVarsData->retval) ? $msgVarsData->retval : $msgVarsData,
|
||||
'message' => $msg,
|
||||
'recipients' => $msgVarsData->retval,
|
||||
'variables' => $variablesArray,
|
||||
'oe_kurzbz' => $oe_kurzbz, // used to get the templates
|
||||
'isAdmin' => $isAdmin->retval,
|
||||
'personOnly' => $personOnly//indicates if sent only to persons
|
||||
'isAdmin' => $isAdmin
|
||||
);
|
||||
|
||||
$v = $this->load->view('system/messageWrite', $data);
|
||||
$this->load->view('system/messages/messageWrite', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* gets Message Variables and their data for Prestudent
|
||||
* @param $prestudent_id
|
||||
* @param $variablesArray to be filled with variable names
|
||||
* @param $msgVarsData to be filled with variable data
|
||||
* Send message
|
||||
*/
|
||||
private function getPrestudentMsgData($prestudent_id, &$variablesArray, &$msgVarsData)
|
||||
public function send()
|
||||
{
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudent_id);
|
||||
if ($msgVarsData->error)
|
||||
{
|
||||
show_error($msgVarsData->retval);
|
||||
}
|
||||
$persons = $this->input->post('persons');
|
||||
$relationmessage_id = $this->input->post('relationmessage_id');
|
||||
|
||||
if (!hasData($variables = $this->MessageModel->getMessageVars()))
|
||||
{
|
||||
unset($variables);
|
||||
}
|
||||
else
|
||||
{
|
||||
$variablesArray = array();
|
||||
// Skip person_id and prestudent_id
|
||||
for ($i = 2; $i < count($variables->retval); $i++)
|
||||
{
|
||||
$variablesArray['{'.str_replace(" ", "_", strtolower($variables->retval[$i])).'}'] = $variables->retval[$i];
|
||||
}
|
||||
}
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPersonId($persons);
|
||||
|
||||
array_shift($variables->retval); // Remove person_id
|
||||
array_shift($variables->retval); // Remove prestudent_id
|
||||
}
|
||||
$send = $this->_send($msgVarsData, $relationmessage_id);
|
||||
|
||||
/**
|
||||
* gets Message Variables and their data for Person
|
||||
* @param $person_id
|
||||
* @param $variablesArray to be filled with variable names
|
||||
* @param $msgVarsData to be filled with variable data
|
||||
*/
|
||||
private function getPersonMsgData($person_id, &$variablesArray, &$msgVarsData)
|
||||
{
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPersonId($person_id);
|
||||
if ($msgVarsData->error)
|
||||
{
|
||||
show_error($msgVarsData->retval);
|
||||
}
|
||||
|
||||
if (!hasData($variables = $this->MessageModel->getMessageVarsPerson()))
|
||||
{
|
||||
unset($variables);
|
||||
}
|
||||
else
|
||||
{
|
||||
$variablesArray = array();
|
||||
// Skip person_id
|
||||
for ($i = 1; $i < count($variables->retval); $i++)
|
||||
{
|
||||
$variablesArray['{'.str_replace(" ", "_", strtolower($variables->retval[$i])).'}'] = $variables->retval[$i];
|
||||
}
|
||||
array_shift($variables->retval); // Remove person_id
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* send
|
||||
*/
|
||||
public function send($sender_id = null)
|
||||
{
|
||||
$result = $this->_execSend($sender_id);
|
||||
|
||||
if (isSuccess($result))
|
||||
{
|
||||
echo "Messages sent successfully";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Error when sending message";
|
||||
}
|
||||
$this->load->view('system/messages/messageSent', array('success' => isSuccess($send)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Send message, response is in JSON format
|
||||
* @param $sender_id
|
||||
*/
|
||||
public function sendJson($sender_id = null)
|
||||
public function sendJson()
|
||||
{
|
||||
$result = $this->_execSend($sender_id);
|
||||
$prestudents = $this->input->post('prestudents');
|
||||
$vorlage_kurzbz = $this->input->post('vorlage_kurzbz');
|
||||
$oe_kurzbz = $this->input->post('oe_kurzbz');
|
||||
$msgVars = $this->input->post('msgvars');
|
||||
|
||||
$this->output
|
||||
->set_content_type('application/json')
|
||||
->set_output(json_encode($result));
|
||||
$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))
|
||||
{
|
||||
for ($i = 0; $i < count($msgVarsData->retval); $i++)
|
||||
{
|
||||
for ($p = 0; $p < count($prestudentsData->retval); $p++)
|
||||
{
|
||||
if ($prestudentsData->retval[$p]->prestudent_id == $msgVarsData->retval[$i]->prestudent_id)
|
||||
{
|
||||
$msgVarsData->retval[$i]->oe_kurzbz = $prestudentsData->retval[$p]->oe_kurzbz;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$send = $this->_send($msgVarsData, null, $oe_kurzbz, $vorlage_kurzbz, $msgVars);
|
||||
if (isError($send))
|
||||
{
|
||||
$this->outputJsonError($send->retval);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->outputJsonSuccess($send->retval);
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Private methods
|
||||
|
||||
/**
|
||||
* Executes message sending
|
||||
* @param $sender_id
|
||||
* @return array wether execution was successfull - error or success
|
||||
*/
|
||||
private function _execSend($sender_id)
|
||||
private function _send($msgVarsData, $relationmessage_id = null, $oe_kurzbz = null, $vorlage_kurzbz = null, $msgVars = null)
|
||||
{
|
||||
if ($sender_id === null)
|
||||
{
|
||||
$user_person = $this->PersonModel->getByUid($this->uid);
|
||||
|
||||
if (!hasData($user_person))
|
||||
{
|
||||
return error('no sender');
|
||||
}
|
||||
$sender_id = $user_person->retval[0]->person_id;
|
||||
}
|
||||
|
||||
$subject = $this->input->post('subject');
|
||||
$body = $this->input->post('body');
|
||||
$prestudents = $this->input->post('prestudents');
|
||||
$persons = $this->input->post('persons');
|
||||
$relationmessage_id = $this->input->post('relationmessage_id');
|
||||
$vorlage_kurzbz = $this->input->post('vorlage_kurzbz');
|
||||
$oe_kurzbz = $this->input->post('oe_kurzbz');
|
||||
$msgvars = $this->input->post('msgvars');
|
||||
|
||||
if (!isset($relationmessage_id) || $relationmessage_id == '')
|
||||
{
|
||||
$relationmessage_id = null;
|
||||
}
|
||||
$authUser = $this->_getAuthUser();
|
||||
|
||||
// get message data of prestudents or persons
|
||||
$prestudentsData = array();
|
||||
if ($prestudents !== null)
|
||||
{
|
||||
$data = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudents);
|
||||
//
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
$prestudentsData = $this->PrestudentModel->getOrganisationunits($prestudents);
|
||||
}
|
||||
else
|
||||
$data = $this->MessageModel->getMsgVarsDataByPersonId($persons);
|
||||
if (isError($authUser)) return $authUser;
|
||||
|
||||
// send message(s)
|
||||
if (hasData($data))
|
||||
$sender_id = getData($authUser)[0]->person_id;
|
||||
|
||||
// Send message(s)
|
||||
if (hasData($msgVarsData))
|
||||
{
|
||||
for ($i = 0; $i < count($data->retval); $i++)
|
||||
// Loads the person log library
|
||||
$this->load->library('PersonLogLib');
|
||||
|
||||
for ($i = 0; $i < count($msgVarsData->retval); $i++)
|
||||
{
|
||||
$parsedText = "";
|
||||
$dataArray = (array)$data->retval[$i];
|
||||
foreach ($dataArray as $key => $val)
|
||||
{
|
||||
$newKey = str_replace(" ", "_", strtolower($key));
|
||||
$dataArray[$newKey] = $dataArray[$key];
|
||||
}
|
||||
$msgVarsDataArray = $this->_replaceKeys((array)$msgVarsData->retval[$i]); // replaces array keys
|
||||
|
||||
// if oe not given, get from prestudent
|
||||
if (isEmptyString($oe_kurzbz) && hasData($prestudentsData))
|
||||
{
|
||||
for ($p = 0; $p < count($prestudentsData->retval); $p++)
|
||||
{
|
||||
if ($prestudentsData->retval[$p]->prestudent_id == $data->retval[$i]->prestudent_id)
|
||||
{
|
||||
$oe_kurzbz = $prestudentsData->retval[$p]->oe_kurzbz;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// send without vorlage
|
||||
// Send without vorlage
|
||||
if (isEmptyString($vorlage_kurzbz))
|
||||
{
|
||||
$parsedText = $this->messagelib->parseMessageText($body, $dataArray);
|
||||
$msg = $this->messagelib->sendMessage($sender_id, $dataArray['person_id'], $subject, $parsedText, PRIORITY_NORMAL, $relationmessage_id, $oe_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
|
||||
// Send with vorlage
|
||||
else
|
||||
{
|
||||
if (isset($msgvars) && is_array($msgvars))
|
||||
if (is_array($msgVars))
|
||||
{
|
||||
//additional message variables
|
||||
foreach ($msgvars as $key => $msgvar)
|
||||
// Additional message variables
|
||||
foreach ($msgVars as $key => $msgvar)
|
||||
{
|
||||
$dataArray[$key] = $msgvar;
|
||||
$msgVarsDataArray[$key] = $msgvar;
|
||||
}
|
||||
}
|
||||
$msg = $this->messagelib->sendMessageVorlage($sender_id, $dataArray['person_id'], $vorlage_kurzbz, $oe_kurzbz, $dataArray);
|
||||
$msg = $this->messagelib->sendMessageVorlage($sender_id, $msgVarsDataArray['person_id'], $vorlage_kurzbz, $oe_kurzbz, $msgVarsDataArray);
|
||||
}
|
||||
|
||||
if ($msg->error)
|
||||
{
|
||||
return error($msg->msg);
|
||||
}
|
||||
if (isError($msg)) return $msg;
|
||||
|
||||
// Loads the person log library
|
||||
$this->load->library('PersonLogLib');
|
||||
|
||||
//write log entry
|
||||
$this->personloglib->log(
|
||||
$dataArray['person_id'],
|
||||
// Write log entry
|
||||
$personLog = $this->personloglib->log(
|
||||
$msgVarsDataArray['person_id'],
|
||||
'Action',
|
||||
array(
|
||||
'name' => 'Message sent',
|
||||
'message' => 'Message sent from person '.$sender_id.' to '.$dataArray['person_id'].', messageid '.$msg->retval,
|
||||
'message' => 'Message sent from person '.$sender_id.' to '.$msgVarsDataArray['person_id'].', messageid '.$msg->retval,
|
||||
'success' => 'true'
|
||||
),
|
||||
'kommunikation',
|
||||
'core',
|
||||
null,
|
||||
$this->uid
|
||||
getAuthUID()
|
||||
);
|
||||
|
||||
}
|
||||
return success('success');
|
||||
|
||||
return success('Messages sent successfully');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getPersonId
|
||||
*/
|
||||
private function getPersonId()
|
||||
{
|
||||
$person_id = null;
|
||||
|
||||
if ($this->input->get('person_id') !== null)
|
||||
else
|
||||
{
|
||||
$person_id = $this->input->get('person_id');
|
||||
return $msgVarsData;
|
||||
}
|
||||
elseif ($this->input->post('person_id') !== null)
|
||||
{
|
||||
$person_id = $this->input->get('person_id');
|
||||
}
|
||||
|
||||
if (!is_numeric($person_id))
|
||||
{
|
||||
show_error('Person_id is not numeric');
|
||||
}
|
||||
|
||||
return $person_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the UID of the logged user and checks if it is valid
|
||||
*/
|
||||
private function _setAuthUID()
|
||||
{
|
||||
$this->uid = getAuthUID();
|
||||
|
||||
if (!$this->uid) show_error('User authentification failed');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -374,16 +217,27 @@ class Messages extends Auth_Controller
|
||||
public function getVorlage()
|
||||
{
|
||||
$vorlage_kurzbz = $this->input->get('vorlage_kurzbz');
|
||||
$result = null;
|
||||
|
||||
if (isset($vorlage_kurzbz))
|
||||
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));
|
||||
|
||||
$this->output
|
||||
->set_content_type('application/json')
|
||||
->set_output(json_encode($result));
|
||||
$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($result->retval);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->outputJsonSuccess($result->retval);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -392,35 +246,29 @@ class Messages extends Auth_Controller
|
||||
*/
|
||||
public function parseMessageText()
|
||||
{
|
||||
$prestudent_id = $this->input->get('prestudent_id');
|
||||
$person_id = $this->input->get('person_id');
|
||||
$text = $this->input->get('text');
|
||||
|
||||
$parsedText = '';
|
||||
$data = null;
|
||||
|
||||
if (isset($person_id) && !isset($prestudent_id))
|
||||
$data = $this->MessageModel->getMsgVarsDataByPersonId($person_id);
|
||||
elseif (isset($prestudent_id))
|
||||
$data = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudent_id);
|
||||
|
||||
if (isset($data))
|
||||
if (is_numeric($person_id))
|
||||
{
|
||||
$parsedText = "";
|
||||
if (hasData($data))
|
||||
{
|
||||
$dataArray = (array)$data->retval[0];
|
||||
foreach ($dataArray as $key => $val)
|
||||
{
|
||||
$newKey = str_replace(" ", "_", strtolower($key));
|
||||
$dataArray[$newKey] = $dataArray[$key];
|
||||
}
|
||||
$data = $this->MessageModel->getMsgVarsDataByPersonId($person_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
$data = error('The given person_id is not a valid number');
|
||||
}
|
||||
|
||||
$parsedText = $this->messagelib->parseMessageText($text, $dataArray);
|
||||
}
|
||||
if (isError($data) || !hasData($data))
|
||||
{
|
||||
$this->outputJsonError($data->retval);
|
||||
}
|
||||
else
|
||||
{
|
||||
$parsedText = $this->messagelib->parseMessageText($text, $this->_replaceKeys((array)$data->retval[0]));
|
||||
|
||||
$this->output
|
||||
->set_content_type('application/json')
|
||||
->set_output(json_encode($parsedText));
|
||||
$this->outputJsonSuccess($parsedText);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -433,6 +281,7 @@ class Messages extends Auth_Controller
|
||||
{
|
||||
$msg_id = $this->input->get('msg_id');
|
||||
$receiver_id = $this->input->get('receiver_id');
|
||||
|
||||
$msg = $this->messagelib->getMessage($msg_id, $receiver_id);
|
||||
|
||||
$this->output
|
||||
@@ -440,4 +289,51 @@ class Messages extends Auth_Controller
|
||||
->set_output(json_encode(array($msg->retval[0])));
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Private methods
|
||||
|
||||
/**
|
||||
* Retrieves message vars from view vw_msg_vars
|
||||
*/
|
||||
private function _getMsgVarsData($person_id)
|
||||
{
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPersonId($person_id);
|
||||
if (isError($msgVarsData))
|
||||
{
|
||||
show_error($msgVarsData->retval);
|
||||
}
|
||||
|
||||
return $msgVarsData;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _getAuthUser()
|
||||
{
|
||||
$sender_id = null;
|
||||
|
||||
$this->load->model('person/Person_model', 'PersonModel');
|
||||
$authUser = $this->PersonModel->getByUid(getAuthUID());
|
||||
|
||||
if (!hasData($authUser)) $authUser = error('The current logged user person_id is not defined');
|
||||
|
||||
return $authUser;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _replaceKeys($data)
|
||||
{
|
||||
$tmpData = array();
|
||||
|
||||
// Replaces data array keys to a lowercase without spaces string
|
||||
foreach ($data as $key => $val)
|
||||
{
|
||||
$tmpData[str_replace(' ', '_', strtolower($key))] = $val;
|
||||
}
|
||||
|
||||
return $tmpData;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@ class Phrases extends Auth_Controller
|
||||
'view' => 'system/phrase:r',
|
||||
'deltext' => 'system/phrase:rw',
|
||||
'edit' => 'system/phrase:rw',
|
||||
'write' => 'system/phrase:rw',
|
||||
'save' => 'system/phrase:rw',
|
||||
'newText' => 'system/phrase:rw',
|
||||
'editText' => 'system/phrase:rw',
|
||||
@@ -115,19 +114,6 @@ class Phrases extends Auth_Controller
|
||||
$this->load->view('system/phrases/phrasesEdit', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function write()
|
||||
{
|
||||
$data = array(
|
||||
'subject' => 'TestSubject',
|
||||
'body' => 'TestDevelopmentBodyText'
|
||||
);
|
||||
|
||||
$this->load->view('system/messageWrite', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -527,7 +527,7 @@ class InfoCenter extends Auth_Controller
|
||||
|
||||
$logparams = array($prestudent_id, $logdata['studiengang_kurzbz'], '');
|
||||
|
||||
if (isset($statusgrund_id))
|
||||
if (isset($statusgrund_id) && is_numeric($statusgrund_id))
|
||||
{
|
||||
$this->StatusgrundModel->addSelect('bezeichnung_mehrsprachig');
|
||||
$statusgrund_kurzbz = $this->StatusgrundModel->load($statusgrund_id);
|
||||
@@ -631,7 +631,7 @@ class InfoCenter extends Auth_Controller
|
||||
public function reloadMessages($person_id)
|
||||
{
|
||||
$messages = $this->MessageModel->getMessagesOfPerson($person_id, 1);
|
||||
$this->load->view('system/messageList.php', array('messages' => $messages->retval));
|
||||
$this->load->view('system/messages/messageList.php', array('messages' => $messages->retval));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1166,8 +1166,6 @@ class InfoCenter extends Auth_Controller
|
||||
show_error($user_person->retval);
|
||||
}
|
||||
|
||||
$messagelink = site_url('/system/Messages/write/'.$user_person->retval[0]->person_id);
|
||||
|
||||
$data = array (
|
||||
'lockedby' => $lockedby,
|
||||
'lockedbyother' => $lockedbyother,
|
||||
@@ -1177,8 +1175,7 @@ class InfoCenter extends Auth_Controller
|
||||
'messages' => $messages->retval,
|
||||
'logs' => $logs,
|
||||
'notizen' => $notizen->retval,
|
||||
'notizenbewerbung' => $notizen_bewerbung->retval,
|
||||
'messagelink' => $messagelink
|
||||
'notizenbewerbung' => $notizen_bewerbung->retval
|
||||
);
|
||||
|
||||
return $data;
|
||||
|
||||
@@ -82,6 +82,21 @@ function hasData($result)
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the property retval if $result contains data
|
||||
*/
|
||||
function getData($result)
|
||||
{
|
||||
$data = null;
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
$data = $result->retval;
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the result represents an error
|
||||
* Wrapper function of isSuccess, more readable code
|
||||
|
||||
@@ -9,36 +9,41 @@ class MessageLib
|
||||
{
|
||||
const MSG_INDX_PREFIX = 'message_';
|
||||
|
||||
private $_ci;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// Get code igniter instance
|
||||
$this->ci =& get_instance();
|
||||
$this->_ci =& get_instance();
|
||||
|
||||
// Loads message configuration
|
||||
$this->ci->config->load('message');
|
||||
$this->_ci->config->load('message');
|
||||
|
||||
// CI Parser library
|
||||
$this->ci->load->library('parser');
|
||||
$this->_ci->load->library('parser');
|
||||
// Loads LogLib
|
||||
$this->ci->load->library('LogLib');
|
||||
$this->_ci->load->library('LogLib');
|
||||
// Loads VorlageLib
|
||||
$this->ci->load->library('VorlageLib');
|
||||
$this->_ci->load->library('VorlageLib');
|
||||
// Loads Mail library
|
||||
$this->ci->load->library('MailLib');
|
||||
$this->_ci->load->library('MailLib');
|
||||
|
||||
// Loading models
|
||||
$this->ci->load->model('system/Message_model', 'MessageModel');
|
||||
$this->ci->load->model('system/MsgStatus_model', 'MsgStatusModel');
|
||||
$this->ci->load->model('system/Recipient_model', 'RecipientModel');
|
||||
$this->ci->load->model('system/Attachment_model', 'AttachmentModel');
|
||||
$this->_ci->load->model('system/Message_model', 'MessageModel');
|
||||
$this->_ci->load->model('system/MsgStatus_model', 'MsgStatusModel');
|
||||
$this->_ci->load->model('system/Recipient_model', 'RecipientModel');
|
||||
$this->_ci->load->model('system/Attachment_model', 'AttachmentModel');
|
||||
|
||||
// Loads phrases
|
||||
$this->ci->lang->load('message');
|
||||
$this->_ci->lang->load('message');
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Public methods
|
||||
|
||||
/**
|
||||
* getMessage() - returns the specified received message for a specified person
|
||||
*/
|
||||
@@ -49,9 +54,7 @@ class MessageLib
|
||||
if (!is_numeric($person_id))
|
||||
return $this->_error('', MSG_ERR_INVALID_RECIPIENTS);
|
||||
|
||||
$msg = $this->ci->RecipientModel->getMessage($msg_id, $person_id);
|
||||
|
||||
return $msg;
|
||||
return $this->_ci->RecipientModel->getMessage($msg_id, $person_id);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,9 +65,7 @@ class MessageLib
|
||||
if (isEmptyString($uid))
|
||||
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
|
||||
|
||||
$msg = $this->ci->RecipientModel->getMessagesByUID($uid, $oe_kurzbz, $all);
|
||||
|
||||
return $msg;
|
||||
return $this->_ci->RecipientModel->getMessagesByUID($uid, $oe_kurzbz, $all);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -75,9 +76,7 @@ class MessageLib
|
||||
if (!is_numeric($person_id))
|
||||
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
|
||||
|
||||
$msg = $this->ci->RecipientModel->getMessagesByPerson($person_id, $oe_kurzbz, $all);
|
||||
|
||||
return $msg;
|
||||
return $this->_ci->RecipientModel->getMessagesByPerson($person_id, $oe_kurzbz, $all);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -88,9 +87,7 @@ class MessageLib
|
||||
if (!is_numeric($person_id))
|
||||
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
|
||||
|
||||
$msg = $this->ci->MessageModel->getMessagesByPerson($person_id, $oe_kurzbz, $all);
|
||||
|
||||
return $msg;
|
||||
return $this->_ci->MessageModel->getMessagesByPerson($person_id, $oe_kurzbz, $all);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -101,7 +98,7 @@ class MessageLib
|
||||
if (isEmptyString($token))
|
||||
return $this->_error('', MSG_ERR_INVALID_TOKEN);
|
||||
|
||||
$result = $this->ci->RecipientModel->getMessageByToken($token);
|
||||
$result = $this->_ci->RecipientModel->getMessageByToken($token);
|
||||
if (hasData($result))
|
||||
{
|
||||
// Searches for a status that is different from unread
|
||||
@@ -124,7 +121,7 @@ class MessageLib
|
||||
'status' => MSG_STATUS_READ
|
||||
);
|
||||
|
||||
$resultIns = $this->ci->MsgStatusModel->insert($statusKey);
|
||||
$resultIns = $this->_ci->MsgStatusModel->insert($statusKey);
|
||||
// If an error occured while writing on data base, then return it
|
||||
if (isError($resultIns))
|
||||
{
|
||||
@@ -144,9 +141,7 @@ class MessageLib
|
||||
if (!is_numeric($person_id))
|
||||
return $this->_error('', MSG_ERR_INVALID_RECIPIENTS);
|
||||
|
||||
$msg = $this->ci->RecipientModel->getCountUnreadMessages($person_id, $oe_kurzbz);
|
||||
|
||||
return $msg;
|
||||
return $this->_ci->RecipientModel->getCountUnreadMessages($person_id, $oe_kurzbz);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -172,7 +167,7 @@ class MessageLib
|
||||
}
|
||||
|
||||
// Searches if the status is already present
|
||||
$result = $this->ci->MsgStatusModel->load(array($message_id, $person_id, $status));
|
||||
$result = $this->_ci->MsgStatusModel->load(array($message_id, $person_id, $status));
|
||||
if (hasData($result))
|
||||
{
|
||||
// status already present
|
||||
@@ -186,7 +181,7 @@ class MessageLib
|
||||
'status' => $status
|
||||
);
|
||||
|
||||
$result = $this->ci->MsgStatusModel->insert($statusKey);
|
||||
$result = $this->_ci->MsgStatusModel->insert($statusKey);
|
||||
}
|
||||
|
||||
return $result;
|
||||
@@ -199,7 +194,7 @@ class MessageLib
|
||||
{
|
||||
if (!is_numeric($sender_id))
|
||||
{
|
||||
$sender_id = $this->ci->config->item('system_person_id');
|
||||
$sender_id = $this->_ci->config->item('system_person_id');
|
||||
}
|
||||
|
||||
$receivers = $this->_getReceivers($receiver_id, $oe_kurzbz);
|
||||
@@ -230,7 +225,7 @@ class MessageLib
|
||||
if (isSuccess($result))
|
||||
{
|
||||
// If the system is configured to send messages immediately
|
||||
if ($this->ci->config->item('send_immediately') === true)
|
||||
if ($this->_ci->config->item('send_immediately') === true)
|
||||
{
|
||||
// Send message by email!
|
||||
$resultSendEmail = $this->sendOne($result->retval, $subject, $body, $multiPartMime);
|
||||
@@ -274,7 +269,7 @@ class MessageLib
|
||||
{
|
||||
if (!is_numeric($sender_id))
|
||||
{
|
||||
$sender_id = $this->ci->config->item('system_person_id');
|
||||
$sender_id = $this->_ci->config->item('system_person_id');
|
||||
}
|
||||
|
||||
$receivers = $this->_getReceivers($receiver_id, $oe_kurzbz);
|
||||
@@ -290,7 +285,7 @@ class MessageLib
|
||||
else
|
||||
{
|
||||
// Load reveiver data to get its relative language
|
||||
$this->ci->load->model('person/Person_model', 'PersonModel');
|
||||
$this->_ci->load->model('person/Person_model', 'PersonModel');
|
||||
}
|
||||
|
||||
// Looping on receivers
|
||||
@@ -299,14 +294,14 @@ class MessageLib
|
||||
$receiver_id = $receivers->retval[$i]->person_id;
|
||||
|
||||
// Checks if the receiver exists
|
||||
$result = $this->ci->PersonModel->load($receiver_id);
|
||||
$result = $this->_ci->PersonModel->load($receiver_id);
|
||||
if (hasData($result))
|
||||
{
|
||||
// Retrives the language of the logged user
|
||||
$sprache = getUserLanguage();
|
||||
|
||||
// Loads template data
|
||||
$result = $this->ci->vorlagelib->loadVorlagetext($vorlage_kurzbz, $oe_kurzbz, $orgform_kurzbz, $sprache);
|
||||
$result = $this->_ci->vorlagelib->loadVorlagetext($vorlage_kurzbz, $oe_kurzbz, $orgform_kurzbz, $sprache);
|
||||
if (isSuccess($result))
|
||||
{
|
||||
// If the text and the subject of the template are not empty
|
||||
@@ -314,9 +309,9 @@ class MessageLib
|
||||
!isEmptyString($result->retval[0]->text) && !isEmptyString($result->retval[0]->subject))
|
||||
{
|
||||
// Parses template text
|
||||
$parsedText = $this->ci->vorlagelib->parseVorlagetext($result->retval[0]->text, $data);
|
||||
$parsedText = $this->_ci->vorlagelib->parseVorlagetext($result->retval[0]->text, $data);
|
||||
// Parses subject
|
||||
$subject = $this->ci->vorlagelib->parseVorlagetext($result->retval[0]->subject, $data);
|
||||
$subject = $this->_ci->vorlagelib->parseVorlagetext($result->retval[0]->subject, $data);
|
||||
|
||||
// Save message
|
||||
$result = $this->_saveMessage($sender_id, $receiver_id, $subject, $parsedText, $relationmessage_id, $oe_kurzbz);
|
||||
@@ -324,7 +319,7 @@ class MessageLib
|
||||
if (isSuccess($result))
|
||||
{
|
||||
// If the system is configured to send messages immediately
|
||||
if ($this->ci->config->item('send_immediately') === true)
|
||||
if ($this->_ci->config->item('send_immediately') === true)
|
||||
{
|
||||
// Send message by email!
|
||||
$resultSendEmail = $this->sendOne($result->retval, $subject, $parsedText, $multiPartMime);
|
||||
@@ -389,21 +384,21 @@ class MessageLib
|
||||
$sent = true; // optimistic expectation
|
||||
|
||||
// Gets standard configs
|
||||
$cfg = $this->ci->maillib->getConfigs();
|
||||
$cfg = $this->_ci->maillib->getConfigs();
|
||||
$cfg->email_number_to_sent = $numberToSent;
|
||||
$cfg->email_number_per_time_range = $numberPerTimeRange;
|
||||
$cfg->email_time_range = $email_time_range;
|
||||
$cfg->email_from_system = $email_from_system;
|
||||
|
||||
// Overrides configs with the parameters
|
||||
$this->ci->maillib->overrideConfigs($cfg);
|
||||
$this->_ci->maillib->overrideConfigs($cfg);
|
||||
|
||||
// Gets a number ($this->ci->maillib->getMaxEmailToSent()) of unsent messages from DB
|
||||
// Gets a number ($this->_ci->maillib->getMaxEmailToSent()) of unsent messages from DB
|
||||
// having EMAIL_KONTAKT_TYPE as relative contact type
|
||||
$result = $this->ci->RecipientModel->getMessages(
|
||||
$result = $this->_ci->RecipientModel->getMessages(
|
||||
EMAIL_KONTAKT_TYPE,
|
||||
null,
|
||||
$this->ci->maillib->getConfigs()->email_number_to_sent
|
||||
$this->_ci->maillib->getConfigs()->email_number_to_sent
|
||||
);
|
||||
// Checks if errors were occurred
|
||||
if (isSuccess($result))
|
||||
@@ -418,14 +413,14 @@ class MessageLib
|
||||
if ((!is_null($result->retval[$i]->receiver) && $result->retval[$i]->receiver != '')
|
||||
|| (!is_null($result->retval[$i]->employeecontact) && $result->retval[$i]->employeecontact != ''))
|
||||
{
|
||||
$href = $this->ci->config->item('message_server').$this->ci->config->item('message_html_view_url').$result->retval[$i]->token;
|
||||
$href = $this->_ci->config->item('message_server').$this->_ci->config->item('message_html_view_url').$result->retval[$i]->token;
|
||||
|
||||
$vorlage = $this->ci->vorlagelib->loadVorlagetext('MessageMailHTML');
|
||||
$vorlage = $this->_ci->vorlagelib->loadVorlagetext('MessageMailHTML');
|
||||
|
||||
if(hasData($vorlage))
|
||||
{
|
||||
// Using a template for the html email body
|
||||
$body = $this->ci->parser->parse_string(
|
||||
$body = $this->_ci->parser->parse_string(
|
||||
$vorlage->retval[0]->text,
|
||||
array(
|
||||
'href' => $href,
|
||||
@@ -438,7 +433,7 @@ class MessageLib
|
||||
else
|
||||
{
|
||||
// Using a template for the html email body
|
||||
$body = $this->ci->parser->parse(
|
||||
$body = $this->_ci->parser->parse(
|
||||
'templates/mailHTML',
|
||||
array(
|
||||
'href' => $href,
|
||||
@@ -450,14 +445,14 @@ class MessageLib
|
||||
}
|
||||
if (is_null($body) || $body == '')
|
||||
{
|
||||
$this->ci->loglib->logError('Error while parsing the mail template');
|
||||
$this->_ci->loglib->logError('Error while parsing the mail template');
|
||||
}
|
||||
|
||||
$vorlage = $this->ci->vorlagelib->loadVorlagetext('MessageMailTXT');
|
||||
$vorlage = $this->_ci->vorlagelib->loadVorlagetext('MessageMailTXT');
|
||||
if(hasData($vorlage))
|
||||
{
|
||||
// Using a template for the plain text email body
|
||||
$altBody = $this->ci->parser->parse_string(
|
||||
$altBody = $this->_ci->parser->parse_string(
|
||||
$vorlage->retval[0]->text,
|
||||
array(
|
||||
'href' => $href,
|
||||
@@ -470,7 +465,7 @@ class MessageLib
|
||||
else
|
||||
{
|
||||
// Using a template for the plain text email body
|
||||
$altBody = $this->ci->parser->parse(
|
||||
$altBody = $this->_ci->parser->parse(
|
||||
'templates/mailTXT',
|
||||
array(
|
||||
'href' => $href,
|
||||
@@ -482,7 +477,7 @@ class MessageLib
|
||||
}
|
||||
if (is_null($altBody) || $altBody == '')
|
||||
{
|
||||
$this->ci->loglib->logError('Error while parsing the mail template');
|
||||
$this->_ci->loglib->logError('Error while parsing the mail template');
|
||||
}
|
||||
|
||||
// If the sender is not an employee, then system-sender is used if empty
|
||||
@@ -499,7 +494,7 @@ class MessageLib
|
||||
}
|
||||
|
||||
// Sending email
|
||||
$sent = $this->ci->maillib->send(
|
||||
$sent = $this->_ci->maillib->send(
|
||||
$sender,
|
||||
$receiverContact,
|
||||
$result->retval[$i]->subject,
|
||||
@@ -512,7 +507,7 @@ class MessageLib
|
||||
// If errors were occurred while sending the email
|
||||
if (!$sent)
|
||||
{
|
||||
$this->ci->loglib->logError('Error while sending an email');
|
||||
$this->_ci->loglib->logError('Error while sending an email');
|
||||
// Writing errors in tbl_msg_recipient
|
||||
$sme = $this->setMessageError(
|
||||
$result->retval[$i]->message_id,
|
||||
@@ -522,7 +517,7 @@ class MessageLib
|
||||
);
|
||||
if (!$sme)
|
||||
{
|
||||
$this->ci->loglib->logError('Error while updating DB');
|
||||
$this->_ci->loglib->logError('Error while updating DB');
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -532,13 +527,13 @@ class MessageLib
|
||||
// If some errors occurred
|
||||
if (!$sent)
|
||||
{
|
||||
$this->ci->loglib->logError('Error while updating DB');
|
||||
$this->_ci->loglib->logError('Error while updating DB');
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->ci->loglib->logError('This person does not have an email account');
|
||||
$this->_ci->loglib->logError('This person does not have an email account');
|
||||
// Writing errors in tbl_msg_recipient
|
||||
$sme = $this->setMessageError(
|
||||
$result->retval[$i]->message_id,
|
||||
@@ -548,7 +543,7 @@ class MessageLib
|
||||
);
|
||||
if (!$sme)
|
||||
{
|
||||
$this->ci->loglib->logError('Error while updating DB');
|
||||
$this->_ci->loglib->logError('Error while updating DB');
|
||||
}
|
||||
$sent = true; // Non blocking error
|
||||
}
|
||||
@@ -556,13 +551,13 @@ class MessageLib
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->ci->loglib->logInfo('There are no email to be sent');
|
||||
$this->_ci->loglib->logInfo('There are no email to be sent');
|
||||
$sent = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->ci->loglib->logError('Something went wrong while getting data from DB');
|
||||
$this->_ci->loglib->logError('Something went wrong while getting data from DB');
|
||||
$sent = false;
|
||||
}
|
||||
|
||||
@@ -577,7 +572,7 @@ class MessageLib
|
||||
$sent = true; // optimistic expectation
|
||||
|
||||
// Get a specific message from DB having EMAIL_KONTAKT_TYPE as relative contact type
|
||||
$result = $this->ci->RecipientModel->getMessages(
|
||||
$result = $this->_ci->RecipientModel->getMessages(
|
||||
EMAIL_KONTAKT_TYPE,
|
||||
null,
|
||||
null,
|
||||
@@ -598,12 +593,12 @@ class MessageLib
|
||||
if ($multiPartMime === true)
|
||||
{
|
||||
// Using a template for the html email body
|
||||
$href = $this->ci->config->item('message_server').$this->ci->config->item('message_html_view_url').$result->retval[0]->token;
|
||||
$href = $this->_ci->config->item('message_server').$this->_ci->config->item('message_html_view_url').$result->retval[0]->token;
|
||||
|
||||
$vorlage = $this->ci->vorlagelib->loadVorlagetext('MessageMailHTML');
|
||||
$vorlage = $this->_ci->vorlagelib->loadVorlagetext('MessageMailHTML');
|
||||
if(hasData($vorlage))
|
||||
{
|
||||
$bodyMsg = $this->ci->parser->parse_string(
|
||||
$bodyMsg = $this->_ci->parser->parse_string(
|
||||
$vorlage->retval[0]->text,
|
||||
array(
|
||||
'href' => $href,
|
||||
@@ -615,7 +610,7 @@ class MessageLib
|
||||
}
|
||||
else
|
||||
{
|
||||
$bodyMsg = $this->ci->parser->parse(
|
||||
$bodyMsg = $this->_ci->parser->parse(
|
||||
'templates/mailHTML',
|
||||
array(
|
||||
'href' => $href,
|
||||
@@ -628,14 +623,14 @@ class MessageLib
|
||||
if (is_null($bodyMsg) || $bodyMsg == '')
|
||||
{
|
||||
// $body = $result->retval[0]->body;
|
||||
$this->ci->loglib->logError('Error while parsing the html mail template');
|
||||
$this->_ci->loglib->logError('Error while parsing the html mail template');
|
||||
}
|
||||
|
||||
// Using a template for the plain text email body
|
||||
$vorlage = $this->ci->vorlagelib->loadVorlagetext('MessageMailTXT');
|
||||
$vorlage = $this->_ci->vorlagelib->loadVorlagetext('MessageMailTXT');
|
||||
if(hasData($vorlage))
|
||||
{
|
||||
$altBody = $this->ci->parser->parse_string(
|
||||
$altBody = $this->_ci->parser->parse_string(
|
||||
$vorlage->retval[0]->text,
|
||||
array(
|
||||
'href' => $href,
|
||||
@@ -647,7 +642,7 @@ class MessageLib
|
||||
}
|
||||
else
|
||||
{
|
||||
$altBody = $this->ci->parser->parse(
|
||||
$altBody = $this->_ci->parser->parse(
|
||||
'templates/mailTXT',
|
||||
array(
|
||||
'href' => $href,
|
||||
@@ -659,7 +654,7 @@ class MessageLib
|
||||
}
|
||||
if (is_null($altBody) || $altBody == '')
|
||||
{
|
||||
$this->ci->loglib->logError('Error while parsing the plain text mail template');
|
||||
$this->_ci->loglib->logError('Error while parsing the plain text mail template');
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -681,7 +676,7 @@ class MessageLib
|
||||
}
|
||||
|
||||
// Sending email
|
||||
$sent = $this->ci->maillib->send(
|
||||
$sent = $this->_ci->maillib->send(
|
||||
null,
|
||||
$receiverContact,
|
||||
is_null($subject) ? $result->retval[0]->subject : $subject, // if parameter subject is not null, use it!
|
||||
@@ -694,7 +689,7 @@ class MessageLib
|
||||
// If errors were occurred while sending the email
|
||||
if (!$sent)
|
||||
{
|
||||
$this->ci->loglib->logError('Error while sending an email');
|
||||
$this->_ci->loglib->logError('Error while sending an email');
|
||||
// Writing errors in tbl_msg_recipient
|
||||
$sme = $this->setMessageError(
|
||||
$result->retval[0]->message_id,
|
||||
@@ -704,7 +699,7 @@ class MessageLib
|
||||
);
|
||||
if (!$sme)
|
||||
{
|
||||
$this->ci->loglib->logError('Error while updating DB');
|
||||
$this->_ci->loglib->logError('Error while updating DB');
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -714,13 +709,13 @@ class MessageLib
|
||||
// If the email has been sent and the DB updated
|
||||
if (!$sent)
|
||||
{
|
||||
$this->ci->loglib->logError('Error while updating DB');
|
||||
$this->_ci->loglib->logError('Error while updating DB');
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->ci->loglib->logError('This person does not have an email account');
|
||||
$this->_ci->loglib->logError('This person does not have an email account');
|
||||
// Writing errors in tbl_msg_recipient
|
||||
$sme = $this->setMessageError(
|
||||
$result->retval[0]->message_id,
|
||||
@@ -730,27 +725,100 @@ class MessageLib
|
||||
);
|
||||
if (!$sme)
|
||||
{
|
||||
$this->ci->loglib->logError('Error while updating DB');
|
||||
$this->_ci->loglib->logError('Error while updating DB');
|
||||
}
|
||||
$sent = true; // Non blocking error
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->ci->loglib->logInfo('There are no email to be sent');
|
||||
$this->_ci->loglib->logInfo('There are no email to be sent');
|
||||
$sent = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->ci->loglib->logError('Something went wrong while getting data from DB');
|
||||
$this->_ci->loglib->logError('Something went wrong while getting data from DB');
|
||||
$sent = false;
|
||||
}
|
||||
|
||||
return $sent;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
/**
|
||||
* parseMessageText
|
||||
*/
|
||||
public function parseMessageText($text, $data = array())
|
||||
{
|
||||
return $this->_ci->parser->parse_string($text, $data, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets data for Person from view vw_msg_vars_person
|
||||
* @param $person_id
|
||||
*/
|
||||
public function getMessageVarsPerson()
|
||||
{
|
||||
$variablesArray = array();
|
||||
$variables = $this->_ci->MessageModel->getMessageVarsPerson();
|
||||
|
||||
if (isError($variables))
|
||||
{
|
||||
show_error($variables->retval);
|
||||
}
|
||||
elseif (hasData($variables))
|
||||
{
|
||||
// Skip person_id
|
||||
for ($i = 1; $i < count($variables->retval); $i++)
|
||||
{
|
||||
$variablesArray['{'.str_replace(' ', '_', strtolower($variables->retval[$i])).'}'] = $variables->retval[$i];
|
||||
}
|
||||
array_shift($variables->retval); // Remove person_id
|
||||
}
|
||||
|
||||
return $variablesArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* A person may belongs to more organisation units
|
||||
*/
|
||||
public function getOeKurzbz($sender_id)
|
||||
{
|
||||
$oe_kurzbz = array();
|
||||
|
||||
$this->_ci->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel');
|
||||
$benutzerResult = $this->_ci->BenutzerfunktionModel->getByPersonId($sender_id);
|
||||
if (isError($benutzerResult))
|
||||
{
|
||||
show_error($benutzerResult->retval);
|
||||
}
|
||||
elseif (hasData($benutzerResult))
|
||||
{
|
||||
foreach ($benutzerResult->retval as $val)
|
||||
{
|
||||
$oe_kurzbz[] = $val->oe_kurzbz;
|
||||
}
|
||||
}
|
||||
|
||||
return $oe_kurzbz;
|
||||
}
|
||||
|
||||
/**
|
||||
* Admin or commoner?
|
||||
*/
|
||||
public function getIsAdmin($sender_id)
|
||||
{
|
||||
$this->_ci->load->model('system/Benutzerrolle_model', 'BenutzerrolleModel');
|
||||
$isAdmin = $this->_ci->BenutzerrolleModel->isAdminByPersonId($sender_id);
|
||||
if (isError($isAdmin))
|
||||
{
|
||||
show_error($isAdmin->retval);
|
||||
}
|
||||
|
||||
return $isAdmin->retval;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Private methods
|
||||
|
||||
/**
|
||||
@@ -761,7 +829,7 @@ class MessageLib
|
||||
$updated = false;
|
||||
|
||||
// Updates table tbl_msg_recipient
|
||||
$resultUpdate = $this->ci->RecipientModel->update(array($receiver_id, $message_id), $parameters);
|
||||
$resultUpdate = $this->_ci->RecipientModel->update(array($receiver_id, $message_id), $parameters);
|
||||
// Checks if errors were occurred
|
||||
if (isSuccess($resultUpdate) && is_array($resultUpdate->retval))
|
||||
{
|
||||
@@ -802,13 +870,13 @@ class MessageLib
|
||||
private function _getReceiversByOekurzbz($oe_kurzbz)
|
||||
{
|
||||
// Load Benutzerfunktion_model
|
||||
$this->ci->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel');
|
||||
$this->_ci->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel');
|
||||
// Join with table public.tbl_benutzer on field uid
|
||||
$this->ci->BenutzerfunktionModel->addJoin('public.tbl_benutzer', 'uid');
|
||||
$this->_ci->BenutzerfunktionModel->addJoin('public.tbl_benutzer', 'uid');
|
||||
// Get all the valid receivers id using the oe_kurzbz
|
||||
$receivers = $this->ci->BenutzerfunktionModel->loadWhere(
|
||||
'oe_kurzbz = '.$this->ci->db->escape($oe_kurzbz).
|
||||
' AND funktion_kurzbz = '.$this->ci->db->escape($this->ci->config->item('assistent_function')).
|
||||
$receivers = $this->_ci->BenutzerfunktionModel->loadWhere(
|
||||
'oe_kurzbz = '.$this->_ci->db->escape($oe_kurzbz).
|
||||
' AND funktion_kurzbz = '.$this->_ci->db->escape($this->_ci->config->item('assistent_function')).
|
||||
' AND (NOW() BETWEEN COALESCE(datum_von, NOW()) AND COALESCE(datum_bis, NOW()))'
|
||||
);
|
||||
|
||||
@@ -851,8 +919,8 @@ class MessageLib
|
||||
private function _checkReceiverId($receiver_id)
|
||||
{
|
||||
// Load Person_model
|
||||
$this->ci->load->model('person/Person_model', 'PersonModel');
|
||||
$result = $this->ci->PersonModel->load($receiver_id);
|
||||
$this->_ci->load->model('person/Person_model', 'PersonModel');
|
||||
$result = $this->_ci->PersonModel->load($receiver_id);
|
||||
if (hasData($result))
|
||||
{
|
||||
return true;
|
||||
@@ -867,7 +935,7 @@ class MessageLib
|
||||
private function _saveMessage($sender_id, $receiver_id, $subject, $body, $relationmessage_id, $oe_kurzbz)
|
||||
{
|
||||
// Starts db transaction
|
||||
$this->ci->db->trans_start(false);
|
||||
$this->_ci->db->trans_start(false);
|
||||
|
||||
// Save Message
|
||||
$msgData = array(
|
||||
@@ -878,7 +946,7 @@ class MessageLib
|
||||
'relationmessage_id' => $relationmessage_id,
|
||||
'oe_kurzbz' => $oe_kurzbz
|
||||
);
|
||||
$result = $this->ci->MessageModel->insert($msgData);
|
||||
$result = $this->_ci->MessageModel->insert($msgData);
|
||||
if (isSuccess($result))
|
||||
{
|
||||
// Link the message with the receiver
|
||||
@@ -888,7 +956,7 @@ class MessageLib
|
||||
'message_id' => $msg_id,
|
||||
'token' => generateToken()
|
||||
);
|
||||
$result = $this->ci->RecipientModel->insert($recipientData);
|
||||
$result = $this->_ci->RecipientModel->insert($recipientData);
|
||||
if (isSuccess($result))
|
||||
{
|
||||
// Save message status
|
||||
@@ -897,20 +965,20 @@ class MessageLib
|
||||
'person_id' => $receiver_id,
|
||||
'status' => MSG_STATUS_UNREAD
|
||||
);
|
||||
$result = $this->ci->MsgStatusModel->insert($statusData);
|
||||
$result = $this->_ci->MsgStatusModel->insert($statusData);
|
||||
}
|
||||
}
|
||||
|
||||
$this->ci->db->trans_complete();
|
||||
$this->_ci->db->trans_complete();
|
||||
|
||||
if ($this->ci->db->trans_status() === false || isError($result))
|
||||
if ($this->_ci->db->trans_status() === false || isError($result))
|
||||
{
|
||||
$this->ci->db->trans_rollback();
|
||||
$this->_ci->db->trans_rollback();
|
||||
$result = $this->_error($result->msg, EXIT_ERROR);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->ci->db->trans_commit();
|
||||
$this->_ci->db->trans_commit();
|
||||
$result = $this->_success($msg_id);
|
||||
}
|
||||
|
||||
@@ -932,12 +1000,4 @@ class MessageLib
|
||||
{
|
||||
return success($retval, $code, MessageLib::MSG_INDX_PREFIX);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function parseMessageText($text, $data = array())
|
||||
{
|
||||
return $this->ci->parser->parse_string($text, $data, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,12 +13,12 @@ class Kostenstelle_model extends DB_Model
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all active Kostenstellen for a geschaeftsjahr, as determined by the geschaeftsjahrvon and bis fields
|
||||
* Gets Kostenstellen for a geschaeftsjahr, as determined by the geschaeftsjahrvon and bis fields
|
||||
* Gets Kostenstellen of current Geschaeftsjahr if Geschaeftsjahr not specified
|
||||
* @param $geschaeftsjahr
|
||||
* @return array|null Kostenstellen or empty array if no geschaeftsjahr found
|
||||
*/
|
||||
public function getActiveKostenstellenForGeschaeftsjahr($geschaeftsjahr = null)
|
||||
public function getKostenstellenForGeschaeftsjahr($geschaeftsjahr = null)
|
||||
{
|
||||
$this->load->model('organisation/geschaeftsjahr_model', 'GeschaeftsjahrModel');
|
||||
|
||||
@@ -47,12 +47,12 @@ class Kostenstelle_model extends DB_Model
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all active Kostenstellen for a geschaeftsjahr, as determined by the geschaeftsjahrvon and bis fields, together with their oe,
|
||||
* Gets Kostenstellen for a geschaeftsjahr, as determined by the geschaeftsjahrvon and bis fields, together with their oe,
|
||||
* hierarchally sorted, gets Kostenstellen of current Geschaeftsjahr if Geschaeftsjahr not specified
|
||||
* @param null $geschaeftsjahr
|
||||
* @return array|null
|
||||
*/
|
||||
public function getActiveKostenstellenForGeschaeftsjahrWithOe($geschaeftsjahr = null)
|
||||
public function getKostenstellenForGegitschaeftsjahrWithOe($geschaeftsjahr = null)
|
||||
{
|
||||
$this->load->model('organisation/geschaeftsjahr_model', 'GeschaeftsjahrModel');
|
||||
|
||||
|
||||
@@ -204,8 +204,8 @@ class Prestudent_model extends DB_Model
|
||||
$this->addJoin('bis.tbl_nation zgvmanat', 'zgvmanation = zgvmanat.nation_code', 'LEFT');
|
||||
|
||||
$prestudent = $this->load($prestudent_id);
|
||||
if($prestudent->error)
|
||||
return error($prestudent->retval);
|
||||
if (!hasData($prestudent))
|
||||
return error('prestudent could not be loaded');
|
||||
|
||||
//Prestudentstatus
|
||||
$this->load->model('crm/prestudentstatus_model', 'PrestudentstatusModel');
|
||||
@@ -225,6 +225,7 @@ class Prestudent_model extends DB_Model
|
||||
|
||||
if (count($studienordnung->retval) > 0)
|
||||
{
|
||||
$lastStatus->retval[0]->studiengang_kz = $studienordnung->retval[0]->studiengang_kz;
|
||||
$lastStatus->retval[0]->studiengangkurzbzlang = $studienordnung->retval[0]->studiengangkurzbzlang;
|
||||
$lastStatus->retval[0]->studiengangbezeichnung = $studienordnung->retval[0]->studiengangbezeichnung;
|
||||
$lastStatus->retval[0]->studiengangbezeichnung_englisch = $studienordnung->retval[0]->studiengangbezeichnung_englisch;
|
||||
@@ -233,6 +234,7 @@ class Prestudent_model extends DB_Model
|
||||
|
||||
//get Sprache
|
||||
$this->load->model('system/sprache_model', 'SpracheModel');
|
||||
$this->SpracheModel->addSelect('sprache, locale, bezeichnung');
|
||||
$language = $this->SpracheModel->load($lastStatus->retval[0]->sprache);
|
||||
|
||||
if ($language->error)
|
||||
|
||||
@@ -7,6 +7,7 @@ $this->load->view('templates/FHC-Header',
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'ajaxlib' => true,
|
||||
'addons' => true,
|
||||
'navigationwidget' => true
|
||||
)
|
||||
);
|
||||
@@ -23,102 +24,8 @@ $this->load->view('templates/FHC-Header',
|
||||
<h3 class="page-header">FH-Complete</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
<i class="fa fa-comments fa-5x"></i>
|
||||
</div>
|
||||
<div class="col-xs-9 text-right">
|
||||
<div class="huge">26</div>
|
||||
<div>neue Messages</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#">
|
||||
<div class="panel-footer">
|
||||
<span class="pull-left">View Details</span>
|
||||
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="panel panel-green">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
<i class="fa fa-tasks fa-5x"></i>
|
||||
</div>
|
||||
<div class="col-xs-9 text-right">
|
||||
<div class="huge">12</div>
|
||||
<div>neue Interessenten</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#">
|
||||
<div class="panel-footer">
|
||||
<span class="pull-left">View Details</span>
|
||||
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="panel panel-yellow">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
<i class="fa fa-clock-o fa-5x"></i>
|
||||
</div>
|
||||
<div class="col-xs-9 text-right">
|
||||
<div class="huge">124</div>
|
||||
<div>inaktive Interessenten</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#">
|
||||
<div class="panel-footer">
|
||||
<span class="pull-left">View Details</span>
|
||||
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<div class="panel panel-red">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
<i class="fa fa-support fa-5x"></i>
|
||||
</div>
|
||||
<div class="col-xs-9 text-right">
|
||||
<div class="huge">13</div>
|
||||
<div>Support Tickets!</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#">
|
||||
<div class="panel-footer">
|
||||
<span class="pull-left">View Details</span>
|
||||
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
|
||||
<span>
|
||||
<?php
|
||||
//$this->load->view('system/infocenter/infocenterData.php');
|
||||
?>
|
||||
<div id="dashboard"></div>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
'fontawesome' => true,
|
||||
'ajaxlib' => true,
|
||||
'customCSSs' => array(
|
||||
'public/css/tools/gradelist.css'
|
||||
'public/css/tools/gradelist.css',
|
||||
'public/css/fhcomplete.css'
|
||||
),
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js'
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
<div class="panel-body">
|
||||
<div class="row" id="messagelist">
|
||||
<?php
|
||||
$this->load->view('system/messageList.php', $messages);
|
||||
$this->load->view('system/messages/messageList.php', $messages);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
<?php
|
||||
$lastMailAdress = '';
|
||||
foreach ($stammdaten->kontakte as $kontakt): ?>
|
||||
<tr>
|
||||
@@ -113,12 +113,11 @@
|
||||
</table>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<form id="sendmsgform" method="post" action="<?php echo $messagelink ?>"
|
||||
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') ?></a>
|
||||
<form id="sendmsgform" method="post" action="<?php echo site_url('/system/Messages/write'); ?>" 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'); ?>
|
||||
</a>
|
||||
</form>
|
||||
</div>
|
||||
<?php if (isset($stammdaten->zugangscode)): ?>
|
||||
|
||||
@@ -2,11 +2,34 @@
|
||||
<?php
|
||||
$unique_studsemester = array();
|
||||
$first = true;
|
||||
$fit_programme_studiengaenge = array(10021, 10027);
|
||||
foreach ($zgvpruefungen as $zgvpruefung):
|
||||
$infoonly = $zgvpruefung->infoonly;
|
||||
$studiengangkurzbz = $studiengangbezeichnung = $studiengangtyp = '';
|
||||
|
||||
$studiensemester = isset($zgvpruefung->prestudentstatus->studiensemester_kurzbz) ? $zgvpruefung->prestudentstatus->studiensemester_kurzbz : '';
|
||||
$studiengangkurzbz = empty($zgvpruefung->prestudentstatus->studiengangkurzbzlang) ? $zgvpruefung->studiengang : $zgvpruefung->prestudentstatus->studiengangkurzbzlang;
|
||||
$studiengangbezeichnung = empty($zgvpruefung->prestudentstatus->studiengangbezeichnung) ? $zgvpruefung->studiengangbezeichnung : $zgvpruefung->prestudentstatus->studiengangbezeichnung;
|
||||
$studiengang_kz = isset($zgvpruefung->studiengang_kz) ? $zgvpruefung->studiengang_kz : '';
|
||||
$studiengangtyp = isset($zgvpruefung->studiengangtyp) ? $zgvpruefung->studiengangtyp : '';
|
||||
|
||||
if (empty($zgvpruefung->prestudentstatus->studiengangkurzbzlang))
|
||||
{
|
||||
if (!empty($zgvpruefung->studiengang))
|
||||
$studiengangkurzbz = $zgvpruefung->studiengang;
|
||||
}
|
||||
else
|
||||
{
|
||||
$studiengangkurzbz = $zgvpruefung->prestudentstatus->studiengangkurzbzlang;
|
||||
}
|
||||
|
||||
if (empty($zgvpruefung->prestudentstatus->studiengangbezeichnung))
|
||||
{
|
||||
if (!empty($zgvpruefung->studiengangbezeichnung))
|
||||
$studiengangbezeichnung = $zgvpruefung->studiengangbezeichnung;
|
||||
}
|
||||
else
|
||||
{
|
||||
$studiengangbezeichnung = $zgvpruefung->prestudentstatus->studiengangbezeichnung;
|
||||
}
|
||||
|
||||
//set bootstrap columns for zgv form
|
||||
$columns = array(3, 3, 3, 3);
|
||||
@@ -219,7 +242,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- show only master zgv if master studiengang - start -->
|
||||
<?php if ($zgvpruefung->studiengangtyp === 'm') : ?>
|
||||
<?php if ($studiengangtyp === 'm') : ?>
|
||||
<div class="row">
|
||||
<div class="col-lg-<?php echo $columns[0] ?>">
|
||||
<div class="form-group"><label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('lehre','master') . ':'?></label>
|
||||
@@ -360,17 +383,24 @@
|
||||
</div>
|
||||
</div><!-- /.column-absage -->
|
||||
<?php
|
||||
$disabled = $disabledTxt = '';
|
||||
$disabled = $disabledStg = $disabledTxt = $disabledStgTxt = '';
|
||||
if (isEmptyString($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum))
|
||||
{
|
||||
$disabled = 'disabled';
|
||||
$disabledTxt = 'Die Bewerbung muss erst abgeschickt worden sein.';
|
||||
$disabled = $disabledStg = 'disabled';
|
||||
$disabledTxt = $disabledStgTxt = 'Die Bewerbung muss erst abgeschickt worden sein.';
|
||||
}
|
||||
|
||||
if ($zgvpruefung->studiengangtyp !== 'b')
|
||||
if ($studiengangtyp !== 'b')
|
||||
{
|
||||
$disabled = 'disabled';
|
||||
$disabledTxt = 'Nur Bachelorstudiengänge können freigegeben werden.';;
|
||||
$disabledTxt = 'Nur Bachelorstudiengänge können freigegeben werden.';
|
||||
|
||||
// FIT-Lehrgänge: exceptions, can be freigegeben in Infocenter
|
||||
if (!in_array($studiengang_kz, $fit_programme_studiengaenge))
|
||||
{
|
||||
$disabledStg = 'disabled';
|
||||
$disabledStgTxt = 'Nur Bachelorstudiengänge können freigegeben werden.';
|
||||
}
|
||||
}
|
||||
?>
|
||||
<div class="col-lg-8 text-right">
|
||||
@@ -378,7 +408,7 @@
|
||||
<div class="input-group frgstatusgrselect" id="frgstatusgrselect_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<select name="frgstatusgrund"
|
||||
class="d-inline float-right"
|
||||
<?php echo $disabled ?>
|
||||
<?php echo $disabledStg ?>
|
||||
required>
|
||||
<option value="null"
|
||||
selected="selected"><?php echo ucfirst($this->p->t('ui', 'freigabeart')) . '...' ?>
|
||||
@@ -388,8 +418,8 @@
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default freigabebtnstg" <?php echo $disabled ?> id="freigabebtnstg_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
data-toggle="tooltip" title="<?php echo $disabledTxt ?>">
|
||||
<button class="btn btn-default freigabebtnstg" <?php echo $disabledStg ?> id="freigabebtnstg_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
data-toggle="tooltip" title="<?php echo $disabledStgTxt ?>">
|
||||
<?php echo $this->p->t('ui', 'freigabeAnStudiengang') ?>
|
||||
</button>
|
||||
</span>
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
<?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/messageSent.css')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<h3 class="page-header text-right">Thank you for getting in touch!</h3>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<h3 class="page-header">Danke für die Kontaktaufnahme!</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!
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
Nachricht erfolgreich versandt!
|
||||
</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>
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-right" style="border-right: 1px">
|
||||
You can safely close this window.
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
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">
|
||||
Fachhochschule Technikum Wien | University of Applied Sciences Technikum Wien
|
||||
<br>Hoechstaedtplatz 6, 1200 Wien, AUSTRIA
|
||||
<br><a class="signatureblocklink" href="https://www.technikum-wien.at">www.technikum-wien.at</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="panel-footer">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<button class="btn btn-default" onclick="javascript:window.close(); return false;">
|
||||
<i class="fa fa-times"></i> Close | Schließen
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-xs-6 text-right">
|
||||
<button class="btn btn-default"><i class="glyphicon glyphicon-new-window"></i> My Application | Meine Bewerbung</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -1,319 +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')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<?php
|
||||
$href = site_url().'/system/Messages/send/';
|
||||
?>
|
||||
<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 $href; ?>">
|
||||
<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($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><?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 endif; ?>
|
||||
</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($receivers) && count($receivers) > 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($receivers) > 1)
|
||||
echo '<option value="-1">Select...</option>';
|
||||
|
||||
$idtype = $personOnly === true ? 'person_id' : 'prestudent_id';
|
||||
foreach ($receivers as $receiver)
|
||||
{
|
||||
?>
|
||||
<option value="<?php echo $receiver->{$idtype}; ?>"><?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
|
||||
endif;
|
||||
?>
|
||||
|
||||
<?php
|
||||
for ($i = 0; $i < count($receivers); $i++)
|
||||
{
|
||||
$receiver = $receivers[$i];
|
||||
if ($personOnly === true)
|
||||
{
|
||||
$receiverid = $receiver->person_id;
|
||||
$fieldname = 'persons[]';
|
||||
}
|
||||
else
|
||||
{
|
||||
$receiverid = $receiver->prestudent_id;
|
||||
$fieldname = 'prestudents[]';
|
||||
}
|
||||
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
|
||||
}
|
||||
?>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
const CONTROLLER_URL = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/"+FHC_JS_DATA_STORAGE_OBJECT.called_path;
|
||||
|
||||
tinymce.init({
|
||||
selector: "#bodyTextArea",
|
||||
plugins: "autoresize",
|
||||
autoresize_min_height: 150,
|
||||
autoresize_max_height: 600,
|
||||
autoresize_bottom_margin: 10
|
||||
});
|
||||
|
||||
tinymce.init({
|
||||
menubar: false,
|
||||
toolbar: false,
|
||||
statusbar: false,
|
||||
readonly: 1,
|
||||
selector: "#tinymcePreview",
|
||||
plugins: "autoresize",
|
||||
autoresize_min_height: 150,
|
||||
autoresize_bottom_margin: 10
|
||||
});
|
||||
|
||||
$(document).ready(function ()
|
||||
{
|
||||
if ($("#variables"))
|
||||
{
|
||||
$("#variables").dblclick(function ()
|
||||
{
|
||||
if ($("#bodyTextArea"))
|
||||
{
|
||||
//if editor active add at cursor position, otherwise at end
|
||||
if (tinymce.activeEditor.id === "bodyTextArea")
|
||||
tinymce.activeEditor.execCommand('mceInsertContent', false, $(this).children(":selected").val());
|
||||
else
|
||||
tinyMCE.get("bodyTextArea").setContent(tinyMCE.get("bodyTextArea").getContent() + $(this).children(":selected").val());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if ($("#recipients"))
|
||||
{
|
||||
$("#recipients").change(tinymcePreviewSetContent);
|
||||
}
|
||||
|
||||
if ($("#refresh"))
|
||||
{
|
||||
$("#refresh").click(tinymcePreviewSetContent);
|
||||
}
|
||||
|
||||
if ($("#sendButton") && $("#sendForm"))
|
||||
{
|
||||
$("#sendButton").click(function ()
|
||||
{
|
||||
if ($("#subject") && $("#subject").val() != '' && tinyMCE.get("bodyTextArea").getContent() != '')
|
||||
{
|
||||
$("#sendForm").submit();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("Subject and text are required fields!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if ($("#vorlageDnD"))
|
||||
{
|
||||
$("#vorlageDnD").change(function ()
|
||||
{
|
||||
if (this.value != '')
|
||||
{
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: CONTROLLER_URL+"/getVorlage",
|
||||
data: {"vorlage_kurzbz": this.value},
|
||||
success: function (data, textStatus, jqXHR)
|
||||
{
|
||||
tinyMCE.get("bodyTextArea").setContent(data.retval[0].text);
|
||||
$("#subject").val(data.retval[0].subject);
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown)
|
||||
{
|
||||
alert(textStatus + " - " + errorThrown);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$("#subject").focus();
|
||||
|
||||
});
|
||||
|
||||
function tinymcePreviewSetContent()
|
||||
{
|
||||
if ($("#tinymcePreview"))
|
||||
{
|
||||
if ($("#recipients").children(":selected").val() > -1)
|
||||
{
|
||||
parseMessageText($("#recipients").children(":selected").val(), tinyMCE.get("bodyTextArea").getContent());
|
||||
}
|
||||
else
|
||||
{
|
||||
tinyMCE.get("tinymcePreview").setContent("");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function parseMessageText(receiver_id, text)
|
||||
{
|
||||
<?php
|
||||
$idtype = $personOnly === true ? 'person_id' : 'prestudent_id';
|
||||
?>
|
||||
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: CONTROLLER_URL+"/parseMessageText",
|
||||
data: {"<?php echo $idtype ?>": receiver_id, "text": text},
|
||||
success: function (data, textStatus, jqXHR)
|
||||
{
|
||||
tinyMCE.get("tinymcePreview").setContent(data);
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown)
|
||||
{
|
||||
alert(textStatus + " - " + errorThrown + " - " + jqXHR.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -1,89 +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')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<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/messageForm.php'); ?>
|
||||
<?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>
|
||||
<script>
|
||||
tinymce.init({
|
||||
selector: "#bodyTextArea",
|
||||
plugins: "autoresize",
|
||||
autoresize_min_height: 150,
|
||||
autoresize_max_height: 600,
|
||||
autoresize_bottom_margin: 10,
|
||||
auto_focus: "bodyTextArea"
|
||||
});
|
||||
|
||||
$(document).ready(function ()
|
||||
{
|
||||
if ($("#sendButton") && $("#sendForm"))
|
||||
{
|
||||
$("#sendButton").click(function ()
|
||||
{
|
||||
if ($("#subject") && $("#subject").val() != '' && tinyMCE.get("bodyTextArea").getContent() != '')
|
||||
{
|
||||
$("#sendForm").submit();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("Subject and text are required fields!");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -0,0 +1,103 @@
|
||||
<?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/messageSent.css')
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-xs-6">
|
||||
<h3 class="page-header text-right">Thank you for getting in touch!</h3>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-6">
|
||||
<h3 class="page-header">Danke für die Kontaktaufnahme!</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!
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
Nachricht erfolgreich versandt!
|
||||
</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>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-right" style="border-right: 1px">
|
||||
You can safely close this window.
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
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">
|
||||
Fachhochschule Technikum Wien | University of Applied Sciences Technikum Wien
|
||||
<br>Hoechstaedtplatz 6, 1200 Wien, AUSTRIA
|
||||
<br><a class="signatureblocklink" href="https://www.technikum-wien.at">www.technikum-wien.at</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -0,0 +1,92 @@
|
||||
<?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/messageSent.css')
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
|
||||
<?php
|
||||
if ($success)
|
||||
{
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-xs-6">
|
||||
<h3 class="page-header text-right"></h3>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-6">
|
||||
<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!
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
Nachricht erfolgreich versandt!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-right" style="border-right: 1px">
|
||||
You can safely close this window.
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
Sie können dieses Fenster schließen.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 text-center">
|
||||
<p class="signatureblock">
|
||||
Fachhochschule Technikum Wien | University of Applied Sciences Technikum Wien
|
||||
<br>Hoechstaedtplatz 6, 1200 Wien, AUSTRIA
|
||||
<br><a class="signatureblocklink" href="https://www.technikum-wien.at">www.technikum-wien.at</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -0,0 +1,183 @@
|
||||
<?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"); ?>
|
||||
@@ -0,0 +1,63 @@
|
||||
<?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"); ?>
|
||||
@@ -93,8 +93,6 @@
|
||||
// NavigationWidget CSS
|
||||
if ($navigationwidget === true) generateCSSsInclude('public/css/NavigationWidget.css');
|
||||
|
||||
generateCSSsInclude('public/css/fhcomplete.css');
|
||||
|
||||
// Eventually required CSS
|
||||
generateCSSsInclude($customCSSs); // Eventually required CSS
|
||||
|
||||
|
||||
@@ -205,8 +205,10 @@ echo '
|
||||
//Foto anzeigen
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
|
||||
$person = new person();
|
||||
$person->load($benutzer->person_id);
|
||||
//var_dump($person);
|
||||
if ($person->foto != '')
|
||||
{
|
||||
if (!($ansicht && $user->foto_sperre))
|
||||
@@ -238,7 +240,7 @@ if (!$ansicht)
|
||||
echo '</td><td width="30%" valign="top">';
|
||||
|
||||
echo '
|
||||
<b>'.($type == "student"?$p->t("profil/student"):$p->t('profil/mitarbeiter')).'</b><br><br>
|
||||
<b>'.($type == "student"?$p->t("profil/student") : ($user->fixangestellt ? $p->t('profil/mitarbeiter') : $p->t('personensuche/mitarbeiterInExtern'))).'</b><br><br>
|
||||
'.$p->t('global/username').': '.$user->uid.'<br>';
|
||||
if ($type == 'student' && $person->matr_nr)
|
||||
echo $p->t('global/matrikelnummer'). ": ". $person->matr_nr. "<br>";
|
||||
|
||||
+10
-10
@@ -158,7 +158,7 @@ function searchPerson($searchItems)
|
||||
{
|
||||
$bisverwendung = new bisverwendung();
|
||||
$bisverwendung->getLastAktVerwendung($row->uid);
|
||||
|
||||
|
||||
echo '<tr>';
|
||||
//echo '<td>',$row->titelpre,'</td>';
|
||||
echo '<td>',$row->anrede,'</td>';
|
||||
@@ -171,7 +171,7 @@ function searchPerson($searchItems)
|
||||
echo '</td>';
|
||||
//echo '<td>',$row->titelpost,'</td>';
|
||||
echo '<td>',($row->studiengang!=''?$row->studiengang:'-'),'</td>';
|
||||
echo '<td>',($row->mitarbeiter_uid==NULL?'StudentIn':'MitarbeiterIn'),'</td>';
|
||||
echo '<td>',($row->mitarbeiter_uid==NULL ? $p->t('personensuche/studentIn') : ($row->fixangestellt=='t' ? $p->t('personensuche/mitarbeiterIn') : $p->t('personensuche/mitarbeiterInExtern'))),'</td>';
|
||||
// Display phone number
|
||||
echo '<td>';
|
||||
// * if user has telefonklappe, display it
|
||||
@@ -197,7 +197,7 @@ function searchPerson($searchItems)
|
||||
{
|
||||
echo $kontakt->kontakt. "<br>";
|
||||
$is_zugestellt = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
// if zustellung is false display '-'
|
||||
if (!$is_zugestellt)
|
||||
@@ -211,7 +211,7 @@ function searchPerson($searchItems)
|
||||
echo '-';
|
||||
}
|
||||
}
|
||||
echo '</td>';
|
||||
echo '</td>';
|
||||
echo '<td>',($row->raum!=''?$row->raum:'-'),'</td>';
|
||||
if($row->alias!='' && !in_array($row->studiengang_kz, $noalias))
|
||||
$mail = $row->alias.'@'.DOMAIN;
|
||||
@@ -311,7 +311,7 @@ function searchOE($searchItems)
|
||||
if($bisverwendung->beschausmasscode=='5')
|
||||
echo '<span style="color: orange"> (karenziert)</span>';
|
||||
echo '</td>';
|
||||
|
||||
|
||||
// Display phone number
|
||||
echo '<td>';
|
||||
// * if user has telefonklappe, display it
|
||||
@@ -323,7 +323,7 @@ function searchOE($searchItems)
|
||||
else
|
||||
{
|
||||
$person_id = $person->person_id;
|
||||
|
||||
|
||||
if ($kontakt->load_persKontakttyp($person_id, 'firmenhandy'))
|
||||
{
|
||||
$is_zugestellt = false;
|
||||
@@ -334,13 +334,13 @@ function searchOE($searchItems)
|
||||
{
|
||||
echo $kontakt->kontakt. "<br>";
|
||||
$is_zugestellt = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
// if zustellung is false display '-'
|
||||
if (!$is_zugestellt)
|
||||
{
|
||||
echo '-';
|
||||
}
|
||||
}
|
||||
}
|
||||
// * if neither telefonklappe nor business handy, display '-'
|
||||
else
|
||||
@@ -348,8 +348,8 @@ function searchOE($searchItems)
|
||||
echo '-';
|
||||
}
|
||||
}
|
||||
echo '</td>';
|
||||
|
||||
echo '</td>';
|
||||
|
||||
echo '<td>',($mitarbeiter->ort_kurzbz!=''?$mitarbeiter->ort_kurzbz:'-'),'</td>';
|
||||
//if($row->alias!='' && !in_array($row->studiengang_kz, $noalias)) ??? Was macht $noalias?
|
||||
if($person->alias!='')
|
||||
|
||||
@@ -1250,7 +1250,7 @@ function MessageNew()
|
||||
{
|
||||
var prestudentIdArray = getMultipleTreeCellText(tree, 'student-treecol-prestudent_id');
|
||||
|
||||
var action = '<?php echo APP_ROOT ?>index.ci.php/system/Messages/write/' + <?php echo $benutzer->person_id; ?>;
|
||||
var action = '<?php echo APP_ROOT ?>index.ci.php/system/FASMessages/write/' + <?php echo $benutzer->person_id; ?>;
|
||||
|
||||
openWindowPostArray(action, 'prestudent_id', prestudentIdArray);
|
||||
}
|
||||
|
||||
+191
-191
@@ -1,191 +1,191 @@
|
||||
<?php
|
||||
/* Copyright (C) 2016 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
?>
|
||||
// ********** FUNKTIONEN ********** //
|
||||
var MessagePersonID=null;
|
||||
var MessagesTreeDatasource=''; // Datasource des Adressen Trees
|
||||
var MessagesSelectID='';
|
||||
var MessageSenderPersonID='';
|
||||
var MessageIFrameIsInitialized=false;
|
||||
|
||||
var MessagesTreeSinkObserver =
|
||||
{
|
||||
onBeginLoad : function(pSink) {},
|
||||
onInterrupt : function(pSink) {},
|
||||
onResume : function(pSink) {},
|
||||
onError : function(pSink, pStatus, pError) {},
|
||||
onEndLoad : function(pSink)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
document.getElementById('messages-tree').builder.rebuild();
|
||||
}
|
||||
};
|
||||
|
||||
var MessagesTreeListener =
|
||||
{
|
||||
willRebuild : function(builder) { },
|
||||
didRebuild : function(builder)
|
||||
{
|
||||
//timeout nur bei Mozilla notwendig da sonst die rows
|
||||
//noch keine values haben. Ab Seamonkey funktionierts auch
|
||||
//ohne dem setTimeout
|
||||
//window.setTimeout(KontaktAdressenTreeSelectID,10);
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Laedt die Trees
|
||||
// ****
|
||||
function loadMessages(person_id, fas_person_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
MessagePersonID = person_id;
|
||||
MessageSenderPersonID=fas_person_id;
|
||||
|
||||
//Adressen laden
|
||||
url = "<?php echo APP_ROOT; ?>rdf/messages.rdf.php?person_id="+person_id+"&"+gettimestamp();
|
||||
var tree=document.getElementById('messages-tree');
|
||||
try
|
||||
{
|
||||
MessagesTreeDatasource.removeXMLSinkObserver(MessagesTreeSinkObserver);
|
||||
tree.builder.removeListener(MessagesTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = tree.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
tree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
MessagesTreeDatasource = rdfService.GetDataSource(url);
|
||||
MessagesTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
MessagesTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
tree.database.AddDataSource(MessagesTreeDatasource);
|
||||
MessagesTreeDatasource.addXMLSinkObserver(MessagesTreeSinkObserver);
|
||||
tree.builder.addListener(MessagesTreeListener);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// ****
|
||||
// * Zeigt HTML Seite zum Erstellen neuer Nachrichten
|
||||
// ****
|
||||
function MessagesNewMessage()
|
||||
{
|
||||
var tree = parent.document.getElementById('student-tree');
|
||||
|
||||
if (tree.currentIndex == -1)
|
||||
{
|
||||
alert("Bitte markieren Sie zuerst eine Person");
|
||||
}
|
||||
else
|
||||
{
|
||||
var prestudentIdArray = getMultipleTreeCellText(tree, 'student-treecol-prestudent_id');
|
||||
|
||||
var action = '<?php echo APP_ROOT ?>index.ci.php/system/Messages/write/' + MessageSenderPersonID;
|
||||
|
||||
openWindowPostArray(action, 'prestudent_id', prestudentIdArray);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Oeffnet Nachrichtenseite um eine Antwort auf eine Nachricht zu schicken
|
||||
*/
|
||||
function MessagesSendAnswer()
|
||||
{
|
||||
var messagesTree = document.getElementById('messages-tree');
|
||||
var studentsTree = parent.document.getElementById('student-tree');
|
||||
|
||||
if (messagesTree.currentIndex == -1)
|
||||
{
|
||||
alert("Bitte markieren Sie zuerst eine Nachricht");
|
||||
}
|
||||
else
|
||||
{
|
||||
var MessageId = getTreeCellText(messagesTree, 'messages-tree-message_id', messagesTree.currentIndex);
|
||||
var RecipientID = getTreeCellText(messagesTree, 'messages-tree-recipient_id', messagesTree.currentIndex);
|
||||
var prestudentIdArray = new Array(getTreeCellText(studentsTree, 'student-treecol-prestudent_id', studentsTree.currentIndex));
|
||||
|
||||
var action = '<?php echo APP_ROOT ?>index.ci.php/system/Messages/write/' + MessageSenderPersonID + '/' + MessageId + '/' + RecipientID;
|
||||
|
||||
openWindowPostArray(action, 'prestudent_id', prestudentIdArray);
|
||||
}
|
||||
}
|
||||
|
||||
function MessageAuswahl()
|
||||
{
|
||||
var tree=document.getElementById('messages-tree');
|
||||
if(tree.currentIndex==-1)
|
||||
{
|
||||
alert("Bitte markieren Sie zuerst eine Nachricht");
|
||||
}
|
||||
else
|
||||
{
|
||||
var text = getTreeCellText(tree, 'messages-tree-body', tree.currentIndex);
|
||||
var recipient_id = getTreeCellText(tree, 'messages-tree-recipient_id', tree.currentIndex);
|
||||
// Antworten ist nur moeglich wenn die Message vom User kommt
|
||||
if(recipient_id==MessagePersonID)
|
||||
{
|
||||
document.getElementById('messages-tree-popup-answer').disabled=true;
|
||||
document.getElementById('messages-button-answer').disabled=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('messages-tree-popup-answer').disabled=false;
|
||||
document.getElementById('messages-button-answer').disabled=false;
|
||||
}
|
||||
}
|
||||
|
||||
MessagesIFrameSetHTML(text);
|
||||
}
|
||||
|
||||
function MessagesIFrameSetHTML(val)
|
||||
{
|
||||
MessageIFrameInit();
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getElementById('message-wysiwyg');
|
||||
|
||||
if(editor.contentWindow.document.body.innerHTML!='')
|
||||
{
|
||||
//Inhalt leeren
|
||||
editor.contentDocument.execCommand("selectall", false, null);
|
||||
editor.contentDocument.execCommand("delete", false, null);
|
||||
}
|
||||
//Value setzen
|
||||
if(val!='')
|
||||
editor.contentDocument.execCommand("inserthtml", false, val);
|
||||
}
|
||||
|
||||
function MessageIFrameInit()
|
||||
{
|
||||
if(!MessageIFrameIsInitialized)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getElementById('message-wysiwyg');
|
||||
editor.contentDocument.designMode = 'on';
|
||||
editor.style.backgroundColor="#FFFFFF";
|
||||
MessageIFrameIsInitialized=true;
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/* Copyright (C) 2016 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
?>
|
||||
// ********** FUNKTIONEN ********** //
|
||||
var MessagePersonID=null;
|
||||
var MessagesTreeDatasource=''; // Datasource des Adressen Trees
|
||||
var MessagesSelectID='';
|
||||
var MessageSenderPersonID='';
|
||||
var MessageIFrameIsInitialized=false;
|
||||
|
||||
var MessagesTreeSinkObserver =
|
||||
{
|
||||
onBeginLoad : function(pSink) {},
|
||||
onInterrupt : function(pSink) {},
|
||||
onResume : function(pSink) {},
|
||||
onError : function(pSink, pStatus, pError) {},
|
||||
onEndLoad : function(pSink)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
document.getElementById('messages-tree').builder.rebuild();
|
||||
}
|
||||
};
|
||||
|
||||
var MessagesTreeListener =
|
||||
{
|
||||
willRebuild : function(builder) { },
|
||||
didRebuild : function(builder)
|
||||
{
|
||||
//timeout nur bei Mozilla notwendig da sonst die rows
|
||||
//noch keine values haben. Ab Seamonkey funktionierts auch
|
||||
//ohne dem setTimeout
|
||||
//window.setTimeout(KontaktAdressenTreeSelectID,10);
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Laedt die Trees
|
||||
// ****
|
||||
function loadMessages(person_id, fas_person_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
MessagePersonID = person_id;
|
||||
MessageSenderPersonID=fas_person_id;
|
||||
|
||||
//Adressen laden
|
||||
url = "<?php echo APP_ROOT; ?>rdf/messages.rdf.php?person_id="+person_id+"&"+gettimestamp();
|
||||
var tree=document.getElementById('messages-tree');
|
||||
try
|
||||
{
|
||||
MessagesTreeDatasource.removeXMLSinkObserver(MessagesTreeSinkObserver);
|
||||
tree.builder.removeListener(MessagesTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = tree.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
tree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
MessagesTreeDatasource = rdfService.GetDataSource(url);
|
||||
MessagesTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
MessagesTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
tree.database.AddDataSource(MessagesTreeDatasource);
|
||||
MessagesTreeDatasource.addXMLSinkObserver(MessagesTreeSinkObserver);
|
||||
tree.builder.addListener(MessagesTreeListener);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// ****
|
||||
// * Zeigt HTML Seite zum Erstellen neuer Nachrichten
|
||||
// ****
|
||||
function MessagesNewMessage()
|
||||
{
|
||||
var tree = parent.document.getElementById('student-tree');
|
||||
|
||||
if (tree.currentIndex == -1)
|
||||
{
|
||||
alert("Bitte markieren Sie zuerst eine Person");
|
||||
}
|
||||
else
|
||||
{
|
||||
var prestudentIdArray = getMultipleTreeCellText(tree, 'student-treecol-prestudent_id');
|
||||
|
||||
var action = '<?php echo APP_ROOT ?>index.ci.php/system/FASMessages/write/' + MessageSenderPersonID;
|
||||
|
||||
openWindowPostArray(action, 'prestudent_id', prestudentIdArray);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Oeffnet Nachrichtenseite um eine Antwort auf eine Nachricht zu schicken
|
||||
*/
|
||||
function MessagesSendAnswer()
|
||||
{
|
||||
var messagesTree = document.getElementById('messages-tree');
|
||||
var studentsTree = parent.document.getElementById('student-tree');
|
||||
|
||||
if (messagesTree.currentIndex == -1)
|
||||
{
|
||||
alert("Bitte markieren Sie zuerst eine Nachricht");
|
||||
}
|
||||
else
|
||||
{
|
||||
var MessageId = getTreeCellText(messagesTree, 'messages-tree-message_id', messagesTree.currentIndex);
|
||||
var RecipientID = getTreeCellText(messagesTree, 'messages-tree-recipient_id', messagesTree.currentIndex);
|
||||
var prestudentIdArray = new Array(getTreeCellText(studentsTree, 'student-treecol-prestudent_id', studentsTree.currentIndex));
|
||||
|
||||
var action = '<?php echo APP_ROOT ?>index.ci.php/system/FASMessages/writeReply/' + MessageSenderPersonID + '/' + MessageId + '/' + RecipientID;
|
||||
|
||||
openWindowPostArray(action, 'prestudent_id', prestudentIdArray);
|
||||
}
|
||||
}
|
||||
|
||||
function MessageAuswahl()
|
||||
{
|
||||
var tree=document.getElementById('messages-tree');
|
||||
if (tree.currentIndex == -1)
|
||||
{
|
||||
alert("Bitte markieren Sie zuerst eine Nachricht");
|
||||
}
|
||||
else
|
||||
{
|
||||
var text = getTreeCellText(tree, 'messages-tree-body', tree.currentIndex);
|
||||
var recipient_id = getTreeCellText(tree, 'messages-tree-recipient_id', tree.currentIndex);
|
||||
// Antworten ist nur moeglich wenn die Message vom User kommt
|
||||
if (recipient_id == MessagePersonID)
|
||||
{
|
||||
document.getElementById('messages-tree-popup-answer').disabled=true;
|
||||
document.getElementById('messages-button-answer').disabled=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('messages-tree-popup-answer').disabled=false;
|
||||
document.getElementById('messages-button-answer').disabled=false;
|
||||
}
|
||||
}
|
||||
|
||||
MessagesIFrameSetHTML(text);
|
||||
}
|
||||
|
||||
function MessagesIFrameSetHTML(val)
|
||||
{
|
||||
MessageIFrameInit();
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getElementById('message-wysiwyg');
|
||||
|
||||
if(editor.contentWindow.document.body.innerHTML!='')
|
||||
{
|
||||
//Inhalt leeren
|
||||
editor.contentDocument.execCommand("selectall", false, null);
|
||||
editor.contentDocument.execCommand("delete", false, null);
|
||||
}
|
||||
//Value setzen
|
||||
if(val!='')
|
||||
editor.contentDocument.execCommand("inserthtml", false, val);
|
||||
}
|
||||
|
||||
function MessageIFrameInit()
|
||||
{
|
||||
if(!MessageIFrameIsInitialized)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getElementById('message-wysiwyg');
|
||||
editor.contentDocument.designMode = 'on';
|
||||
editor.style.backgroundColor="#FFFFFF";
|
||||
MessageIFrameIsInitialized=true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -849,13 +849,21 @@ class studiensemester extends basis_db
|
||||
|
||||
/**
|
||||
* Laedt die Studiensemester die fuer die Onlinebewerbung aktiviert sind
|
||||
*
|
||||
* @param string $art Optional.
|
||||
* Wenn art=WS dann wird das naechste Wintersemester geliefert.
|
||||
* Wenn art=SS dann wird das naechste Sommersemester geliefert.
|
||||
* @return true wenn ok, sonst false
|
||||
*/
|
||||
public function getStudiensemesterOnlinebewerbung()
|
||||
public function getStudiensemesterOnlinebewerbung($art = '')
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_studiensemester WHERE onlinebewerbung=true
|
||||
ORDER BY start";
|
||||
$qry = "SELECT * FROM public.tbl_studiensemester WHERE onlinebewerbung=true";
|
||||
|
||||
if($art == 'WS' || $art == 'SS' )
|
||||
{
|
||||
$qry .= " AND substring(studiensemester_kurzbz from 1 for 2)=" . $this->db_add_param($art);
|
||||
}
|
||||
|
||||
$qry.= " ORDER BY start";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -146,10 +146,7 @@ var FHC_AjaxClient = {
|
||||
|
||||
if (jQuery.type(response) == "object" && response.hasOwnProperty(CODE))
|
||||
{
|
||||
if (response.error == SUCCESS)
|
||||
{
|
||||
isSuccess = true;
|
||||
}
|
||||
code = response.error;
|
||||
}
|
||||
|
||||
return code;
|
||||
|
||||
@@ -7,6 +7,10 @@ const RTFREIGABE_MESSAGE_VORLAGE_QUER = "InfocenterRTfreigegQuer";
|
||||
const RTFREIGABE_MESSAGE_VORLAGE_QUER_KURZ = "InfocenterRTfreigegQuerKurz";
|
||||
const STGFREIGABE_MESSAGE_VORLAGE = "InfocenterSTGfreigegeben";
|
||||
|
||||
//Statusgründe for which no Studiengang Freigabe Message should be sent
|
||||
const FIT_PROGRAMM_STUDIENGAENGE = [10021, 10027];
|
||||
const STGFREIGABE_MESSAGESEND_EXCEPTIONS = ["FIT Programm", "FIT program", "FIT programme"];
|
||||
|
||||
/**
|
||||
* javascript file for infocenterDetails page
|
||||
*/
|
||||
@@ -263,23 +267,23 @@ var InfocenterDetails = {
|
||||
}
|
||||
);
|
||||
},
|
||||
saveFreigabe: function(data, rtfreigabe)
|
||||
saveFreigabe: function(freigabeData)
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
CALLED_PATH + '/saveFreigabe',
|
||||
data,
|
||||
{"prestudent_id": freigabeData.prestudent_id, "statusgrund_id": freigabeData.statusgrund_id},
|
||||
{
|
||||
successCallback: function(data, textStatus, jqXHR) {
|
||||
successCallback: function(freigabeResponseData, textStatus, jqXHR) {
|
||||
|
||||
if (FHC_AjaxClient.hasData(data))
|
||||
if (FHC_AjaxClient.hasData(freigabeResponseData))
|
||||
{
|
||||
FHC_AjaxClient.showVeil();
|
||||
InfocenterDetails.initFrgMessageSend(data.retval.prestudent_id, rtfreigabe);
|
||||
InfocenterDetails.initFrgMessageSend(freigabeData);
|
||||
InfocenterDetails._refreshZgv();
|
||||
FHC_AjaxClient.hideVeil();
|
||||
InfocenterDetails._refreshLog();
|
||||
}
|
||||
else if (data.error === 2 && parseInt(data.retval.prestudent_id, 10))
|
||||
else if (freigabeResponseData.error === 2 && parseInt(freigabeResponseData.retval.prestudent_id, 10))
|
||||
{
|
||||
FHC_DialogLib.alertError("error when setting accepted documents");
|
||||
InfocenterDetails._refreshZgv();
|
||||
@@ -472,13 +476,17 @@ var InfocenterDetails = {
|
||||
}
|
||||
);
|
||||
},
|
||||
initFrgMessageSend: function(prestudentid, rtfreigabe)
|
||||
initFrgMessageSend: function(freigabedata)
|
||||
{
|
||||
var callback = function (data)
|
||||
{
|
||||
if (data == null)
|
||||
return;
|
||||
|
||||
var prestudent_id = freigabedata.prestudent_id;
|
||||
var statusgrund_id = freigabedata.statusgrund_id;
|
||||
var rtfreigabe = !$.isNumeric(statusgrund_id);
|
||||
|
||||
// check if a prestudent in same semester is already freigegeben - then not send message again
|
||||
var rtFreigegeben = false;
|
||||
var stgFreigegeben = false;
|
||||
@@ -487,7 +495,7 @@ var InfocenterDetails = {
|
||||
//get prestudentstatus of message receiver
|
||||
for(var i = 0; i < data.length; i++)
|
||||
{
|
||||
if (data[i].prestudentstatus.prestudent_id === prestudentid)
|
||||
if (data[i].prestudentstatus.prestudent_id === prestudent_id)
|
||||
{
|
||||
receiverPrestudentstatus = data[i].prestudentstatus;
|
||||
break;
|
||||
@@ -504,18 +512,19 @@ var InfocenterDetails = {
|
||||
var prestudentstatus = prestudent.prestudentstatus;
|
||||
var id = prestudentstatus.prestudent_id;
|
||||
|
||||
if (id !== prestudentid)
|
||||
if (id !== prestudent_id)
|
||||
{
|
||||
var fitfreigegeben = $.inArray(prestudentstatus.bezeichnung_statusgrund[0], STGFREIGABE_MESSAGESEND_EXCEPTIONS) >= 0;
|
||||
|
||||
if (receiverPrestudentstatus.studiensemester_kurzbz === prestudentstatus.studiensemester_kurzbz
|
||||
&& prestudentstatus.bestaetigtam !== null && prestudentstatus.status_kurzbz === "Interessent"
|
||||
&& prestudent.studiengangtyp === "b")
|
||||
&& (prestudent.studiengangtyp === "b"))
|
||||
{
|
||||
if (prestudentstatus.statusgrund_id === null)
|
||||
{
|
||||
rtFreigegeben = true;
|
||||
break;
|
||||
}
|
||||
else if($.isNumeric(prestudentstatus.statusgrund_id))
|
||||
else if ($.isNumeric(prestudentstatus.statusgrund_id) && !fitfreigegeben)
|
||||
{
|
||||
stgFreigegeben = true;
|
||||
}
|
||||
@@ -541,7 +550,7 @@ var InfocenterDetails = {
|
||||
'studiengangbezeichnung_englisch': studiengangbezeichnung_englisch
|
||||
};
|
||||
|
||||
InfocenterDetails.sendFreigabeMessage(prestudentid, RTFREIGABE_MESSAGE_VORLAGE_QUER_KURZ, msgvars);
|
||||
InfocenterDetails.sendFreigabeMessage(prestudent_id, RTFREIGABE_MESSAGE_VORLAGE_QUER_KURZ, msgvars);
|
||||
}
|
||||
}
|
||||
else //not already for RT freigegeben - send RTfreigabe message
|
||||
@@ -563,15 +572,17 @@ var InfocenterDetails = {
|
||||
vorlage = RTFREIGABE_MESSAGE_VORLAGE
|
||||
}
|
||||
|
||||
InfocenterDetails.sendFreigabeMessage(prestudentid, vorlage, msgvars);
|
||||
InfocenterDetails.sendFreigabeMessage(prestudent_id, vorlage, msgvars);
|
||||
}
|
||||
}
|
||||
else if (rtfreigabe === false)
|
||||
{
|
||||
var statusgrundbez = freigabedata.statusgrundbezeichnung ? freigabedata.statusgrundbezeichnung : "";
|
||||
|
||||
// if Freigabe to Studiengang, send StgFreigabe Message if not already sent
|
||||
if (!stgFreigegeben)
|
||||
if (!stgFreigegeben && $.inArray(statusgrundbez, STGFREIGABE_MESSAGESEND_EXCEPTIONS) < 0)
|
||||
{
|
||||
InfocenterDetails.sendFreigabeMessage(prestudentid, STGFREIGABE_MESSAGE_VORLAGE, msgvars);
|
||||
InfocenterDetails.sendFreigabeMessage(prestudent_id, STGFREIGABE_MESSAGE_VORLAGE, msgvars);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -729,8 +740,8 @@ var InfocenterDetails = {
|
||||
{
|
||||
$(".freigabeModal").modal("hide");
|
||||
var prestudent_id = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var data = {"prestudent_id": prestudent_id};
|
||||
InfocenterDetails.saveFreigabe(data, true);//Reihungstestfreigabe
|
||||
var data = {"prestudent_id": prestudent_id, "statusgrund_id": null};
|
||||
InfocenterDetails.saveFreigabe(data);//Reihungstestfreigabe
|
||||
}
|
||||
);
|
||||
|
||||
@@ -738,9 +749,11 @@ var InfocenterDetails = {
|
||||
{
|
||||
$(".freigabeModal").modal("hide");
|
||||
var prestudent_id = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var statusgrund_id = $("#frgstatusgrselect_" + prestudent_id + " select[name=frgstatusgrund]").val();
|
||||
var data = {"prestudent_id": prestudent_id, "statusgrund_id": statusgrund_id};
|
||||
InfocenterDetails.saveFreigabe(data, false);//Studiengangfreigabe
|
||||
var statusgrundel = $("#frgstatusgrselect_" + prestudent_id + " select[name=frgstatusgrund]");
|
||||
var statusgrund_id = statusgrundel.val();
|
||||
var statusgrundbezeichnung = statusgrundel.find("option[value="+statusgrund_id+"]").text();
|
||||
var data = {"prestudent_id": prestudent_id, "statusgrund_id": statusgrund_id, "statusgrundbezeichnung": statusgrundbezeichnung};
|
||||
InfocenterDetails.saveFreigabe(data);//Studiengangfreigabe
|
||||
}
|
||||
)
|
||||
},
|
||||
|
||||
@@ -27,7 +27,7 @@ var InfocenterPersonDataset = {
|
||||
appendTableActionsHtml: function()
|
||||
{
|
||||
var currurl = window.location.href;
|
||||
var url = currurl.replace(/infocenter\/InfoCenter(.*)/, "Messages/write");
|
||||
var url = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/system/Messages/write";
|
||||
|
||||
var formHtml = '<form id="sendMsgsForm" method="post" action="'+ url +'" target="_blank"></form>';
|
||||
$("#datasetActionsTop").before(formHtml);
|
||||
|
||||
@@ -0,0 +1,137 @@
|
||||
/**
|
||||
* JS used by view system/messages/messageWrite
|
||||
*/
|
||||
|
||||
function tinymcePreviewSetContent()
|
||||
{
|
||||
if ($("#tinymcePreview"))
|
||||
{
|
||||
if ($("#recipients").children(":selected").val() > -1)
|
||||
{
|
||||
parseMessageText($("#recipients").children(":selected").val(), tinyMCE.get("bodyTextArea").getContent());
|
||||
}
|
||||
else
|
||||
{
|
||||
tinyMCE.get("tinymcePreview").setContent("");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function parseMessageText(receiver_id, text)
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallGet(
|
||||
"system/Messages/parseMessageText",
|
||||
{
|
||||
person_id: receiver_id,
|
||||
text: text
|
||||
},
|
||||
{
|
||||
successCallback: function(data, textStatus, jqXHR) {
|
||||
|
||||
if (FHC_AjaxClient.hasData(data))
|
||||
{
|
||||
tinyMCE.get("tinymcePreview").setContent(FHC_AjaxClient.getData(data));
|
||||
}
|
||||
else if (FHC_AjaxClient.isError(data))
|
||||
{
|
||||
alert(data.retval);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
$(document).ready(function ()
|
||||
{
|
||||
tinymce.init({
|
||||
selector: "#bodyTextArea",
|
||||
plugins: "autoresize",
|
||||
autoresize_min_height: 150,
|
||||
autoresize_max_height: 600,
|
||||
autoresize_bottom_margin: 10
|
||||
});
|
||||
|
||||
tinymce.init({
|
||||
menubar: false,
|
||||
toolbar: false,
|
||||
statusbar: false,
|
||||
readonly: 1,
|
||||
selector: "#tinymcePreview",
|
||||
plugins: "autoresize",
|
||||
autoresize_min_height: 150,
|
||||
autoresize_bottom_margin: 10
|
||||
});
|
||||
|
||||
if ($("#variables"))
|
||||
{
|
||||
$("#variables").dblclick(function ()
|
||||
{
|
||||
if ($("#bodyTextArea"))
|
||||
{
|
||||
//if editor active add at cursor position, otherwise at end
|
||||
if (tinymce.activeEditor.id === "bodyTextArea")
|
||||
tinymce.activeEditor.execCommand('mceInsertContent', false, $(this).children(":selected").val());
|
||||
else
|
||||
tinyMCE.get("bodyTextArea").setContent(tinyMCE.get("bodyTextArea").getContent() + $(this).children(":selected").val());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if ($("#recipients"))
|
||||
{
|
||||
$("#recipients").change(tinymcePreviewSetContent);
|
||||
}
|
||||
|
||||
if ($("#refresh"))
|
||||
{
|
||||
$("#refresh").click(tinymcePreviewSetContent);
|
||||
}
|
||||
|
||||
if ($("#sendButton") && $("#sendForm"))
|
||||
{
|
||||
$("#sendButton").click(function ()
|
||||
{
|
||||
if ($("#subject") && $("#subject").val() != '' && tinyMCE.get("bodyTextArea").getContent() != '')
|
||||
{
|
||||
$("#sendForm").submit();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("Subject and text are required fields!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if ($("#vorlageDnD"))
|
||||
{
|
||||
$("#vorlageDnD").change(function ()
|
||||
{
|
||||
var vorlage_kurzbz = this.value;
|
||||
|
||||
if (vorlage_kurzbz != '')
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallGet(
|
||||
"system/Messages/getVorlage",
|
||||
{
|
||||
vorlage_kurzbz: vorlage_kurzbz
|
||||
},
|
||||
{
|
||||
successCallback: function(data, textStatus, jqXHR) {
|
||||
|
||||
if (FHC_AjaxClient.hasData(data))
|
||||
{
|
||||
var msg = FHC_AjaxClient.getData(data);
|
||||
|
||||
tinyMCE.get("bodyTextArea").setContent(msg[0].text);
|
||||
$("#subject").val(msg[0].subject);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$("#subject").focus();
|
||||
|
||||
});
|
||||
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* JS used by view system/messages/messageWriteReply
|
||||
*/
|
||||
|
||||
$(document).ready(function ()
|
||||
{
|
||||
tinymce.init({
|
||||
selector: "#bodyTextArea",
|
||||
plugins: "autoresize",
|
||||
autoresize_min_height: 150,
|
||||
autoresize_max_height: 600,
|
||||
autoresize_bottom_margin: 10,
|
||||
auto_focus: "bodyTextArea"
|
||||
});
|
||||
|
||||
if ($("#sendButton") && $("#sendForm"))
|
||||
{
|
||||
$("#sendButton").click(function () {
|
||||
|
||||
if ($("#subject") && $("#subject").val() != '' && tinyMCE.get("bodyTextArea").getContent() != '')
|
||||
{
|
||||
$("#sendForm").submit();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("Subject and text are required fields!");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -291,7 +291,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
echo ' <niveau_deutsch>Doktoratsstudium (UNESCO ISCED 8)</niveau_deutsch>';
|
||||
echo ' <niveau_englisch>University doctoral studies (UNESCO ISCED 8)</niveau_englisch>';
|
||||
}
|
||||
elseif($row->typ=='l' || $row->typ=='k')
|
||||
elseif($row->typ=='l' || $row->typ=='k' || $row->typ=='e')
|
||||
{
|
||||
echo ' <niveau_code>UNESCO ISCED 7</niveau_code>';
|
||||
echo ' <niveau_deutsch>Lehrgang zur Weiterbildung nach §9 FHStG idgF.</niveau_deutsch>';
|
||||
|
||||
@@ -0,0 +1,529 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
>
|
||||
|
||||
<xsl:output method="xml" version="1.0" indent="yes"/>
|
||||
<xsl:template match="lehrauftraege">
|
||||
|
||||
<office:document-content
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
||||
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
|
||||
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
|
||||
xmlns:math="http://www.w3.org/1998/Math/MathML"
|
||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
|
||||
xmlns:ooo="http://openoffice.org/2004/office"
|
||||
xmlns:ooow="http://openoffice.org/2004/writer"
|
||||
xmlns:oooc="http://openoffice.org/2004/calc"
|
||||
xmlns:dom="http://www.w3.org/2001/xml-events"
|
||||
xmlns:xforms="http://www.w3.org/2002/xforms"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:rpt="http://openoffice.org/2005/report"
|
||||
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:grddl="http://www.w3.org/2003/g/data-view#"
|
||||
xmlns:officeooo="http://openoffice.org/2009/office"
|
||||
xmlns:tableooo="http://openoffice.org/2009/table"
|
||||
xmlns:drawooo="http://openoffice.org/2010/draw"
|
||||
xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
|
||||
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
|
||||
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"
|
||||
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
|
||||
xmlns:css3t="http://www.w3.org/TR/css3-text/"
|
||||
office:version="1.2">
|
||||
<office:scripts/>
|
||||
<office:font-face-decls>
|
||||
<style:font-face style:name="Mangal2" svg:font-family="Mangal"/>
|
||||
<style:font-face style:name="Arial1" svg:font-family="Arial" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Helvetica" svg:font-family="Helvetica" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Serif" svg:font-family="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="0" svg:font-family="0" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Arial2" svg:font-family="Arial" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Sans1" svg:font-family="'Liberation Sans'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Serif1" svg:font-family="'Liberation Serif'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Mangal1" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Microsoft YaHei" svg:font-family="'Microsoft YaHei'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Tahoma1" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
</office:font-face-decls>
|
||||
<office:automatic-styles>
|
||||
<style:style style:name="Tabelle1" style:family="table">
|
||||
<style:table-properties style:width="17cm" table:align="margins"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.499cm" style:rel-column-width="850*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="5.595cm" style:rel-column-width="3172*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.C" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="3.704cm" style:rel-column-width="2100*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.997cm" style:rel-column-width="1132*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.E" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.298cm" style:rel-column-width="736*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.F" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.011cm" style:rel-column-width="573*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.G" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.894cm" style:rel-column-width="1074*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="0.05pt solid #000000" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.G1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A2" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0.07cm" fo:padding-right="0.07cm" fo:padding-top="0.05cm" fo:padding-bottom="0.05cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.G2" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding-left="0.07cm" fo:padding-right="0.07cm" fo:padding-top="0.05cm" fo:padding-bottom="0.05cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2" style:family="table">
|
||||
<style:table-properties style:width="17cm" table:align="margins" style:shadow="none" fo:keep-with-next="always"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="6.001cm" style:rel-column-width="3402*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="3cm" style:rel-column-width="1701*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.C" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="7.999cm" style:rel-column-width="4535*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.1" style:family="table-row">
|
||||
<style:table-row-properties style:min-row-height="1.499cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.A1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="bottom" fo:padding="0.097cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="1pt dotted #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.B1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P3" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P4" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="001fea3c" officeooo:paragraph-rsid="001fea3c" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="0013c612" officeooo:paragraph-rsid="0013c612" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="002ab151" officeooo:paragraph-rsid="002ab151" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P8" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="002c2d13" officeooo:paragraph-rsid="002c2d13" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P9" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P10" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P11" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P12" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" officeooo:rsid="001fea3c" officeooo:paragraph-rsid="001fea3c" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P13" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" officeooo:rsid="0021faff" officeooo:paragraph-rsid="0021faff" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P14" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:margin-top="0.106cm" fo:margin-bottom="0cm" loext:contextual-spacing="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="7.001cm" style:leader-style="solid" style:leader-text="_"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:language="de" fo:country="AT" style:text-underline-style="dotted" style:text-underline-width="bold" style:text-underline-color="font-color" officeooo:rsid="0013c612" officeooo:paragraph-rsid="002ab151" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P15" style:family="paragraph" style:parent-style-name="Header">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" officeooo:rsid="00220045" officeooo:paragraph-rsid="00220045"/>
|
||||
</style:style>
|
||||
<style:style style:name="P16" style:family="paragraph" style:parent-style-name="Header">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="00220045" officeooo:paragraph-rsid="00220045" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P17" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="14pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="12.25pt" style:font-size-complex="14pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P18" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="12pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="12pt" style:font-size-complex="12pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P19" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P20" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="0021faff" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P21" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P22" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:language="en" fo:country="US" officeooo:rsid="001ece18" officeooo:paragraph-rsid="0021faff" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P23" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:language="en" fo:country="US" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P24" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="7.001cm" style:leader-style="solid" style:leader-text="_"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:language="de" fo:country="AT" officeooo:rsid="001ece18" officeooo:paragraph-rsid="0021faff" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P25" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="10pt" fo:font-weight="bold" officeooo:rsid="001ece18" officeooo:paragraph-rsid="00220045" style:font-size-asian="10pt" style:font-weight-asian="bold" style:font-size-complex="10pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P26" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:margin-top="0.106cm" fo:margin-bottom="0cm" loext:contextual-spacing="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="7.001cm" style:leader-style="solid" style:leader-text="_"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:language="de" fo:country="AT" style:text-underline-style="dotted" style:text-underline-width="bold" style:text-underline-color="font-color" officeooo:rsid="001ece18" officeooo:paragraph-rsid="0021faff" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P27" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:margin-top="0.106cm" fo:margin-bottom="0cm" loext:contextual-spacing="false" fo:text-align="end" style:justify-single-word="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="7.001cm" style:leader-style="solid" style:leader-text="_"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:language="de" fo:country="AT" style:text-underline-style="dotted" style:text-underline-width="bold" style:text-underline-color="font-color" officeooo:rsid="001ece18" officeooo:paragraph-rsid="0021faff" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P28" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:margin-top="0.106cm" fo:margin-bottom="0cm" loext:contextual-spacing="false" fo:text-align="end" style:justify-single-word="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="7.001cm" style:leader-style="solid" style:leader-text="_"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:language="de" fo:country="AT" style:text-underline-style="dotted" style:text-underline-width="bold" style:text-underline-color="font-color" officeooo:rsid="002ab151" officeooo:paragraph-rsid="002ab151" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P29" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:margin-top="0.106cm" fo:margin-bottom="0cm" loext:contextual-spacing="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="7.001cm" style:leader-style="solid" style:leader-text="_"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:language="de" fo:country="AT" officeooo:rsid="001ece18" officeooo:paragraph-rsid="0021faff" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P30" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:margin-top="0.106cm" fo:margin-bottom="0cm" loext:contextual-spacing="false" fo:text-align="end" style:justify-single-word="false">
|
||||
<style:tab-stops>
|
||||
<style:tab-stop style:position="7.001cm" style:leader-style="solid" style:leader-text="_"/>
|
||||
</style:tab-stops>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="0021faff" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P31" style:family="paragraph" style:parent-style-name="Standard" style:master-page-name="">
|
||||
<loext:graphic-properties draw:fill="none"/>
|
||||
<style:paragraph-properties fo:margin-left="0.3cm" fo:margin-right="8.999cm" fo:text-indent="0cm" style:auto-text-indent="false" style:page-number="auto"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="12pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="12pt" style:font-size-complex="12pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="Seitenumbruch" style:family="paragraph" style:parent-style-name="Standard" style:master-page-name="">
|
||||
<style:paragraph-properties fo:break-before="page"/>
|
||||
<loext:graphic-properties draw:fill="none"/>
|
||||
<style:paragraph-properties fo:margin-left="0.3cm" fo:margin-right="8.999cm" fo:text-indent="0cm" style:auto-text-indent="false" style:page-number="auto"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="12pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="12pt" style:font-size-complex="12pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P32" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<loext:graphic-properties draw:fill="none"/>
|
||||
<style:paragraph-properties fo:margin-left="0.3cm" fo:margin-right="8.999cm" fo:text-indent="0cm" style:auto-text-indent="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="12pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="12pt" style:font-size-complex="12pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P33" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<loext:graphic-properties draw:fill="none"/>
|
||||
<style:paragraph-properties fo:margin-left="0.3cm" fo:margin-right="8.999cm" fo:text-indent="0cm" style:auto-text-indent="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="14pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="12.25pt" style:font-size-complex="14pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P34" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<loext:graphic-properties draw:fill="none"/>
|
||||
<style:paragraph-properties fo:margin-left="0.3cm" fo:margin-right="8.999cm" fo:text-indent="0cm" style:auto-text-indent="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="7pt" officeooo:rsid="001ece18" officeooo:paragraph-rsid="001ece18" style:font-size-asian="7pt" style:font-size-complex="7pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P35" style:family="paragraph">
|
||||
<loext:graphic-properties draw:fill-color="#999999"/>
|
||||
<style:paragraph-properties fo:text-align="center"/>
|
||||
</style:style>
|
||||
<style:style style:name="T1" style:family="text">
|
||||
<style:text-properties officeooo:rsid="001f0457"/>
|
||||
</style:style>
|
||||
<style:style style:name="T2" style:family="text">
|
||||
<style:text-properties officeooo:rsid="001fb2b6"/>
|
||||
</style:style>
|
||||
<style:style style:name="T3" style:family="text">
|
||||
<style:text-properties officeooo:rsid="001fea3c"/>
|
||||
</style:style>
|
||||
<style:style style:name="T4" style:family="text">
|
||||
<style:text-properties fo:language="en" fo:country="US"/>
|
||||
</style:style>
|
||||
<style:style style:name="T5" style:family="text">
|
||||
<style:text-properties officeooo:rsid="00220045"/>
|
||||
</style:style>
|
||||
<style:style style:name="T6" style:family="text">
|
||||
<style:text-properties officeooo:rsid="0023d767"/>
|
||||
</style:style>
|
||||
<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties fo:margin-left="0.318cm" fo:margin-right="0.318cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:run-through="background" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="from-top" style:vertical-rel="paragraph" style:horizontal-pos="from-left" style:horizontal-rel="paragraph" draw:fill="none" draw:fill-color="#ffffff" fo:padding="0cm" fo:border="none" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
|
||||
</style:style>
|
||||
<style:style style:name="fr2" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="from-top" style:vertical-rel="paragraph" style:horizontal-pos="from-left" style:horizontal-rel="char" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
|
||||
</style:style>
|
||||
<style:style style:name="gr1" style:family="graphic">
|
||||
<style:graphic-properties svg:stroke-color="#b2b2b2" draw:fill-color="#b2b2b2" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" style:protect="position size" style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="from-top" style:vertical-rel="page" style:horizontal-pos="from-left" style:horizontal-rel="page"/>
|
||||
</style:style>
|
||||
</office:automatic-styles>
|
||||
<office:body>
|
||||
<xsl:apply-templates select="lehrauftrag"/>
|
||||
</office:body>
|
||||
</office:document-content>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="lehrauftrag">
|
||||
<office:text text:use-soft-page-breaks="true" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0">
|
||||
<text:sequence-decls>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
|
||||
</text:sequence-decls>
|
||||
<!-- Wichtig für Mehrfachdruck (mehrere Studenten ausgewählt): Wenn ein Element (in diesem Fall Stempel und Unterschriftenblock) relativ zur SEITE ausgerichtet werden soll,
|
||||
muss für jedes Dokument (jeder neue Durchlauf der Schleife) ein draw:frame-Tag definiert werden. Diese müssen ALLE VOR den ersten text:p-Elementen stehen.
|
||||
Deshalb wirde erst die Schleife für die draw:frames aufgerufen, dann folg tder Inhalt -->
|
||||
<xsl:if test="position()=1">
|
||||
<xsl:for-each select="../lehrauftrag">
|
||||
<xsl:variable select="position()" name="number"/><!-- Variable number definieren, die nach jedem Dokument um eines erhöht wird (position) -->
|
||||
<draw:line text:anchor-type="page" text:anchor-page-number="{$number}" draw:z-index="1" draw:style-name="gr{$number}" draw:text-style-name="P35" svg:x1="1.199cm" svg:y1="9.601cm" svg:x2="0.7cm" svg:y2="9.601cm">
|
||||
<text:p/>
|
||||
</draw:line>
|
||||
<draw:line text:anchor-type="page" text:anchor-page-number="{$number}" draw:z-index="2" draw:style-name="gr{$number}" draw:text-style-name="P35" svg:x1="1.199cm" svg:y1="14.101cm" svg:x2="0.7cm" svg:y2="14.101cm">
|
||||
<text:p/>
|
||||
</draw:line>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
<draw:line text:anchor-type="page" text:anchor-page-number="1" draw:z-index="1" draw:style-name="gr1" draw:text-style-name="P35" svg:x1="1.199cm" svg:y1="9.601cm" svg:x2="0.7cm" svg:y2="9.601cm">
|
||||
<text:p/>
|
||||
</draw:line>
|
||||
<draw:line text:anchor-type="page" text:anchor-page-number="1" draw:z-index="2" draw:style-name="gr1" draw:text-style-name="P35" svg:x1="1.199cm" svg:y1="14.101cm" svg:x2="0.7cm" svg:y2="14.101cm">
|
||||
<text:p/>
|
||||
</draw:line>
|
||||
<!--<text:p text:style-name="P31"/>-->
|
||||
<text:p text:style-name="Seitenumbruch"/>
|
||||
<text:p text:style-name="P32"/>
|
||||
<text:p text:style-name="P32"><xsl:value-of select="mitarbeiter/name_gesamt" /></text:p>
|
||||
<text:p text:style-name="P32"><xsl:value-of select="mitarbeiter/anschrift" /></text:p>
|
||||
<text:p text:style-name="P32"><xsl:value-of select="mitarbeiter/plz" /><xsl:text> </xsl:text><xsl:value-of select="mitarbeiter/ort" /></text:p>
|
||||
<xsl:if test="string-length(mitarbeiter/zuhanden)!=0">
|
||||
<text:p text:style-name="P32"><xsl:value-of select="mitarbeiter/zuhanden" /></text:p>
|
||||
</xsl:if>
|
||||
<text:p text:style-name="P33"/>
|
||||
<text:p text:style-name="P34">Abs.: <text:s/>Technikum Wien GmbH, Höchstädtplatz 6, 1200 Wien </text:p>
|
||||
<text:p text:style-name="P33"/>
|
||||
<text:p text:style-name="P17"/>
|
||||
<text:p text:style-name="P17"/>
|
||||
<text:p text:style-name="P25">Lehrauftrag Lehrgang <xsl:value-of select="studiengang_bezeichnung" /><xsl:text> </xsl:text>
|
||||
<xsl:value-of select="studiensemester_kurzbz" /></text:p>
|
||||
<text:p text:style-name="P19"/>
|
||||
<text:p text:style-name="P21"><xsl:value-of select="mitarbeiter/name_gesamt" /></text:p>
|
||||
<text:p text:style-name="P19">SV.Nr.: <xsl:value-of select="mitarbeiter/svnr" /></text:p>
|
||||
<text:p text:style-name="P19">Personalnummer: <xsl:value-of select="mitarbeiter/personalnummer" /></text:p>
|
||||
<text:p text:style-name="P19"/>
|
||||
<text:p text:style-name="P19"/>
|
||||
<text:p text:style-name="P19">Wir beauftragen Sie, im <xsl:value-of select="studiensemester" /> folgende Lehrveranstaltungen abzuhalten:</text:p>
|
||||
<text:p text:style-name="P19"/>
|
||||
<table:table table:name="Tabelle1" table:style-name="Tabelle1">
|
||||
<table:table-column table:style-name="Tabelle1.A"/>
|
||||
<table:table-column table:style-name="Tabelle1.B"/>
|
||||
<table:table-column table:style-name="Tabelle1.C"/>
|
||||
<table:table-column table:style-name="Tabelle1.D"/>
|
||||
<table:table-column table:style-name="Tabelle1.E"/>
|
||||
<table:table-column table:style-name="Tabelle1.F"/>
|
||||
<table:table-column table:style-name="Tabelle1.G"/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P12">ID</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P10">Lehrveranstaltung</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P10">Institut</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P10">Gruppe<text:span text:style-name="T2">(n)</text:span>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P13">Std.</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P10">Satz</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.G1" office:value-type="string">
|
||||
<text:p text:style-name="P10">Brutto</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
|
||||
<xsl:apply-templates select="lehreinheit"/>
|
||||
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P1"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P1"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P1"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P11">Summe:</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P11"><xsl:value-of select="gesamtstunden" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P9"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.G2" office:value-type="string">
|
||||
|
||||
<text:p text:style-name="P11">€ <xsl:value-of select="gesamtbetrag" /></text:p>
|
||||
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p text:style-name="P19"/>
|
||||
<text:p text:style-name="P19">Die angeführten Stundensätze sind Bruttobeträge, von denen gegebenenfalls die DienstnehmerInnenanteile für Steuern und Sozialversicherung abgezogen werden.
|
||||
Die angeführte Stundenzahl ist die maximal vorgesehene; abgerechnet werden jedoch nur die tatsächlich gehaltenen Stunden laut Anwesenheitslisten.
|
||||
Außerdem besteht die Verpflichtung zur Teilnahme an LektorInnenkonferenzen.</text:p>
|
||||
<table:table table:name="Tabelle2" table:style-name="Tabelle2">
|
||||
<table:table-column table:style-name="Tabelle2.A"/>
|
||||
<table:table-column table:style-name="Tabelle2.B"/>
|
||||
<table:table-column table:style-name="Tabelle2.C"/>
|
||||
<table:table-row table:style-name="Tabelle2.1">
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P7">
|
||||
<draw:frame draw:style-name="fr2" draw:name="graphics4" text:anchor-type="char" svg:x="6.301cm" svg:y="-0.5cm" svg:width="2.2cm" svg:height="2.2cm" draw:z-index="3">
|
||||
<draw:image xlink:href="Pictures/100002010000015A0000015A8CD841D1.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
|
||||
</draw:frame>Wien, am <xsl:value-of select="datum" />
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.B1" office:value-type="string">
|
||||
<text:p text:style-name="P7"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P1"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle2.B1" office:value-type="string">
|
||||
<text:p text:style-name="P7">Ort, Datum</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.B1" office:value-type="string">
|
||||
<text:p text:style-name="P7"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.B1" office:value-type="string">
|
||||
<text:p text:style-name="P8"><xsl:value-of select="studiengangsleiter" /></text:p>
|
||||
<text:p text:style-name="P7">Lehrgangsleitung</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p text:style-name="P20"/>
|
||||
</office:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="lehreinheit">
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P2"><xsl:value-of select="lehreinheit_id" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P2"><xsl:value-of select="lehrveranstaltung" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P2">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(fachbereich)>28">
|
||||
<xsl:value-of select="substring(fachbereich,0,25)" /><xsl:text>...</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="fachbereich" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
|
||||
<xsl:apply-templates select="gruppen_getrennt"/>
|
||||
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P3"><xsl:value-of select="stunden" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P2"><xsl:value-of select="satz" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.G2" office:value-type="string">
|
||||
<text:p text:style-name="P3">€ <xsl:value-of select="brutto" /></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="gruppen_getrennt">
|
||||
<xsl:apply-templates select="einzelgruppe"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="einzelgruppe">
|
||||
<text:p text:style-name="P5"><xsl:value-of select="." /></text:p>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
Reference in New Issue
Block a user