0byt3m1n1
Path:
/
home
/
mgatv524
/
public_html
/
mctv
/
cache
/
f8
/
[
Home
]
File: f8af8129364346d186b77f8f6367f186edca81c406c8b6fc5998f6dea97d2f1d.php
<?php use Twig\Environment; use Twig\Error\LoaderError; use Twig\Error\RuntimeError; use Twig\Extension\SandboxExtension; use Twig\Markup; use Twig\Sandbox\SecurityError; use Twig\Sandbox\SecurityNotAllowedTagError; use Twig\Sandbox\SecurityNotAllowedFilterError; use Twig\Sandbox\SecurityNotAllowedFunctionError; use Twig\Source; use Twig\Template; /* notification-page.twig */ class __TwigTemplate_d5286b36a9289ea3c30bdabbe93f3c86629eef672b05ef1d5b389d5d0bb06597 extends Template { private $source; private $macros = []; public function __construct(Environment $env) { parent::__construct($env); $this->source = $this->getSourceContext(); $this->blocks = [ 'title' => [$this, 'block_title'], 'actionMenu' => [$this, 'block_actionMenu'], 'pageContent' => [$this, 'block_pageContent'], 'javaScript' => [$this, 'block_javaScript'], ]; } protected function doGetParent(array $context) { // line 23 return "authed.twig"; } protected function doDisplay(array $context, array $blocks = []) { $macros = $this->macros; // line 24 $macros["inline"] = $this->macros["inline"] = $this->loadTemplate("inline.twig", "notification-page.twig", 24)->unwrap(); // line 23 $this->parent = $this->loadTemplate("authed.twig", "notification-page.twig", 23); $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 26 public function block_title($context, array $blocks = []) { $macros = $this->macros; echo twig_escape_filter($this->env, __("Notification Centre"), "html", null, true); echo " | "; } // line 28 public function block_actionMenu($context, array $blocks = []) { $macros = $this->macros; // line 29 echo " "; if (twig_get_attribute($this->env, $this->source, ($context["currentUser"] ?? null), "featureEnabled", [0 => "notification.add"], "method", false, false, false, 29)) { // line 30 echo " <div class=\"widget-action-menu pull-right\"> <button class=\"btn btn-success XiboFormButton\" href=\""; // line 31 echo twig_escape_filter($this->env, $this->env->getRuntime('Slim\Views\TwigRuntimeExtension')->urlFor("notification.add.form"), "html", null, true); echo "\"><i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> "; echo __("Add Notification"); echo "</button> </div> "; } } // line 37 public function block_pageContent($context, array $blocks = []) { $macros = $this->macros; // line 38 echo " <div class=\"widget\"> <div class=\"widget-title\">"; // line 39 echo __("Notification Centre"); echo "</div> <div class=\"widget-body\"> <div class=\"XiboGrid\" id=\""; // line 41 echo twig_escape_filter($this->env, twig_random($this->env), "html", null, true); echo "\"> <div class=\"XiboFilter\"> <div class=\"FilterDiv card-body\" id=\"Filter\"> <form class=\"form-inline\"> </form> </div> </div> <div class=\"XiboData card pt-3\"> <table id=\"notifications\" class=\"table table-striped\" data-state-preference-name=\"notificationGrid\"> <thead> <tr> <th>"; // line 53 echo __("Subject"); echo "</th> <th>"; // line 54 echo __("Date"); echo "</th> <th>"; // line 55 echo __("Email?"); echo "</th> <th>"; // line 56 echo __("Interrupt?"); echo "</th> <th class=\"rowMenu\"></th> </tr> </thead> <tbody> </tbody> </table> </div> </div> </div> </div> "; } // line 70 public function block_javaScript($context, array $blocks = []) { $macros = $this->macros; // line 71 echo " <script type=\"text/javascript\"> var table = \$(\"#notifications\").DataTable({ \"language\": dataTablesLanguage, dom: dataTablesTemplate, serverSide: true, stateSave: true, stateDuration: 0, responsive: true, stateLoadCallback: dataTableStateLoadCallback, stateSaveCallback: dataTableStateSaveCallback, filter: false, searchDelay: 3000, \"order\": [[ 1, \"desc\"]], ajax: { \"url\": \""; // line 85 echo twig_escape_filter($this->env, $this->env->getRuntime('Slim\Views\TwigRuntimeExtension')->urlFor("notification.search"), "html", null, true); echo "\", \"data\": function(d) { \$.extend(d, \$(\"#notifications\").closest(\".XiboGrid\").find(\".FilterDiv form\").serializeObject()); } }, \"columns\": [ { \"data\": \"subject\", responsivePriority: 2 }, { \"data\": \"releaseDt\", responsivePriority: 2, \"render\": dataTableDateFromUnix }, { \"data\": \"isEmail\", responsivePriority: 3, \"render\": dataTableTickCrossColumn }, { \"data\": \"isInterrupt\", responsivePriority: 3, \"render\": dataTableTickCrossColumn }, { \"orderable\": false, responsivePriority : 1, \"data\": dataTableButtonsColumn } ] }); table.on('draw', dataTableDraw); table.on('processing.dt', dataTableProcessing); dataTableAddButtons(table, \$('#notifications_wrapper').find('.dataTables_buttons')); var attachmentFormSubmit = function(dialog) { var form = \$(dialog); // Pull any text editor instances we have for (var editor in CKEDITOR.instances) { // Parse the data for library preview references, and replace those with their original values // /\\/library\\/download\\/(.[0-9]+)\\?preview=1/; var regex = new RegExp(CKEDITOR_DEFAULT_CONFIG.imageDownloadUrl.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\\$\\|]/g, \"\\\\\$&\").replace(\":id\", \"([0-9]+)\"), \"g\"); var data = CKEDITOR.instances[editor].getData().replace(regex, function (match, group1) { var replacement = \"[\" + group1 + \"]\"; //console.log(\"match = \" + match + \". replacement = \" + replacement); return replacement; }); // Set the appropriate text editor field with this data. \$(\"#\" + editor).val(data); } // Submit via ajax - change the attachment color on success \$.ajax({ type: form.attr(\"method\"), url: form.attr(\"action\"), cache: false, dataType: \"json\", data: \$(form).serialize(), success: function(xhr, textStatus, error) { XiboSubmitResponse(xhr, form); if (xhr.success) { console.log('success'); } }, error: function(xhr, textStatus, errorThrown) { SystemMessage(xhr.responseText, false); } }); } var attachmentFormSetup = function(dialog) { // Conjure up a text editor CKEDITOR.replace(\"body\", CKEDITOR_DEFAULT_CONFIG); // Make sure when we close the dialog we also destroy the editor dialog.on(\"hide.bs.modal\", function(event) { if (event.target.className == \"bootbox modal in\" && CKEDITOR.instances[\"body\"] != undefined) { CKEDITOR.instances[\"body\"].destroy(); } }); var attachmentImageList = \$('#attachmentImageId'); var attachmentChanged = false; // Bind to the attachment add button click \$(\"#attachmentAddButton\").on(\"click\", function(e) { notificationAddFormAttachmentButtonClicked(e, dialog); }); // Search for any forms that will need submitting // NOTE: The validation plugin does not like binding to multiple forms at once. dialog.find(\"#notificationForm\").validate({ submitHandler: attachmentFormSubmit, errorElement: \"span\", highlight: function(element) { \$(element).closest('.form-group').removeClass('has-success').addClass('has-error'); }, success: function(element) { \$(element).closest('.form-group').removeClass('has-error').addClass('has-success'); }, invalidHandler: function(event, validator) { // Remove the spinner \$(this).closest(\".modal-dialog\").find(\".saving\").remove(); // https://github.com/xibosignage/xibo/issues/1589 \$(this).closest(\".modal-dialog\").find(\".save-button\").removeClass(\"disabled\"); } }); }; /** * Add notification attachment add image button * @param e the event * @param dialog the dialog */ function notificationAddFormAttachmentButtonClicked(e, dialog) { e.preventDefault(); // Open an upload form var upload = openUploadForm({ url: \""; // line 214 echo twig_escape_filter($this->env, $this->env->getRuntime('Slim\Views\TwigRuntimeExtension')->urlFor("notification.addattachment"), "html", null, true); echo "\", title: \""; // line 215 echo __("Browse/Add attachment"); echo "\", videoImageCovers: false, animateDialog: false, className: \"second-dialog\", buttons: { main: { label: \""; // line 221 echo __("Done"); echo "\", className: \"btn-primary btn-bb-main\", callback: function () { upload.modal('hide'); } } }, templateOptions: { multi: false, trans: { addFiles: \""; // line 231 echo __("Browse/Add Attachment"); echo "\", startUpload: \""; // line 232 echo __("Start Upload"); echo "\", cancelUpload: \""; // line 233 echo __("Cancel Upload"); echo "\" }, upload: { maxSize: "; // line 236 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["libraryUpload"] ?? null), "maxSize", [], "any", false, false, false, 236), "html", null, true); echo ", maxSizeMessage: \""; // line 237 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["libraryUpload"] ?? null), "maxSizeMessage", [], "any", false, false, false, 237), "html", null, true); echo "\", validExt: \"jpg|jpeg|png|bmp|gif|zip|pdf\" }, folderSelector: false }, uploadDoneEvent: function (data) { // Get the attachment filename var filename = data.result.files[0].name; dialog.find(\"input[name='attachedFilename']\").remove(); // Create a hidden field with the filename \$(\"#notificationForm\").append(\$(\"<input type='hidden' name='attachedFilename' value='\" + filename + \"'/>\")); // Close upload.modal('hide'); } }); } </script> "; } public function getTemplateName() { return "notification-page.twig"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 332 => 237, 328 => 236, 322 => 233, 318 => 232, 314 => 231, 301 => 221, 292 => 215, 288 => 214, 156 => 85, 140 => 71, 136 => 70, 119 => 56, 115 => 55, 111 => 54, 107 => 53, 92 => 41, 87 => 39, 84 => 38, 80 => 37, 70 => 31, 67 => 30, 64 => 29, 60 => 28, 52 => 26, 47 => 23, 45 => 24, 38 => 23,); } public function getSourceContext() { return new Source("", "notification-page.twig", "/home/mgatv524/public_html/mctv/views/notification-page.twig"); } }