mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-27 08:59:28 +00:00
Messages
This commit is contained in:
@@ -1,34 +1,43 @@
|
||||
<?php
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Messages extends FHC_Controller
|
||||
class Messages extends VileSci_Controller
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->load->library('messaging');
|
||||
$this->load->library('MessageLib');
|
||||
//$this->load->model('person/Person_model');
|
||||
//$this->load->model('system/Message_model');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
//$messages = $this->Message_model->getMessages();
|
||||
$msg = $this->Message_model->load(1);
|
||||
$this->load->view('system/messages.php');
|
||||
}
|
||||
|
||||
public function table()
|
||||
{
|
||||
$person_id = $this->input->post('person_id', TRUE);
|
||||
if ($person_id)
|
||||
$msg = $this->messagelib->getMessagesByPerson($person_id);
|
||||
else
|
||||
$msg = $this->messagelib->getMessagesByUID($this->getUID());
|
||||
if ($msg->error)
|
||||
show_error($msg->retval);
|
||||
|
||||
$data = array
|
||||
(
|
||||
'message' => $msg->retval[0]
|
||||
'messages' => $msg->retval
|
||||
);
|
||||
$v = $this->load->view('message.php', $data);
|
||||
var_dump ($data);
|
||||
$this->load->view('system/messagesList.php', $data);
|
||||
}
|
||||
|
||||
public function view($msg_id)
|
||||
{
|
||||
$msg = $this->messaging->getMessage($msg_id);
|
||||
$msg = $this->messagelib->getMessage($msg_id);
|
||||
//var_dump($msg);
|
||||
if ($msg->error)
|
||||
show_error($msg->retval);
|
||||
@@ -57,9 +66,9 @@ class Messages extends FHC_Controller
|
||||
{
|
||||
$body = $this->input->post('body', TRUE);
|
||||
$subject = $this->input->post('subject', TRUE);
|
||||
if (! $this->messaging->addRecipient(1))
|
||||
if (! $this->messagelib->addRecipient(1))
|
||||
show_error('Error: AddRecipient');
|
||||
$msg = $this->messaging->sendMessage(1,$body ,$subject);
|
||||
$msg = $this->messagelib->sendMessage(1,$body ,$subject);
|
||||
if ($msg->error)
|
||||
show_error($msg->retval);
|
||||
$msg_id = $msg->retval;
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
class DB_Model extends FHC_Model
|
||||
{
|
||||
protected $dbTable; // Name of the DB-Table for CI-Insert, -Update, ...
|
||||
protected $pk; // Name of the PrimaryKey for DB-Update, Load, ...
|
||||
protected $dbTable; // Name of the DB-Table for CI-Insert, -Update, ...
|
||||
protected $pk; // Name of the PrimaryKey for DB-Update, Load, ...
|
||||
protected $hasSequence; // False if this table has a composite primary key that is not using a sequence
|
||||
// True if this table has a primary key that uses a sequence
|
||||
protected $acl; // Name of the PrimaryKey for DB-Update, Load, ...
|
||||
protected $acl; // Name of the PrimaryKey for DB-Update, Load, ...
|
||||
|
||||
function __construct($dbTable = null, $pk = null, $hasSequence = true)
|
||||
{
|
||||
|
||||
@@ -3,19 +3,22 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class FHC_Controller extends CI_Controller
|
||||
{
|
||||
public $uid;
|
||||
protected $_uid; // needs to be changed to protected $_uid
|
||||
|
||||
function __construct()
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->load->library('session');
|
||||
//$this->load->helper('language');
|
||||
$this->load->helper('fhcauth');
|
||||
|
||||
// look if User is logged in and set uid
|
||||
if (isset($_SERVER['PHP_AUTH_USER']))
|
||||
$this->uid = $_SERVER['PHP_AUTH_USER'];
|
||||
if (isset($_SESSION['uid']))
|
||||
$this->uid = $_SESSION['uid'];
|
||||
$this->session->set_userdata('uid', 'pam');
|
||||
$this->_uid = getAuthUID();
|
||||
}
|
||||
|
||||
public function getUID()
|
||||
{
|
||||
if (empty($this->_uid))
|
||||
return false;
|
||||
else
|
||||
return $this->_uid;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,16 @@ class FHC_Model extends CI_Model
|
||||
{
|
||||
return $this->fhc_db_acl->setUID($uid);
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------------------
|
||||
* get UID
|
||||
*
|
||||
* @return string or (bool)false
|
||||
*/
|
||||
public function getUID()
|
||||
{
|
||||
return $this->fhc_db_acl->getUID();
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------------------
|
||||
* Success
|
||||
@@ -61,4 +71,4 @@ class FHC_Model extends CI_Model
|
||||
{
|
||||
return error($retval, $message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,4 +48,20 @@ if ( ! function_exists('auth'))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Look if User is logged in and return uid
|
||||
* Otherwise return false
|
||||
*
|
||||
* @return string or (bool)false
|
||||
*/
|
||||
function getAuthUID()
|
||||
{
|
||||
// look if User is logged in and return uid
|
||||
if (isset($_SERVER['PHP_AUTH_USER']))
|
||||
return $_SERVER['PHP_AUTH_USER'];
|
||||
if (isset($_SESSION['uid']))
|
||||
return $_SESSION['uid'];
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,4 +68,14 @@ class FHC_DB_ACL
|
||||
{
|
||||
return $this->_uid = $uid;
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------------------
|
||||
* get UID
|
||||
*
|
||||
* @return string or (bool)false
|
||||
*/
|
||||
public function getUID()
|
||||
{
|
||||
return $this->_uid;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +53,40 @@ class MessageLib
|
||||
return $msg;
|
||||
}
|
||||
|
||||
/**
|
||||
* getMessagesByUID() - will return all messages, including the latest status for specified user. It don´t returns Attachments.
|
||||
*
|
||||
* @param string $uid REQUIRED
|
||||
* @return array
|
||||
*/
|
||||
function getMessagesByUID($uid, $all = false)
|
||||
{
|
||||
if (empty($uid))
|
||||
return $this->_error(MSG_ERR_INVALID_MSG_ID);
|
||||
|
||||
$msg = $this->ci->MessageModel->getMessagesByUID($uid, $all);
|
||||
|
||||
// General Error Occurred
|
||||
return $msg;
|
||||
}
|
||||
|
||||
/**
|
||||
* getMessagesByPerson() - will return all messages, including the latest status for specified user. It don´t returns Attachments.
|
||||
*
|
||||
* @param bigint $person_id REQUIRED
|
||||
* @return array
|
||||
*/
|
||||
function getMessagesByPerson($person_id, $all = false)
|
||||
{
|
||||
if (empty($person_id))
|
||||
return $this->_error(MSG_ERR_INVALID_MSG_ID);
|
||||
|
||||
$msg = $this->ci->MessageModel->getMessagesByPerson($person_id, $all);
|
||||
|
||||
// General Error Occurred
|
||||
return $msg;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
@@ -66,8 +100,7 @@ class MessageLib
|
||||
if (!is_numeric($msg_id))
|
||||
return $this->_invalid_id(MSG_ERR_INVALID_MSG_ID);
|
||||
|
||||
$msg = $this->getMessage($msg_id);
|
||||
return $msg;
|
||||
return $this->getMessage($msg_id);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
@@ -16,5 +16,86 @@ class Message_model extends DB_Model
|
||||
$this->pk = 'message_id';
|
||||
}
|
||||
|
||||
public function getMessagesByUID($uid, $all)
|
||||
{
|
||||
// Check wrights
|
||||
// @ToDo: Define the special wright for reading own messages "basis/message:own"
|
||||
// if same user
|
||||
if ($uid === $this->getUID())
|
||||
{
|
||||
if (! $this->fhc_db_acl->isBerechtigt('basis/message', 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> system/message', FHC_MODEL_ERROR);
|
||||
}
|
||||
// if different user, for reading messages from other users
|
||||
else
|
||||
{
|
||||
if (! $this->fhc_db_acl->isBerechtigt('basis/message', 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> system/message:all', FHC_MODEL_ERROR);
|
||||
}
|
||||
|
||||
// get Data
|
||||
$sql = 'SELECT uid, person_id, message_id, subject, priority, relationmessage_id, oe_kurzbz, m.insertamum, anrede, titelpost, titelpre, nachname, vorname, vornamen,
|
||||
status, statusinfo, s.insertamum AS statusamum
|
||||
FROM public.tbl_msg_message m
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
JOIN public.tbl_benutzer USING (person_id)
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT message_id, person_id, status, statusinfo, tbl_msg_status.insertamum
|
||||
FROM public.tbl_msg_status
|
||||
INNER JOIN
|
||||
(
|
||||
SELECT message_id, person_id, max(insertamum) AS insertamum
|
||||
FROM public.tbl_msg_status
|
||||
GROUP BY message_id, person_id
|
||||
) status
|
||||
USING (message_id, person_id)
|
||||
WHERE tbl_msg_status.insertamum=status.insertamum
|
||||
) s
|
||||
USING (message_id, person_id)
|
||||
WHERE uid = ?';
|
||||
if (! $all)
|
||||
$sql .= ' AND status<2';
|
||||
$result = $this->db->query($sql, array($uid));
|
||||
if (is_object($result))
|
||||
return $this->_success($result->result());
|
||||
else
|
||||
return $this->_error($this->db->error(), FHC_DB_ERROR);
|
||||
}
|
||||
|
||||
public function getMessagesByPerson($person_id, $all)
|
||||
{
|
||||
// Check wrights
|
||||
if (! $this->fhc_db_acl->isBerechtigt('basis/message', 's'))
|
||||
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> system/message', FHC_MODEL_ERROR);
|
||||
|
||||
// get Data
|
||||
$sql = 'SELECT person_id, message_id, subject, priority, relationmessage_id, oe_kurzbz, m.insertamum, anrede, titelpost, titelpre, nachname, vorname, vornamen,
|
||||
status, statusinfo, s.insertamum AS statusamum
|
||||
FROM public.tbl_msg_message m
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT message_id, person_id, status, statusinfo, tbl_msg_status.insertamum
|
||||
FROM public.tbl_msg_status
|
||||
INNER JOIN
|
||||
(
|
||||
SELECT message_id, person_id, max(insertamum) AS insertamum
|
||||
FROM public.tbl_msg_status
|
||||
GROUP BY message_id, person_id
|
||||
) status
|
||||
USING (message_id, person_id)
|
||||
WHERE tbl_msg_status.insertamum=status.insertamum
|
||||
) s
|
||||
USING (message_id, person_id)
|
||||
WHERE person_id = ?';
|
||||
if (! $all)
|
||||
$sql .= ' AND status<2';
|
||||
$result = $this->db->query($sql, array($person_id));
|
||||
var_dump($result);
|
||||
if (is_object($result))
|
||||
return $this->_success($result->result());
|
||||
else
|
||||
return $this->_error($this->db->error(), FHC_DB_ERROR);
|
||||
}
|
||||
}
|
||||
/* end of file Message_model.php */
|
||||
|
||||
@@ -1,22 +1,20 @@
|
||||
<script type="text/javascript" src="<?php echo base_url('vendor/tinymce/tinymce/tinymce.min.js');?>"></script>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Nachricht <?php echo $message->message_id,': ',$message->subject; ?></h2>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
|
||||
<html lang="de_AT">
|
||||
|
||||
Absender: <?php echo $message->person_id; ?><br/>
|
||||
Betreff: <?php echo $message->subject; ?><br/>
|
||||
Text: <?php echo $message->body; ?><br/>
|
||||
<?php
|
||||
// This is an example to show that you can load stuff from inside the template file
|
||||
echo $this->template->widget("organisationseinheit_widget", array('title' => 'Organisationseinheit', 'oe_kurzbz' => $message->oe_kurzbz));
|
||||
?>
|
||||
<form method="post" action="system/Message/send">
|
||||
<?php
|
||||
// This is an example to show that you can load stuff from inside the template file
|
||||
echo $this->template->widget("tinymce_widget", array());
|
||||
?>
|
||||
<input type="text" name="subject"></input>
|
||||
<textarea name="body" style="width:100%"></textarea>
|
||||
<button type="submit">send Message!</button>
|
||||
</form>
|
||||
</div>
|
||||
<head>
|
||||
<title>VileSci - Messages</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
</head>
|
||||
|
||||
<frameset rows="30%,*">
|
||||
<frame src="Messages/table" id="MessagesTop" name="MessagesTop" frameborder="0" />
|
||||
<frame src="Messages/edit" id="MessagesBottom" name="MessagesBottom" frameborder="0" />
|
||||
<noframes>
|
||||
<body bgcolor="#FFFFFF">
|
||||
This application works only with a frames-enabled browser.<br />
|
||||
<a href="MessagesList">Use without frames</a>
|
||||
</body>
|
||||
</noframes>
|
||||
</frameset>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'MessagesList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '4:{sorter:false}'));
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Vorlagen</h2>
|
||||
<form method="post" action="">
|
||||
Person
|
||||
<input name="person_id"></input>
|
||||
<button type="submit">Filter</button>
|
||||
</form>
|
||||
|
||||
<table id="t1" class="tablesorter">
|
||||
<thead>
|
||||
<tr><th class='table-sortable:default'>Vorlage</th>
|
||||
<th class='table-sortable:default'>Bezeichnung</th>
|
||||
<th>Anmerkung</th><th>MimeType</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($vorlage as $v): ?>
|
||||
<tr><td><a href="edit/<?php echo $v->vorlage_kurzbz; ?>" target="MessagesBottom"><?php echo $v->vorlage_kurzbz; ?></a></td>
|
||||
<td><?php echo $v->bezeichnung; ?></td>
|
||||
<td><?php echo $v->anmerkung; ?></td>
|
||||
<td><?php echo $v->mimetype; ?></td>
|
||||
<td><a href="view/<?php echo $v->vorlage_kurzbz; ?>">View</a></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
<script type="text/javascript" >
|
||||
// get json
|
||||
function getJSON(form)
|
||||
function getJSON(form)
|
||||
{
|
||||
form.elements["attribute"].value = JSON.stringify(jsoneditor.get(), null, 2);
|
||||
//alert(form.elements["attribute"].value);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'TemplateList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '4:{sorter:false}'));
|
||||
$this->load->view('templates/header', array('title' => 'TemplatesList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '4:{sorter:false}'));
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -59,4 +59,3 @@ if ($tablesort)
|
||||
<?php endif ?>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
Reference in New Issue
Block a user