mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Halfway commit
This commit is contained in:
@@ -45,8 +45,17 @@ class Messages extends Auth_Controller
|
||||
public function write()
|
||||
{
|
||||
$person_id = $this->input->post('person_id');
|
||||
$sender_id = null;
|
||||
|
||||
$sender_id = $this->_getAuthPersonId();
|
||||
$authUser = $this->_getAuthUser();
|
||||
if (isError($authUser))
|
||||
{
|
||||
show_error($authUser->retval);
|
||||
}
|
||||
else
|
||||
{
|
||||
$sender_id = getData($authUser)[0]->person_id;
|
||||
}
|
||||
|
||||
$msgVarsData = $this->_getMsgVarsData($person_id);
|
||||
|
||||
@@ -74,119 +83,115 @@ class Messages extends Auth_Controller
|
||||
*/
|
||||
public function send()
|
||||
{
|
||||
$result = $this->_execSend();
|
||||
$persons = $this->input->post('persons');
|
||||
$relationmessage_id = $this->input->post('relationmessage_id');
|
||||
|
||||
$this->load->view('system/messages/messageSent', array('success' => isSuccess($result)));
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPersonId($persons);
|
||||
|
||||
$send = $this->_send($msgVarsData, $relationmessage_id);
|
||||
|
||||
$this->load->view('system/messages/messageSent', array('success' => isSuccess($send)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Send message, response is in JSON format
|
||||
* @param $sender_id
|
||||
*/
|
||||
public function sendJson()
|
||||
{
|
||||
$result = $this->_execSend();
|
||||
$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);
|
||||
|
||||
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()
|
||||
private function _send($msgVarsData, $relationmessage_id = null, $oe_kurzbz = null, $vorlage_kurzbz = null, $msgVars = null)
|
||||
{
|
||||
$sender_id = $this->_getAuthPersonId();
|
||||
|
||||
$subject = $this->input->post('subject');
|
||||
$body = $this->input->post('body');
|
||||
|
||||
$prestudents = $this->input->post('prestudents');
|
||||
// OR
|
||||
$persons = $this->input->post('persons');
|
||||
$authUser = $this->_getAuthUser();
|
||||
if (isError($authUser)) return $authUser;
|
||||
|
||||
$relationmessage_id = $this->input->post('relationmessage_id');
|
||||
|
||||
// From infocenterDetails
|
||||
$vorlage_kurzbz = $this->input->post('vorlage_kurzbz');
|
||||
$oe_kurzbz = $this->input->post('oe_kurzbz');
|
||||
$msgvars = $this->input->post('msgvars');
|
||||
|
||||
if (!is_numeric($relationmessage_id))
|
||||
{
|
||||
$relationmessage_id = null;
|
||||
}
|
||||
|
||||
// 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);
|
||||
$sender_id = getData($authUser)[0]->person_id;
|
||||
|
||||
// send message(s)
|
||||
if (hasData($data))
|
||||
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];
|
||||
$msgVarsDataArray = (array)$msgVarsData->retval[$i];
|
||||
|
||||
// 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 (isset($msgVars) && 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);
|
||||
}
|
||||
|
||||
// Loads the person log library
|
||||
$this->load->library('PersonLogLib');
|
||||
if (isError($msg)) return $msg;
|
||||
|
||||
//write log entry
|
||||
$this->personloglib->log(
|
||||
$dataArray['person_id'],
|
||||
$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',
|
||||
@@ -194,7 +199,6 @@ class Messages extends Auth_Controller
|
||||
null,
|
||||
getAuthUID()
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
return success('success');
|
||||
@@ -271,6 +275,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
|
||||
@@ -287,7 +292,6 @@ class Messages extends Auth_Controller
|
||||
private function _getMsgVarsData($person_id)
|
||||
{
|
||||
$msgVarsData = $this->MessageModel->getMsgVarsDataByPersonId($person_id);
|
||||
|
||||
if (isError($msgVarsData))
|
||||
{
|
||||
show_error($msgVarsData->retval);
|
||||
@@ -299,25 +303,15 @@ class Messages extends Auth_Controller
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _getAuthPersonId()
|
||||
private function _getAuthUser()
|
||||
{
|
||||
$sender_id = null;
|
||||
|
||||
$this->load->model('person/Person_model', 'PersonModel');
|
||||
$authUser = $this->PersonModel->getByUid(getAuthUID());
|
||||
if (isError($authUser))
|
||||
{
|
||||
show_error($authUser->retval);
|
||||
}
|
||||
elseif (!hasData($authUser))
|
||||
{
|
||||
show_error('The current logged user person_id is not defined');
|
||||
}
|
||||
else
|
||||
{
|
||||
$sender_id = $authUser->retval[0]->person_id;
|
||||
}
|
||||
|
||||
return $sender_id;
|
||||
if (!hasData($authUser)) $authUser = error('The current logged user person_id is not defined');
|
||||
|
||||
return $authUser;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,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);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,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);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -80,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);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -93,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);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -149,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);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -780,7 +770,11 @@ class MessageLib
|
||||
$variablesArray = array();
|
||||
$variables = $this->_ci->MessageModel->getMessageVarsPerson();
|
||||
|
||||
if (hasData($variables))
|
||||
if (isError($variables))
|
||||
{
|
||||
show_error($variables->retval);
|
||||
}
|
||||
elseif (hasData($variables))
|
||||
{
|
||||
// Skip person_id
|
||||
for ($i = 1; $i < count($variables->retval); $i++)
|
||||
@@ -824,7 +818,6 @@ class MessageLib
|
||||
{
|
||||
$this->_ci->load->model('system/Benutzerrolle_model', 'BenutzerrolleModel');
|
||||
$isAdmin = $this->_ci->BenutzerrolleModel->isAdminByPersonId($sender_id);
|
||||
|
||||
if (isError($isAdmin))
|
||||
{
|
||||
show_error($isAdmin->retval);
|
||||
@@ -833,6 +826,14 @@ class MessageLib
|
||||
return $isAdmin->retval;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function send()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Private methods
|
||||
|
||||
|
||||
Reference in New Issue
Block a user