mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 00:24:35 +00:00
- Added new controller system/messages/MessageClient used to read and write messages using a new GUI based on ajax and tabulator
- system/messages/MessageClient currently has only two methods: read and listMessages - Added new view system/messages/ajaxRead.php used for the GUI to read messages - Added new parameters to templates/FHC-Header: tabulator and momentjs - Added new packages to composer: tabulator and momentjs
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class MessageClient extends Auth_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(
|
||||
array(
|
||||
'read' => array('basis/message:r'),
|
||||
'listMessages' => array('basis/message:r')
|
||||
)
|
||||
);
|
||||
|
||||
// Loads model CLMessagesModel which contains the GUI logic
|
||||
$this->load->model('CL/Messages_model', 'CLMessagesModel');
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts the GUI used to read all the personal messages
|
||||
*/
|
||||
public function read()
|
||||
{
|
||||
// Loads the view to read messages
|
||||
$this->load->view('system/messages/ajaxRead');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns JSON that that contains all the received messages by the currently logged user
|
||||
* This JSON structure is nested data used by tabulator
|
||||
*/
|
||||
public function listMessages()
|
||||
{
|
||||
$jsonNestedData = $this->CLMessagesModel->prepareAjaxRead();
|
||||
|
||||
$this->outputJson($jsonNestedData);
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@ class Messages extends Auth_Controller
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Public methods - HTML output
|
||||
// Methods with HTML output
|
||||
|
||||
/**
|
||||
* Initialize all the parameters used by view system/messages/htmlWriteTemplate
|
||||
@@ -71,7 +71,7 @@ class Messages extends Auth_Controller
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Public methods - JSON output - called by this controller and FASMessages (view system/messages/htmlWriteTemplate)
|
||||
// Methods with JSON output called by this controller and FASMessages (view system/messages/htmlWriteTemplate)
|
||||
|
||||
/**
|
||||
* Returns an object that represent a template store in database
|
||||
@@ -98,7 +98,7 @@ class Messages extends Auth_Controller
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Public methods - JSON output - called by infocenter
|
||||
// Methods with JSON output called by infocenter
|
||||
|
||||
/**
|
||||
* Outputs message data for a message (identified my msg id and receiver id) in JSON format
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'Read personal messages',
|
||||
'jquery' => true,
|
||||
'bootstrap' => true,
|
||||
'momentjs' => true,
|
||||
'tabulator' => true,
|
||||
'ajaxlib' => true,
|
||||
'customJSs' => array('public/js/messaging/messageClient.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="lstMessagesPanel"></div>
|
||||
<div id="readMessagePanel"></div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
@@ -2,7 +2,7 @@
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'MessageSent',
|
||||
'title' => 'Read a message',
|
||||
'jquery' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'MessageReply',
|
||||
'title' => 'Reply to a message',
|
||||
'jquery' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'Write a message',
|
||||
'title' => 'Write a new message or reply using templates',
|
||||
'jquery' => true,
|
||||
'jqueryui' => true,
|
||||
'bootstrap' => true,
|
||||
|
||||
@@ -25,10 +25,12 @@
|
||||
$jqueryui = isset($jqueryui) ? $jqueryui : false;
|
||||
$jquerycheckboxes = isset($jquerycheckboxes) ? $jquerycheckboxes : false;
|
||||
$jquerytreetable = isset($jquerytreetable) ? $jquerytreetable : false;
|
||||
$momentjs = isset($momentjs) ? $momentjs : false;
|
||||
$navigationwidget = isset($navigationwidget) ? $navigationwidget : false;
|
||||
$pivotui = isset($pivotui) ? $pivotui : false;
|
||||
$sbadmintemplate = isset($sbadmintemplate) ? $sbadmintemplate : false;
|
||||
$tablesorter = isset($tablesorter) ? $tablesorter : false;
|
||||
$tabulator = isset($tabulator) ? $tabulator : false;
|
||||
$tinymce = isset($tinymce) ? $tinymce : false;
|
||||
$widgets = isset($widgets) ? $widgets : false;
|
||||
?>
|
||||
@@ -61,10 +63,7 @@
|
||||
if ($fontawesome === true) generateCSSsInclude('vendor/components/font-awesome/css/font-awesome.min.css');
|
||||
|
||||
// PivotUI CSS
|
||||
if ($pivotui === true)
|
||||
{
|
||||
generateCSSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.css');
|
||||
}
|
||||
if ($pivotui === true) generateCSSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.css');
|
||||
|
||||
// SB Admin 2 template CSS
|
||||
if ($sbadmintemplate === true)
|
||||
@@ -80,6 +79,9 @@
|
||||
generateCSSsInclude('vendor/mottie/tablesorter/dist/css/jquery.tablesorter.pager.min.css');
|
||||
}
|
||||
|
||||
// Tabulator CSS
|
||||
if ($tabulator === true) generateCSSsInclude('vendor/olifolkerd/tabulator/dist/css/bootstrap/tabulator_bootstrap.min.css');
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------
|
||||
// From public folder
|
||||
|
||||
@@ -101,6 +103,7 @@
|
||||
// Eventually required CSS
|
||||
generateCSSsInclude($customCSSs); // Eventually required CSS
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------
|
||||
// Javascripts
|
||||
|
||||
@@ -126,10 +129,7 @@
|
||||
}
|
||||
|
||||
// jQuery checkboxes
|
||||
if ($jquerycheckboxes === true)
|
||||
{
|
||||
generateJSsInclude('vendor/rmariuzzo/jquery-checkboxes/dist/jquery.checkboxes-1.0.7.min.js');
|
||||
}
|
||||
if ($jquerycheckboxes === true) generateJSsInclude('vendor/rmariuzzo/jquery-checkboxes/dist/jquery.checkboxes-1.0.7.min.js');
|
||||
|
||||
// Bootstrap JS
|
||||
if ($bootstrap === true) generateJSsInclude('vendor/twbs/bootstrap/dist/js/bootstrap.min.js');
|
||||
@@ -138,12 +138,17 @@
|
||||
// NOTE: keep it after jQuery includes
|
||||
if ($jquerytreetable === true) generateJSsInclude('vendor/ludo/jquery-treetable/jquery.treetable.js');
|
||||
|
||||
// PivotUI CSS
|
||||
if ($pivotui === true)
|
||||
// MomentJS
|
||||
if ($momentjs === true)
|
||||
{
|
||||
generateJSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.js');
|
||||
generateJSsInclude('vendor/moment/momentjs/min/moment.min.js');
|
||||
generateJSsInclude('vendor/moment/momentjs/locale/de-at.js');
|
||||
generateJSsInclude('vendor/moment/momentjs/locale/en-ie.js');
|
||||
}
|
||||
|
||||
// PivotUI JS
|
||||
if ($pivotui === true) generateJSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.js');
|
||||
|
||||
// Table sorter JS
|
||||
if ($tablesorter === true)
|
||||
{
|
||||
@@ -152,6 +157,9 @@
|
||||
generateJSsInclude('vendor/mottie/tablesorter/dist/js/extras/jquery.tablesorter.pager.min.js');
|
||||
}
|
||||
|
||||
// Tabulator JS
|
||||
if ($tabulator === true) generateJSsInclude('vendor/olifolkerd/tabulator/dist/js/tabulator.min.js');
|
||||
|
||||
// Tinymce JS
|
||||
if ($tinymce === true) generateJSsInclude('vendor/tinymce/tinymce/tinymce.min.js');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user