- Moved core from Redirect controller to ViewMessage controller

- Dropped Redirect controller
- Adapted configs and paths because of these changes
This commit is contained in:
Paolo
2020-01-17 15:39:34 +01:00
parent 50f633ce3e
commit 0244caaa70
4 changed files with 54 additions and 83 deletions
+2 -2
View File
@@ -7,7 +7,7 @@ $config['send_immediately'] = false;
$config['msg_delivery'] = true; // Default true
$config['system_person_id'] = 1; // Dummy sender, used for sending messages from the system
$config['redirect_view_message_url'] = '/system/messages/Redirect/redirectByToken/';
$config['redirect_view_message_url'] = '/system/messages/ViewMessage/redirectByToken/';
$config['message_html_view_url'] = '/system/messages/ViewMessage/toHTML/';
// Change this to CIS Server (https://cis.example.com/index.ci.php) if you are sending Messages from Vilesci
@@ -15,6 +15,6 @@ $config['message_server'] = site_url();
$config['ou_receivers'] = array('ass');
$config['message_redirect_url'] = array();
$config['message_redirect_url']['fallback'] = site_url('system/messagesViewMessage/writeReply');
$config['message_redirect_url']['fallback'] = site_url('system/messages/ViewMessage/writeReply');
// $config['message_redirect_url']['OE_ROOT_1'] = 'https://<server name>/addons/aufnahme/OE_ROOT/cis/index.php';
// $config['message_redirect_url']['OE_ROOT_2'] = 'https://<server name>/<where ever you like to land to a message reply page>';
@@ -1,80 +0,0 @@
<?php
/**
* FH-Complete
*
* @package FHC-API
* @author FHC-Team
* @copyright Copyright (c) 2016, fhcomplete.org
* @license GPLv3
* @link http://fhcomplete.org
* @since Version 1.0
* @filesource
*/
// ------------------------------------------------------------------------
if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* NOTE: it extends FHC_Controller instead of Auth_Controller because authentication is not needed
*/
class Redirect extends FHC_Controller
{
/**
* API constructor
*/
public function __construct()
{
parent::__construct();
// Loads model MessageTokenModel
$this->load->model('system/MessageToken_model', 'MessageTokenModel');
}
/**
* With the given token redirects the user to reply page configured in the config/message.php file
*/
public function redirectByToken($token)
{
// Retrieves the single message data using the given token
$msg = $this->MessageTokenModel->getMessageByToken($token);
// If it is an error or it does not contain data show an error
if (!hasData($msg)) show_error('MSG-ERR-0001: An error occurred while redirecting, please contact the administrator');
// else
$oe_kurzbz = getData($msg)[0]->oe_kurzbz;
$organisationRoot = null; // by default is null
// If an organisation unit is present in the message tries to retrieve the root organisation unit
// from the one found in the message
if (!isEmptyString($oe_kurzbz))
{
// Retrieves the root organisation unit from the one found in the message
$getOERoot = $this->MessageTokenModel->getOERoot($oe_kurzbz);
// If it is an error or it does not contain data show an error
if (!hasData($getOERoot)) show_error('MSG-ERR-0002: An error occurred while redirecting, please contact the administrator');
// else
$organisationRoot = getData($getOERoot)[0]->oe_kurzbz;
}
// Retrieves the possible redirecting URLs array from configs
$messageRedirectUrls = $this->config->item('message_redirect_url');
// If it is not a valid array then show an error
if (isEmptyArray($messageRedirectUrls)) show_error('MSG-ERR-0003: An error occurred while redirecting, please contact the administrator');
// If this organisation unit root is not configured as an entry in the possible redirecting URLs array,
// then tries to use the default one...
if (!isset($messageRedirectUrls[$organisationRoot]))
{
$organisationRoot = 'fallback';
// ...if even the default one is not present show an error
if (!isset($messageRedirectUrls[$organisationRoot]))
{
show_error('MSG-ERR-0004: An error occurred while redirecting, please contact the administrator');
}
}
// Finally if everything was right then the user can be redirected
redirect($messageRedirectUrls[$organisationRoot] . '?token=' . $token);
}
}
@@ -72,4 +72,55 @@ class ViewMessage extends FHC_Controller
$this->load->view('system/messages/htmlError');
}
}
/**
* With the given token redirects the user to reply page configured in the config/message.php file
*/
public function redirectByToken($token)
{
// Loads model MessageTokenModel
$this->load->model('system/MessageToken_model', 'MessageTokenModel');
// Retrieves the single message data using the given token
$msg = $this->MessageTokenModel->getMessageByToken($token);
// If it is an error or it does not contain data show an error
if (!hasData($msg)) show_error('MSG-ERR-0001: An error occurred while redirecting, please contact the administrator');
// else
$oe_kurzbz = getData($msg)[0]->oe_kurzbz;
$organisationRoot = null; // by default is null
// If an organisation unit is present in the message tries to retrieve the root organisation unit
// from the one found in the message
if (!isEmptyString($oe_kurzbz))
{
// Retrieves the root organisation unit from the one found in the message
$getOERoot = $this->MessageTokenModel->getOERoot($oe_kurzbz);
// If it is an error or it does not contain data show an error
if (!hasData($getOERoot)) show_error('MSG-ERR-0002: An error occurred while redirecting, please contact the administrator');
// else
$organisationRoot = getData($getOERoot)[0]->oe_kurzbz;
}
// Retrieves the possible redirecting URLs array from configs
$messageRedirectUrls = $this->config->item('message_redirect_url');
// If it is not a valid array then show an error
if (isEmptyArray($messageRedirectUrls)) show_error('MSG-ERR-0003: An error occurred while redirecting, please contact the administrator');
// If this organisation unit root is not configured as an entry in the possible redirecting URLs array,
// then tries to use the default one...
if (!isset($messageRedirectUrls[$organisationRoot]))
{
$organisationRoot = 'fallback';
// ...if even the default one is not present show an error
if (!isset($messageRedirectUrls[$organisationRoot]))
{
show_error('MSG-ERR-0004: An error occurred while redirecting, please contact the administrator');
}
}
// Finally if everything was right then the user can be redirected
redirect($messageRedirectUrls[$organisationRoot] . '?token=' . $token);
}
}
@@ -22,7 +22,7 @@
<h3 class="page-header">Send message</h3>
</div>
</div>
<form id="sendForm" method="post" action="<?php echo site_url('/ViewMessage/sendReply'); ?>">
<form id="sendForm" method="post" action="<?php echo site_url('system/messages/ViewMessage/sendReply'); ?>">
<div class="row">
<div class="form-group">
<div class="col-lg-1 msgfieldcol-left">