0byt3m1n1
Path:
/
home
/
mgatv524
/
novabrasil.mgaplay.com.br
/
cache
/
20
/
[
Home
]
File: 20539ec4e1e384fba36e884af255fd836157a71e74b9d87b5b991309b0346e4c.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; /* display-page.twig */ class __TwigTemplate_50147e5af657086e7b62f75a3d6f56b74adc2af7432caeed7fa22313a2d89482 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", "display-page.twig", 24)->unwrap(); // line 23 $this->parent = $this->loadTemplate("authed.twig", "display-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, __("Displays"), "html", null, true); echo " | "; } // line 28 public function block_actionMenu($context, array $blocks = []) { $macros = $this->macros; // line 29 echo " <div class=\"widget-action-menu pull-right\"> "; // line 30 if (twig_get_attribute($this->env, $this->source, ($context["currentUser"] ?? null), "featureEnabled", [0 => "displays.add"], "method", false, false, false, 30)) { // line 31 echo " <button class=\"btn btn-success XiboFormButton\" title=\""; echo __("Add a Display via user_code displayed on the Player screen"); echo "\" href=\""; echo twig_escape_filter($this->env, $this->env->getRuntime('Slim\Views\TwigRuntimeExtension')->urlFor("display.addViaCode.form"), "html", null, true); echo "\"> <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> "; echo __("Add Display (Code)"); echo "</button> "; } // line 33 echo " <button class=\"btn btn-primary\" id=\"refreshGrid\" title=\""; echo __("Refresh the Table"); echo "\" href=\"#\"><i class=\"fa fa-refresh\" aria-hidden=\"true\"></i> "; echo __("Refresh"); 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 __("Displays"); 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 "\" data-grid-name=\"displayView\"> <div class=\"XiboFilter card mb-3 bg-light\"> <div class=\"FilterDiv card-body\" id=\"Filter\"> <ul class=\"nav nav-tabs\" role=\"tablist\"> <li class=\"nav-item\"><a class=\"nav-link active\" href=\"#filter-general\" role=\"tab\" data-toggle=\"tab\">"; // line 45 echo __("General"); echo "</a></li> <li class=\"nav-item\"><a class=\"nav-link\" href=\"#filter-advanced\" role=\"tab\" data-toggle=\"tab\">"; // line 46 echo __("Advanced"); echo "</a></li> </ul> <form class=\"form-inline\"> <div class=\"tab-content\"> <div class=\"tab-pane active\" id=\"filter-general\"> "; // line 51 ob_start(function () { return ''; }); echo __("ID"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 52 echo " "; echo twig_call_macro($macros["inline"], "macro_number", ["displayId", ($context["title"] ?? null)], 52, $context, $this->getSourceContext()); echo " "; // line 54 ob_start(function () { return ''; }); echo __("Name"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 55 echo " "; echo twig_call_macro($macros["inline"], "macro_inputNameGrid", ["display", ($context["title"] ?? null)], 55, $context, $this->getSourceContext()); echo " "; // line 57 ob_start(function () { return ''; }); echo __("Status"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 58 echo " "; ob_start(function () { return ''; }); echo __("Up to date"); $context["check"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 59 echo " "; ob_start(function () { return ''; }); echo __("Downloading"); $context["cross"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 60 echo " "; ob_start(function () { return ''; }); echo __("Out of date"); $context["cloud"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 61 echo " "; $context["options"] = [0 => ["optionid" => "", "option" => ""], 1 => ["optionid" => "1", "option" => // line 63 ($context["check"] ?? null)], 2 => ["optionid" => "2", "option" => // line 64 ($context["cross"] ?? null)], 3 => ["optionid" => "3", "option" => // line 65 ($context["cloud"] ?? null)]]; // line 67 echo " "; echo twig_call_macro($macros["inline"], "macro_dropdown", ["mediaInventoryStatus", "single", ($context["title"] ?? null), "", ($context["options"] ?? null), "optionid", "option"], 67, $context, $this->getSourceContext()); echo " "; // line 69 ob_start(function () { return ''; }); echo __("Logged In?"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 70 echo " "; ob_start(function () { return ''; }); echo __("Yes"); $context["yesOption"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 71 echo " "; ob_start(function () { return ''; }); echo __("No"); $context["noOption"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 72 echo " "; $context["options"] = [0 => ["optionid" => "", "option" => ""], 1 => ["optionid" => "1", "option" => // line 74 ($context["yesOption"] ?? null)], 2 => ["optionid" => "0", "option" => // line 75 ($context["noOption"] ?? null)]]; // line 77 echo " "; echo twig_call_macro($macros["inline"], "macro_dropdown", ["loggedIn", "single", ($context["title"] ?? null), "", ($context["options"] ?? null), "optionid", "option"], 77, $context, $this->getSourceContext()); echo " "; // line 79 ob_start(function () { return ''; }); echo __("Authorised?"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 80 echo " "; ob_start(function () { return ''; }); echo __("Yes"); $context["yesOption"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 81 echo " "; ob_start(function () { return ''; }); echo __("No"); $context["noOption"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 82 echo " "; $context["options"] = [0 => ["optionid" => "", "option" => ""], 1 => ["optionid" => "1", "option" => // line 84 ($context["yesOption"] ?? null)], 2 => ["optionid" => "0", "option" => // line 85 ($context["noOption"] ?? null)]]; // line 87 echo " "; echo twig_call_macro($macros["inline"], "macro_dropdown", ["authorised", "single", ($context["title"] ?? null), "", ($context["options"] ?? null), "optionid", "option"], 87, $context, $this->getSourceContext()); echo " "; // line 89 if (twig_get_attribute($this->env, $this->source, ($context["currentUser"] ?? null), "featureEnabled", [0 => "tag.tagging"], "method", false, false, false, 89)) { // line 90 echo " "; ob_start(function () { return ''; }); echo __("Tags"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 91 echo " "; ob_start(function () { return ''; }); echo __("Exact match?"); $context["exactTagTitle"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 92 echo " "; ob_start(function () { return ''; }); echo __("When filtering by multiple Tags, which logical operator should be used?"); $context["logicalOperatorTitle"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 93 echo " "; ob_start(function () { return ''; }); echo __("A comma separated list of tags to filter by. Enter a Tag value preceded with | to filter by Tag values. Enter --no-tag to see items without tags."); $context["helpText"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 94 echo " "; echo twig_call_macro($macros["inline"], "macro_inputWithTags", ["tags", ($context["title"] ?? null), null, ($context["helpText"] ?? null), null, null, null, "exactTags", ($context["exactTagTitle"] ?? null), ($context["logicalOperatorTitle"] ?? null)], 94, $context, $this->getSourceContext()); echo " "; } // line 96 echo " "; // line 97 if (twig_get_attribute($this->env, $this->source, ($context["currentUser"] ?? null), "featureEnabled", [0 => "displaygroup.view"], "method", false, false, false, 97)) { // line 98 echo " "; ob_start(function () { return ''; }); echo __("Display Group"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 99 echo " "; echo twig_call_macro($macros["inline"], "macro_dropdown", ["displayGroupId", "single", ($context["title"] ?? null), "", twig_array_merge([0 => ["displayGroupId" => null, "displayGroup" => ""]], ($context["displayGroups"] ?? null)), "displayGroupId", "displayGroup"], 99, $context, $this->getSourceContext()); echo " "; } // line 101 echo " "; // line 102 if (twig_get_attribute($this->env, $this->source, ($context["currentUser"] ?? null), "featureEnabled", [0 => "displayprofile.view"], "method", false, false, false, 102)) { // line 103 echo " "; ob_start(function () { return ''; }); echo __("Display Profile"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 104 echo " "; echo twig_call_macro($macros["inline"], "macro_dropdown", ["displayProfileId", "single", ($context["title"] ?? null), "", twig_array_merge([0 => ["displayProfileId" => null, "name" => ""]], ($context["displayProfiles"] ?? null)), "displayProfileId", "name"], 104, $context, $this->getSourceContext()); echo " "; } // line 106 echo " "; // line 107 echo twig_call_macro($macros["inline"], "macro_hidden", ["folderId"], 107, $context, $this->getSourceContext()); echo " </div> <div class=\"tab-pane\" id=\"filter-advanced\"> "; // line 111 ob_start(function () { return ''; }); echo __("Last Accessed"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 112 echo " "; echo twig_call_macro($macros["inline"], "macro_date", ["lastAccessed", ($context["title"] ?? null)], 112, $context, $this->getSourceContext()); echo " "; // line 114 ob_start(function () { return ''; }); echo __("Player Type"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 115 echo " "; ob_start(function () { return ''; }); echo __("Android"); $context["android"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 116 echo " "; ob_start(function () { return ''; }); echo __("Windows"); $context["windows"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 117 echo " "; ob_start(function () { return ''; }); echo __("webOS"); $context["webos"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 118 echo " "; ob_start(function () { return ''; }); echo __("Tizen"); $context["sssp"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 119 echo " "; ob_start(function () { return ''; }); echo __("Linux"); $context["linux"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 120 echo " "; $context["options"] = [0 => ["optionid" => "", "option" => ""], 1 => ["optionid" => "android", "option" => // line 122 ($context["android"] ?? null)], 2 => ["optionid" => "windows", "option" => // line 123 ($context["windows"] ?? null)], 3 => ["optionid" => "lg", "option" => // line 124 ($context["webos"] ?? null)], 4 => ["optionid" => "sssp", "option" => // line 125 ($context["sssp"] ?? null)], 5 => ["optionid" => "linux", "option" => // line 126 ($context["linux"] ?? null)]]; // line 128 echo " "; echo twig_call_macro($macros["inline"], "macro_dropdown", ["clientType", "single", ($context["title"] ?? null), "", ($context["options"] ?? null), "optionid", "option"], 128, $context, $this->getSourceContext()); echo " "; // line 130 ob_start(function () { return ''; }); echo __("Player Code"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 131 echo " "; echo twig_call_macro($macros["inline"], "macro_input", ["clientCode", ($context["title"] ?? null)], 131, $context, $this->getSourceContext()); echo " "; // line 133 ob_start(function () { return ''; }); echo __("Custom ID"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 134 echo " "; echo twig_call_macro($macros["inline"], "macro_input", ["customId", ($context["title"] ?? null)], 134, $context, $this->getSourceContext()); echo " "; // line 136 ob_start(function () { return ''; }); echo __("Mac Address"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 137 echo " "; echo twig_call_macro($macros["inline"], "macro_input", ["macAddress", ($context["title"] ?? null)], 137, $context, $this->getSourceContext()); echo " "; // line 139 ob_start(function () { return ''; }); echo __("IP Address"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 140 echo " "; echo twig_call_macro($macros["inline"], "macro_input", ["clientAddress", ($context["title"] ?? null)], 140, $context, $this->getSourceContext()); echo " "; // line 142 ob_start(function () { return ''; }); echo __("Orientation"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 143 echo " "; ob_start(function () { return ''; }); echo __("Landscape"); $context["landscape"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 144 echo " "; ob_start(function () { return ''; }); echo __("Portrait"); $context["portrait"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 145 echo " "; $context["options"] = [0 => ["optionid" => "", "option" => ""], 1 => ["optionid" => "landscape", "option" => // line 147 ($context["landscape"] ?? null)], 2 => ["optionid" => "portrait", "option" => // line 148 ($context["portrait"] ?? null)]]; // line 150 echo " "; echo twig_call_macro($macros["inline"], "macro_dropdown", ["orientation", "single", ($context["title"] ?? null), "", ($context["options"] ?? null), "optionid", "option"], 150, $context, $this->getSourceContext()); echo " "; // line 152 ob_start(function () { return ''; }); echo __("Commercial Licence"); $context["title"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 153 echo " "; ob_start(function () { return ''; }); echo __("Licensed fully"); $context["licensed"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 154 echo " "; ob_start(function () { return ''; }); echo __("Trial"); $context["trial"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 155 echo " "; ob_start(function () { return ''; }); echo __("Not licenced"); $context["notLinceced"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 156 echo " "; ob_start(function () { return ''; }); echo __("Not applicable"); $context["notApplicable"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset()); // line 157 echo " "; $context["options"] = [0 => ["optionid" => "", "option" => ""], 1 => ["optionid" => "1", "option" => // line 159 ($context["licensed"] ?? null)], 2 => ["optionid" => "2", "option" => // line 160 ($context["trial"] ?? null)], 3 => ["optionid" => "0", "option" => // line 161 ($context["notLinceced"] ?? null)], 4 => ["optionid" => "3", "option" => // line 162 ($context["notApplicable"] ?? null)]]; // line 164 echo " "; echo twig_call_macro($macros["inline"], "macro_dropdown", ["commercialLicence", "single", ($context["title"] ?? null), "", ($context["options"] ?? null), "optionid", "option"], 164, $context, $this->getSourceContext()); echo " </div> </div> </form> </div> </div> <div class=\"row\"> <div class=\"col-sm-2 p-3 bg-light\" id=\"grid-folder-filter\"> <div class=\"form-check\"> <input type=\"checkbox\" class=\"form-check-input\" id=\"folder-tree-clear-selection-button\"> <label class=\"form-check-label\" for=\"folder-tree-clear-selection-button\" title=\""; // line 174 echo twig_escape_filter($this->env, __("Search in all folders"), "html", null, true); echo "\">"; echo twig_escape_filter($this->env, __("All Folders"), "html", null, true); echo "</label> </div> <div id=\"container-folder-tree\"></div> </div> <div class=\"folder-controller d-none\"> <button type=\"button\" id=\"folder-tree-select-folder-button\" class=\"btn btn-outline-secondary\" title=\""; // line 179 echo twig_escape_filter($this->env, __("Open / Close Folder Search options"), "html", null, true); echo "\"><i class=\"fas fa-folder fa-1x\"></i></button> <div id=\"breadcrumbs\" class=\"mt-2 pl-2\"></div> </div> <div class=\"map-controller d-none pl-1\"> <button type=\"button\" id=\"map_button\" class=\"btn btn-primary\" title=\""; // line 183 echo twig_escape_filter($this->env, __("Map"), "html", null, true); echo "\"><i class=\"fa fa-map\"></i></button> </div> <div class=\"list-controller d-none pl-1\"> <button type=\"button\" id=\"list_button\" class=\"btn btn-primary\" title=\""; // line 186 echo twig_escape_filter($this->env, __("List"), "html", null, true); echo "\"><i class=\"fa fa-list\"></i></button> </div> <div id=\"datatable-container\" class=\"card col-sm-10 pt-4 px-2\"> <div class=\"XiboData\"> <table id=\"displays\" class=\"table table-striped\" data-content-type=\"display\" data-content-id-name=\"displayId\" data-state-preference-name=\"displayGrid\" style=\"width: 100%;\"> <thead> <tr> <th>"; // line 194 echo __("ID"); echo "</th> <th>"; // line 195 echo __("Display"); echo "</th> <th>"; // line 196 echo __("Display Type"); echo "</th> <th>"; // line 197 echo __("Address"); echo "</th> <th>"; // line 198 echo __("Status"); echo "</th> <th>"; // line 199 echo __("Authorised?"); echo "</th> <th>"; // line 200 echo __("Current Layout"); echo "</th> <th>"; // line 201 echo __("Storage Available"); echo "</th> <th>"; // line 202 echo __("Storage Total"); echo "</th> <th>"; // line 203 echo __("Storage Free %"); echo "</th> <th>"; // line 204 echo __("Description"); echo "</th> <th>"; // line 205 echo __("Orientation"); echo "</th> <th>"; // line 206 echo __("Resolution"); echo "</th> "; // line 207 if (twig_get_attribute($this->env, $this->source, ($context["currentUser"] ?? null), "featureEnabled", [0 => "tag.tagging"], "method", false, false, false, 207)) { echo "<th>"; echo __("Tags"); echo "</th>"; } // line 208 echo " <th>"; echo __("Default Layout"); echo "</th> <th>"; // line 209 echo __("Interleave Default"); echo "</th> <th>"; // line 210 echo __("Email Alert"); echo "</th> <th>"; // line 211 echo __("Logged In"); echo "</th> <th>"; // line 212 echo __("Last Accessed"); echo "</th> <th>"; // line 213 echo __("Display Profile"); echo "</th> <th>"; // line 214 echo __("Version"); echo "</th> <th>"; // line 215 echo __("Device Name"); echo "</th> <th>"; // line 216 echo __("IP Address"); echo "</th> <th>"; // line 217 echo __("Mac Address"); echo "</th> <th>"; // line 218 echo __("Timezone"); echo "</th> <th>"; // line 219 echo __("Languages"); echo "</th> <th>"; // line 220 echo __("Latitude"); echo "</th> <th>"; // line 221 echo __("Longitude"); echo "</th> <th>"; // line 222 echo __("Screen shot?"); echo "</th> <th>"; // line 223 echo __("Thumbnail"); echo "</th> <th>"; // line 224 echo __("CMS Transfer?"); echo "</th> <th>"; // line 225 echo __("Bandwidth Limit"); echo "</th> <th>"; // line 226 echo __("Last Command"); echo "</th> <th>"; // line 227 echo __("XMR Registered"); echo "</th> <th>"; // line 228 echo __("Commercial Licence"); echo "</th> <th>"; // line 229 echo __("Remote"); echo "</th> <th>"; // line 230 echo __("Sharing"); echo "</th> <th>"; // line 231 echo __("Screen Size"); echo "</th> <th>"; // line 232 echo __("Is Mobile?"); echo "</th> <th>"; // line 233 echo __("Outdoor?"); echo "</th> <th>"; // line 234 echo __("Reference 1"); echo "</th> <th>"; // line 235 echo __("Reference 2"); echo "</th> <th>"; // line 236 echo __("Reference 3"); echo "</th> <th>"; // line 237 echo __("Reference 4"); echo "</th> <th>"; // line 238 echo __("Reference 5"); echo "</th> <th>"; // line 239 echo __("Custom ID"); echo "</th> <th>"; // line 240 echo __("Cost Per Play"); echo "</th> <th>"; // line 241 echo __("Impressions Per Play"); echo "</th> <th>"; // line 242 echo __("Created Date"); echo "</th> <th>"; // line 243 echo __("Modified Date"); echo "</th> <th>"; // line 244 echo __("Faults?"); echo "</th> <th class=\"rowMenu\"></th> </tr> </thead> <tbody> </tbody> </table> <!-- Map --> <div class=\"row\"> <div class=\"col-sm-12\"> <div class=\"map-legend\" style=\"display:none; position: absolute; z-index: 500; right: 20px; top: 10px;\"> <div class=\"display-map-legend\" style=\"font-size: 12px;\"> <div>Logged in</div> <div><img style=\"width: 15%\" src='"; // line 259 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 259), "html", null, true); echo "dist/assets/map-marker-green-check.png'/> - Up to date</div> <div><img style=\"width: 15%\" src='"; // line 260 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 260), "html", null, true); echo "dist/assets/map-marker-yellow-check.png'/> - Out of date</div> <div><img style=\"width: 15%\" src='"; // line 261 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 261), "html", null, true); echo "dist/assets/map-marker-red-check.png'/> - Downloading/Unknown</div> </br> <div>Logged out</div> <div><img style=\"width: 15%\" src='"; // line 264 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 264), "html", null, true); echo "dist/assets/map-marker-green-cross.png'/> - Up to date</div> <div><img style=\"width: 15%\" src='"; // line 265 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 265), "html", null, true); echo "dist/assets/map-marker-yellow-cross.png'/> - Out of date</div> <div><img style=\"width: 15%\" src='"; // line 266 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 266), "html", null, true); echo "dist/assets/map-marker-red-cross.png'/> - Downloading/Unknown</div> </div> </div> <div id=\"display-map\" data-displays-url=\""; // line 269 echo twig_escape_filter($this->env, $this->env->getRuntime('Slim\Views\TwigRuntimeExtension')->urlFor("display.map"), "html", null, true); echo "\"> </div> </div> </div> </div> </div> </div> </div> </div> </div> "; } // line 281 public function block_javaScript($context, array $blocks = []) { $macros = $this->macros; // line 282 echo " <script type=\"text/javascript\"> var mapConfig = "; // line 283 echo json_encode(($context["mapConfig"] ?? null)); echo "; "; // line 285 if ( !twig_get_attribute($this->env, $this->source, ($context["currentUser"] ?? null), "featureEnabled", [0 => "folder.view"], "method", false, false, false, 285)) { // line 286 echo " disableFolders(); "; } // line 288 echo " \$(document).ready(function() { var table = \$(\"#displays\").DataTable({ \"language\": dataTablesLanguage, dom: dataTablesTemplate, serverSide: true, stateSave: true, stateDuration: 0, responsive: true, stateLoadCallback: dataTableStateLoadCallback, stateSaveCallback: dataTableStateSaveCallback, filter: false, searchDelay: 3000, order: [[1, \"asc\"]], ajax: { \"url\": \""; // line 304 echo twig_escape_filter($this->env, $this->env->getRuntime('Slim\Views\TwigRuntimeExtension')->urlFor("display.search"), "html", null, true); echo "\", \"data\": function (dataToSend) { //make a new object so as not to destroy the input. var data = {}; data.draw = dataToSend.draw; data.length = dataToSend.length; data.start = dataToSend.start; data.order = dataToSend.order; data.columns = []; \$.each(dataToSend.columns, function (index, e) { var col = {}; col.data = e.data; if (e.name != null && e.name != \"\") col.name = e.name; data.columns.push(col); }); \$.extend(data, \$(\"#displays\").closest(\".XiboGrid\").find(\".FilterDiv form\").serializeObject()); return data; } }, createdRow: function (row, data, index) { if (data.mediaInventoryStatus === 1) { \$(row).addClass('table-success'); } else if (data.mediaInventoryStatus === 2) { \$(row).addClass('table-danger'); } else { \$(row).addClass('table-warning'); } }, \"columns\": [ {\"data\": \"displayId\", responsivePriority: 2}, {\"data\": \"display\", responsivePriority: 2}, {\"data\": \"displayType\", responsivePriority: 2}, {\"data\": \"address\", \"visible\": false, responsivePriority: 5}, { \"data\": \"mediaInventoryStatus\", responsivePriority: 2, \"render\": function (data, type, row) { if (type != \"display\") return data; var icon = \"\"; if (data == 1) icon = \"fa-check\"; else if (data == 2) icon = \"fa-times\"; else icon = \"fa-cloud-download\"; return '<span class=\"fa ' + icon + '\" title=\"' + (row.statusDescription) + '\"></span>'; } }, {\"data\": \"licensed\", \"render\": dataTableTickCrossColumn, responsivePriority: 3}, {\"data\": \"currentLayout\", \"visible\": false, \"sortable\": false, responsivePriority: 5}, { \"data\": \"storageAvailableSpace\", responsivePriority: 5, \"visible\": false, \"render\": function (data, type, row) { if (type != \"display\" && type != \"export\") { return data; } return row.storageAvailableSpaceFormatted; } }, { \"data\": \"storageTotalSpace\", responsivePriority: 5, \"visible\": false, \"render\": function (data, type, row) { if (type != \"display\" && type != \"export\") { return data; } return row.storageTotalSpaceFormatted; } }, {\"data\": \"storagePercentage\", \"visible\": false, \"sortable\": false, responsivePriority: 5}, {\"data\": \"description\", \"visible\": false, responsivePriority: 4}, {\"data\": \"orientation\", \"visible\": false, responsivePriority: 6}, {\"data\": \"resolution\", \"visible\": false, responsivePriority: 6}, "; // line 389 if (twig_get_attribute($this->env, $this->source, ($context["currentUser"] ?? null), "featureEnabled", [0 => "tag.tagging"], "method", false, false, false, 389)) { // line 390 echo " { \"name\": \"tags\", responsivePriority: 3, \"sortable\": false, \"visible\": false, \"data\": dataTableCreateTags }, "; } // line 398 echo " {\"data\": \"defaultLayout\", \"visible\": false, responsivePriority: 4}, {\"data\": \"incSchedule\", \"render\": dataTableTickCrossColumn, \"visible\": false, responsivePriority: 5}, {\"data\": \"emailAlert\", \"render\": dataTableTickCrossColumn, \"visible\": false, responsivePriority: 5}, {\"data\": \"loggedIn\", \"render\": dataTableTickCrossColumn, responsivePriority: 3}, {\"data\": \"lastAccessed\", \"render\": dataTableDateFromUnix, responsivePriority: 4}, { \"name\": \"displayProfileId\", responsivePriority: 5, \"data\": function (data, type) { return data.displayProfile; }, \"visible\": false }, { \"name\": \"clientSort\", responsivePriority: 4, \"data\": function (data) { if (data.clientType === 'lg') { data.clientType = 'webOS' } return data.clientType + ' ' + data.clientVersion + '-' + data.clientCode; }, \"visible\": false }, {\"data\": \"deviceName\", \"visible\": false, responsivePriority: 5}, {\"data\": \"clientAddress\", \"visible\": false, responsivePriority: 6}, {\"data\": \"macAddress\", responsivePriority: 5}, {\"data\": \"timeZone\", \"visible\": false, responsivePriority: 5}, { \"data\": \"languages\", \"visible\": false, \"responsivePriority\": 5, \"render\": function(data, type) { if (type !== \"display\") return data; let returnData = ''; if (typeof data !== undefined && data != null) { let arrayOfTags = data.split(','); returnData += '<div class=\"permissionsDiv\">'; for (let i = 0; i < arrayOfTags.length; i++) { let name = arrayOfTags[i]; if (name !== '') { returnData += '<li class=\"badge\">' + name + '</span></li>' } } returnData += '</div>'; } return returnData; } }, {\"data\": \"latitude\", \"visible\": false, responsivePriority: 6}, {\"data\": \"longitude\", \"visible\": false, responsivePriority: 6}, {\"data\": \"screenShotRequested\", \"render\": dataTableTickCrossColumn, \"visible\": false, \"name\": \"screenShotRequested\", responsivePriority: 7}, { \"name\": \"thumbnail\", responsivePriority: 4, \"orderable\": false, \"data\": function (data, type) { if (type != \"display\") return data.thumbnail; if (data.thumbnail != \"\") { return '<a class=\"display-screenshot-container\" data-toggle=\"lightbox\" data-type=\"image\" href=\"' + data.thumbnail + '\"><img class=\"display-screenshot\" src=\"' + data.thumbnail + '\" data-display-id=\"'+ data.displayId +'\" data-type=\"'+ data.clientType +'\" /></a>'; } else { return \"\"; } }, \"visible\": false }, { \"data\": \"isCmsTransferInProgress\", \"render\": dataTableTickCrossColumn, \"visible\": false, \"name\": \"isCmsTransferInProgress\" }, { \"name\": \"bandwidthLimit\", responsivePriority: 5, \"data\": null, \"render\": {\"_\": \"bandwidthLimit\", \"display\": \"bandwidthLimitFormatted\", \"sort\": \"bandwidthLimit\"}, \"visible\": false }, { \"data\": \"lastCommandSuccess\", responsivePriority: 6, \"render\": function (data, type, row) { if (type != \"display\") return data; var icon = \"\"; if (data == 1) icon = \"fa-check\"; else if (data == 0) icon = \"fa-times\"; else icon = \"fa-question\"; return \"<span class='fa \" + icon + \"'></span>\"; }, \"visible\": false }, { \"data\": \"xmrChannel\", responsivePriority: 6, \"render\": function (data, type, row) { if (type === \"export\") { return (data !== null && data !== \"\") ? 1 : 0; } if (type != \"display\") return data; var icon = \"\"; if (data != null && data != \"\") icon = \"fa-check\"; else icon = \"fa-times\"; return \"<span class='fa \" + icon + \"'></span>\"; }, \"visible\": false }, { \"data\": \"commercialLicence\", \"name\": \"commercialLicence\", responsivePriority: 5, \"render\": function (data, type, row) { if (type != \"display\") return data; var icon = \"\"; if (data == 3) { return \"N/A\"; } else { if (data == 1) { icon = \"fa-check\"; } else if (data == 0) { icon = \"fa-times\"; } else if (data == 2) { icon = \"fa-clock-o\"; } return '<span class=\"fa ' + icon + '\" title=\"' + (row.commercialLicenceDescription) + '\"></span>'; } }, \"visible\": false }, { \"name\": \"remote\", \"data\": null, responsivePriority: 4, \"render\": function (data, type, row) { if (type === \"display\") { var html = \"<div class='remote-icons'>\"; if (\""; // line 556 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["settings"] ?? null), "SHOW_DISPLAY_AS_VNCLINK", [], "any", false, false, false, 556), "html", null, true); echo "\" !== \"\" && row.clientAddress != null && row.clientAddress !== \"\") { var link = \""; // line 557 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["settings"] ?? null), "SHOW_DISPLAY_AS_VNCLINK", [], "any", false, false, false, 557), "html", null, true); echo "\".replace('%s', row.clientAddress); html += '<a href=\"' + link + '\" title=\""; // line 558 echo twig_escape_filter($this->env, __("VNC to this Display"), "html", null, true); echo "\" target=\""; echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["settings"] ?? null), "SHOW_DISPLAY_AS_VNC_TGT", [], "any", false, false, false, 558), "html", null, true); echo "\">' + '<i class=\"fa fa-eye\"></i></a>'; } if (row.teamViewerLink !== \"\") { html += '<a href=\"' + row.teamViewerLink + '\" title=\""; // line 563 echo twig_escape_filter($this->env, __("TeamViewer to this Display"), "html", null, true); echo "\" target=\"_blank\">' + '<img src=\""; // line 564 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 564), "html", null, true); echo "theme/default/img/remote_icons/teamviewer.png\" alt=\"TeamViewer Icon\"></a>'; } if (row.webkeyLink !== \"\") { html += '<a href=\"' + row.webkeyLink + '\" title=\""; // line 568 echo twig_escape_filter($this->env, __("Webkey to this Display"), "html", null, true); echo "\" target=\"_blank\">' + '<img src=\""; // line 569 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 569), "html", null, true); echo "theme/default/img/remote_icons/webkey.png\" alt=\"Webkey Icon\"></a>'; } return html + \"</div>\"; } else if (type === \"export\") { if (row.teamViewerLink !== \"\") { return \"TeamViewer: \" + row.teamViewerLink; } if (row.webkeyLink !== \"\") { return \"Webkey: \" + row.webkeyLink; } if (row.teamViewerLink === \"\" && row.webkeyLink === \"\") { return \"\"; } } else { return \"\"; } }, \"visible\": true, \"orderable\": false }, { \"data\": \"groupsWithPermissions\", visible: false, responsivePriority: 10, \"render\": dataTableCreatePermissions }, {\"data\": \"screenSize\", \"visible\": false, responsivePriority: 6}, { \"data\": \"isMobile\", \"render\": dataTableTickCrossColumn, \"visible\": false, \"name\": \"isMobile\" }, { \"data\": \"isOutdoor\", \"render\": dataTableTickCrossColumn, \"visible\": false, \"name\": \"isOutdoor\" }, {\"data\": \"ref1\", \"visible\": false, responsivePriority: 6}, {\"data\": \"ref2\", \"visible\": false, responsivePriority: 6}, {\"data\": \"ref3\", \"visible\": false, responsivePriority: 6}, {\"data\": \"ref4\", \"visible\": false, responsivePriority: 6}, {\"data\": \"ref5\", \"visible\": false, responsivePriority: 6}, {\"data\": \"customId\", \"visible\": false, responsivePriority: 6}, {\"data\": \"costPerPlay\", \"visible\": false, responsivePriority: 6}, {\"data\": \"impressionsPerPlay\", \"visible\": false, responsivePriority: 6}, {\"data\": \"createdDt\", \"visible\": false, responsivePriority: 6}, {\"data\": \"modifiedDt\", \"visible\": false, responsivePriority: 6}, { \"data\": \"countFaults\", \"name\": \"countFaults\", responsivePriority: 3, \"render\": function (data, type, row) { if (row.clientCode < 300) { return ''; } if (type !== \"display\") { return data; } if (data > 0) { return '<span class=\"badge\" style=\"background-color: red; color: white\">'+(row.countFaults)+'</span>'; } else { return ''; } } }, { \"orderable\": false, responsivePriority: 1, \"data\": dataTableButtonsColumn } ] }); table.on('draw', function(e, settings) { dataTableDraw(e, settings, function() { var target = \$(\"#\" + e.target.id); var \$mapController = target.closest(\".XiboGrid\").find('.map-controller'); var \$listController = target.closest(\".XiboGrid\").find('.list-controller'); // Move and show map button inside of the table container if (\$mapController.length > 0 && target.closest(\".dataTables_wrapper\").find('.dataTables_folder .map-controller').length == 0) { \$mapController.appendTo('.dataTables_folder'); \$mapController.removeClass('d-none').addClass('d-inline-flex'); } // Move and show list button inside of the table container if (\$listController.length > 0 && target.closest(\".dataTables_wrapper\").find('.dataTables_folder .list-controller').length == 0) { \$listController.appendTo('.dataTables_folder'); \$listController.removeClass('d-none').addClass('d-inline-flex'); } }) }); table.on('draw', { form: \$(\"#displays\").closest(\".XiboGrid\").find(\".FilterDiv form\") }, dataTableCreateTagEvents); table.on('processing.dt', dataTableProcessing); dataTableAddButtons(table, \$('#displays_wrapper').find('.dataTables_buttons')); \$(\"#refreshGrid\").click(function () { table.ajax.reload(); }); // Detect the dimensions of our container and set to match. const \$displayMap = \$('#display-map'); const \$mapBtn = \$('#map_button'); const \$listBtn = \$('#list_button'); const \$mapParent = \$displayMap.parent(); const \$dataTablesFolder = \$('.dataTables_folder'); \$listBtn.hide(); let map; // Wait until we have a width and height. setTimeout(initializeMap, 1000); // Map resizing when folder is toggled window.refreshDisplayMap = function () { if (map) { map.invalidateSize(); } } // Initialise and build map function initializeMap() { \$displayMap.width(\$mapParent.width() - 10); \$displayMap.height(\$(window).height() - 100); // Calling map map = L.map('display-map', { center: [mapConfig.setArea.lat, mapConfig.setArea.long], zoom: mapConfig.setArea.zoom }); let tiles = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a>' }).addTo(map); // Print button L.easyPrint({ tileLayer: tiles, sizeModes: ['Current', 'A4Landscape', 'A4Portrait'], filename: 'Displays on Map', hideControlContainer: true }).addTo(map); var markers = L.markerClusterGroup(); let bounds; bounds = map.getBounds().toBBoxString(); map.on(\"moveend\", _.debounce(function() { bounds = map.getBounds().toBBoxString(); getPoints(false); }, 500)); map.on(\"resize\", function() { map.invalidateSize(); }); // Get points getPoints(false); // Bind the filter form \$('.XiboGrid').find(\".XiboFilter form input\").on(\"keyup\", getPoints); \$('.XiboGrid').find(\".XiboFilter form input, .XiboFilter form select\").on(\"change\", getPoints); var added = []; /** * Gets Displays. */ function getPoints(clear = true) { if (clear) { markers.clearLayers(); added = []; // console.log('Clear Layer'); } // Make an ajax request for the displays \$.ajax(\$displayMap.data('displaysUrl'), { method: 'GET', data: \$('.XiboGrid').find(\".XiboFilter form\").serialize() + '&bounds=' + bounds, success: function(response) { // displays if (response.features.length > 0) { let uptoDateLoggedInIcon = L.icon({ iconUrl: '"; // line 766 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 766), "html", null, true); echo "dist/assets/map-marker-green-check.png', iconRetinaUrl: '"; // line 767 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 767), "html", null, true); echo "dist/assets/map-marker-green-check-2x.png', iconSize: [24, 40], iconAnchor: [12, 40] }); let uptoDateLoggedOutIcon = L.icon({ iconUrl: '"; // line 772 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 772), "html", null, true); echo "dist/assets/map-marker-green-cross.png', iconRetinaUrl: '"; // line 773 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 773), "html", null, true); echo "dist/assets/map-marker-green-cross-2x.png', iconSize: [24, 40], iconAnchor: [12, 40] }); let outOfDateLoggedInIcon = L.icon({ iconUrl: '"; // line 778 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 778), "html", null, true); echo "dist/assets/map-marker-yellow-check.png', iconRetinaUrl: '"; // line 779 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 779), "html", null, true); echo "dist/assets/map-marker-yellow-check-2x.png', iconSize: [24, 40], iconAnchor: [12, 40] }); let outOfDateLoggedOutIcon = L.icon({ iconUrl: '"; // line 784 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 784), "html", null, true); echo "dist/assets/map-marker-yellow-cross.png', iconRetinaUrl: '"; // line 785 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 785), "html", null, true); echo "dist/assets/map-marker-yellow-cross-2x.png', iconSize: [24, 40], iconAnchor: [12, 40] }); let downloadingLoggedInIcon = L.icon({ iconUrl: '"; // line 790 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 790), "html", null, true); echo "dist/assets/map-marker-red-check.png', iconRetinaUrl: '"; // line 791 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 791), "html", null, true); echo "dist/assets/map-marker-red-check-2x.png', iconSize: [24, 40], iconAnchor: [12, 40] }); let downloadingLoggedOutIcon = L.icon({ iconUrl: '"; // line 796 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 796), "html", null, true); echo "dist/assets/map-marker-red-cross.png', iconRetinaUrl: '"; // line 797 echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["theme"] ?? null), "rootUri", [], "method", false, false, false, 797), "html", null, true); echo "dist/assets/map-marker-red-cross-2x.png', iconSize: [24, 40], iconAnchor: [12, 40] }); let feature = L.geoJSON(response, { pointToLayer: function (feature, latlng) { let icon; if (feature.properties.mediaInventoryStatus === 1) { if (feature.properties.loggedIn) { icon = uptoDateLoggedInIcon; } else { icon = uptoDateLoggedOutIcon; } } else if (feature.properties.mediaInventoryStatus === 3) { if (feature.properties.loggedIn) { icon = outOfDateLoggedInIcon; } else { icon = outOfDateLoggedOutIcon; } } else { if (feature.properties.loggedIn) { icon = downloadingLoggedInIcon; } else { icon = downloadingLoggedOutIcon; } } let options = { icon: icon }; let popup = '<strong>' + feature.properties.display + '</strong>'; if (feature.properties.orientation) { popup += '<br/><div style=\"width: 180px;\"><span>Orientation: ' + feature.properties.orientation + '</span></div>'; } if (feature.properties.status) { popup += '<div style=\"width: 180px;\"><span>Status: ' + feature.properties.status + '</span>'; if (feature.properties.loggedIn) { popup += '<span> (Logged in) </span></div>'; } else { popup += '<span> (Not logged in) </span></div>'; } } if (feature.properties.displayProfile) { popup += '<div style=\"width: 180px;\"><span>Display profile: ' + feature.properties.displayProfile + '</span></div>'; } if (feature.properties.resolution) { popup += '<div style=\"width: 180px;\"><span>Resolution: ' + feature.properties.resolution + '</span></div>'; } if (feature.properties.lastAccessed) { let lastAccessed = moment(feature.properties.lastAccessed, \"X\").tz ? moment(feature.properties.lastAccessed, \"X\").tz(timezone).format(jsDateFormat) : moment(feature.properties.lastAccessed, \"X\").format(jsDateFormat); popup += '<div style=\"width: 180px;\"><span>Last accessed: ' + lastAccessed + '</span></div>'; } if (feature.properties.thumbnail) { popup += '<div style=\"width: 180px;\"><img class=\"display-screenshot\" src=\"' + feature.properties.thumbnail + '\" /></div>'; } if (!added.includes(feature.properties.displayId)) { // Cache displayId added.push(feature.properties.displayId); return L.marker(latlng, options) .bindPopup(popup) .openPopup() .addTo(markers); } }, }); } } }); markers.addTo(map); } // Hide map/ Show Display List \$displayMap.hide(); } \$mapBtn.click(function () { \$('.map-legend').show() \$displayMap.show(); \$mapBtn.hide(); \$listBtn.show(); \$dataTablesFolder.siblings().hide(); \$dataTablesFolder.parent().siblings().hide(); }); \$listBtn.click(function () { \$('.map-legend').hide(); \$displayMap.hide(); \$listBtn.hide(); \$mapBtn.show(); \$dataTablesFolder.siblings().show(); \$dataTablesFolder.parent().siblings().show(); }); }); "; // line 901 $context["showThumbnailColumn"] = twig_get_attribute($this->env, $this->source, ($context["currentUser"] ?? null), "getOptionValue", [0 => "showThumbnailColumn", 1 => 1], "method", false, false, false, 901); // line 902 echo " function displayRequestScreenshotFormSubmit() { \$(\"#displayRequestScreenshotForm\").submit(); XiboDialogClose(); "; // line 907 if ((0 === twig_compare(($context["showThumbnailColumn"] ?? null), 1))) { // line 908 echo " var table = \$('#displays').DataTable(); if (!table.column([\"thumbnail:name\"]).visible()) { table.columns([\"screenShotRequested:name\", \"thumbnail:name\"]).visible(true); } "; } // line 913 echo " } function setDefaultMultiSelectFormOpen(dialog) { console.log('Multi-select form opened for default layout'); // Inject a list of layouts into the form, in a drop down. var \$select = \$('<select name=\"layoutId\" class=\"form-control\" data-search-url=\""; // line 920 echo twig_escape_filter($this->env, $this->env->getRuntime('Slim\Views\TwigRuntimeExtension')->urlFor("layout.search"), "html", null, true); echo "\" data-search-term=\"layout\" data-search-term-tags=\"tags\" data-id-property=\"layoutId\" data-text-property=\"layout\">'); \$select.on('change', function() { console.log('Setting commit data to ' + \$(this).val()); dialog.data().commitData = {layoutId: \$(this).val()}; }); // Add the list to the body. \$(dialog).find('.modal-body').append(\$select); makePagedSelect(\$select, dialog); } function displayFormLicenceCheckSubmit(form) { // Display commercial licence table column \$('table#displays').DataTable().column('commercialLicence:name').visible(true); // Submit form form.submit(); } function setMoveCmsMultiSelectFormOpen(dialog) { console.log('Multi-select form opened for move CMS'); var \$message = \$( '<div class=\"col-sm-12 alert alert-info\">' + \"<p>"; // line 945 echo twig_escape_filter($this->env, __("Please note: Once the CMS Address and Key are authenticated in this form the Display will attempt to register with the CMS Instance details entered. Once transferred the Display will stop communicating with this CMS Instance."), "html", null, true); echo "</p>\" + '</div>' ); \$(dialog).find('.modal-body').append(\$message); var \$cmsAddress = \$( '<div class=\"form-group row\">' + '<label class=\"col-sm-2 control-label\" for=\"newCmsAddress\" accesskey=\"\">New CMS Address</label>' + '<div class=\"col-sm-10\">' + '<input class=\"form-control\" name=\"newCmsAddress\" type=\"text\" id=\"newCmsAddress\" value=\"\">' + '<span class=\"help-block\">"; // line 956 echo twig_escape_filter($this->env, __("Full URL to the new CMS, including https:// "), "html", null, true); echo "</span>' + '</div>' + '</div>' ); var \$cmsKey = \$( '<div class=\"form-group row\">' + '<label class=\"col-sm-2 control-label\" for=\"newCmsKey\" accesskey=\"\">New CMS Key</label>' + '<div class=\"col-sm-10\">' + '<input class=\"form-control\" name=\"newCmsKey\" type=\"text\" id=\"newCmsKey\" value=\"\">' + '<span class=\"help-block\">"; // line 966 echo twig_escape_filter($this->env, __("CMS Secret Key associated with the provided new CMS Address"), "html", null, true); echo "</span>' + '</div>' + '</div>' ); var \$authenticationCode = \$( '<div class=\"form-group row\">' + '<label class=\"col-sm-2 control-label\" for=\"twoFactorCode\" accesskey=\"\">Two Factor Code</label>' + '<div class=\"col-sm-10\">' + '<input class=\"form-control\" name=\"twoFactorCode\" type=\"text\" id=\"twoFactorCode\" value=\"\">' + '<span class=\"help-block\">"; // line 976 echo twig_escape_filter($this->env, __("Please enter your Two Factor authentication code"), "html", null, true); echo "</span>' + '</div>' + '</div>' ); \$(dialog).find('.modal-body').append(\$cmsAddress, \$cmsKey, \$authenticationCode); \$('#twoFactorCode, #newCmsAddress, #newCmsKey').on('change', function() { dialog.data().commitData = { newCmsAddress: \$('#newCmsAddress').val(), newCmsKey: \$('#newCmsKey').val(), twoFactorCode: \$('#twoFactorCode').val() }; }); } function makeVenueSelect(\$element) { // Get the openOOH venue types \$element.append(new Option('', '0', false, false)); \$.ajax({ method: 'GET', url: \$element.data('searchUrl'), dataType: 'json', success: function(response) { \$.each(response.data, function(key, el) { const selected = el.venueId === \$element.data('venueId'); \$element.append(new Option(el.venueName, el.venueId, selected, selected)); }); \$element.select2(); }, error: function(xhr) { SystemMessage(xhr.message || '"; // line 1009 echo twig_escape_filter($this->env, __("Unknown error"), "html", null, true); echo "', false); } }); } function displayEditFormOpen(dialog) { // Setup display profile form displayProfileFormOpen(); XiboInitialise('#settings-from-display-profile'); var \$settings = \$(dialog).find('#settings-from-display-profile').find('.form-group'); var \$table = \$(dialog).find('#settings-from-profile tbody').empty(); var override = \$(dialog).data('extra'); var \$venueIdSelect2 = \$(dialog).find(\".venue-select select.form-control\"); if (\$venueIdSelect2.data('initialValue')) { \$venueIdSelect2.data('initialised', true); makeVenueSelect(\$venueIdSelect2); } else { dialog.find('a[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) { const activeTab = \$(e.target).attr('href') if (activeTab === '#location' && !\$venueIdSelect2.data('initialised')) { \$venueIdSelect2.data('initialised', true); makeVenueSelect(\$venueIdSelect2); } }); } // Parse special fields override.forEach(function(field, index) { if(['lockOptions','pictureOptions', 'timers'].includes(field.name)) { var parsedValues = JSON.parse(field.value); // Add values to the override array \$.each(parsedValues, function(name, value){ if(name == 'keylock') { \$.each(value, function(keylockName, keylockValue){ if(keylockName == 'local') { keylockName = 'keylockLocal'; } if(keylockName == 'remote') { keylockName = 'keylockRemote'; } override.push({name: keylockName, value: keylockValue}) }); } // Convert boolean and numbers to string value = (['boolean','number'].includes(typeof value)) ? value.toString() : value; override.push({name: name, value: value}) }); } }); // Method to create a new input field based on the hidden form var createInputField = function(target, inputName, newValue = null) { var select2FixFlag = false; var timepickerFixFlag = false; var timepickerOptionsFixFlag = false; var sliderFixFlag = false; var sliderFixOptions = {}; // Grab input field from hidden table var \$inputFields = \$settings.find('#' + inputName); // If no input field is capture by ID, get special fields if(\$inputFields.length == 0) { if( \$settings.find('.multiSelect').length > 0) { // Copy special fields ( timers, pictureOptions ) by selected option \$inputFields = \$settings.find('.multiSelect option:selected[value=\"' + inputName + '\"]').parents('.form-group:first').find('.multiSelect, .multiSelectInputs'); \$inputFields.each(function(key, el) { if(\$(el).find('.timePickerDisplayEditForm').length > 0) { timepickerOptionsFixFlag = true; \$(el).find('.input-group.timerInit').removeClass('timerInit'); destroyDatePicker(\$(el).find('.timePickerDisplayEditForm:not(.datePickerHelper)')); } else if(\$(el).find('.pictureControlsSlider').length > 0) { sliderFixFlag = true; sliderFixOptions = \$(el).find('.pictureControlsSlider').bootstrapSlider('getAttribute'); \$(el).find('.pictureControlsSlider').bootstrapSlider('destroy'); } }); } } else if(\$inputFields.length == 1 && \$inputFields.hasClass('timePicker')) { timepickerFixFlag = true; destroyDatePicker(\$inputFields); // Time inputs \$inputFields = \$inputFields.parent(); } else if(\$inputFields.length == 1 && \$inputFields.hasClass('select2-hidden-accessible')) { select2FixFlag = true; // Destroy select2 before copying \$inputFields.select2('destroy'); } // Save old field before cloning \$inputFieldsOld = \$inputFields; // Clone input fields ( to be able to reuse the originals ) \$inputFields = \$inputFields.clone(true); if(select2FixFlag) { // Restore old field to a select2 makePagedSelect(\$inputFieldsOld); } // Add input field to the target \$(target).html(\$inputFields); if(timepickerFixFlag) { XiboInitialise('#' + \$inputFieldsOld.parents('form').attr('id')); XiboInitialise('#' + \$(target).parents('form').attr('id')); } if(timepickerOptionsFixFlag) { timersFormInit(\$inputFieldsOld); timersFormInit(\$(target)); // Parent container var \$inputParent = \$inputFields.parent() \$inputParent.addClass('timerOverride'); \$inputParent.find('.date-clear-button').remove(); \$inputParent.append('<div class=\"text-muted\">"; // line 1136 echo twig_escape_filter($this->env, __("Adjust the times of this timer. To add or remove a day, use the Display Profile."), "html", null, true); echo "</div>'); } if(sliderFixFlag) { \$inputFieldsOld.find('.pictureControlsSlider').bootstrapSlider(sliderFixOptions); \$inputFields.find('.pictureControlsSlider').bootstrapSlider(sliderFixOptions); } // Set value if defined if(newValue != null) { if(\$(target).find('.multiSelectInputs .pictureControlsSlider').length > 0) { // SLIDER if(!\$.isNumeric(newValue)) { // If value is a label, get index \$(target).find('.multiSelectInputs .slider-tick-label').each(function(idx, el) { if(\$(el).html() == newValue) { newValue = idx; return false; } }); } // Set value \$(target).find('.pictureControlsSlider').bootstrapSlider('setValue', newValue); } else if(\$inputFields.attr('type') == 'checkbox') { // CHECKBOX \$(\$inputFields).prop('checked', newValue); } else if(timepickerFixFlag) { \$(\$inputFields).find('input').val(newValue); } else if(timepickerOptionsFixFlag) { \$.each(newValue, function(name, value){ if(name == 'on') { \$(\$inputFields).find('input.timersOn').val(value); } else if(name == 'off') { \$(\$inputFields).find('input.timersOff').val(value); } }) } else { \$(\$inputFields).val(newValue); } } // Reload select 2 with new value if(select2FixFlag) { // Restore select2 after value set makePagedSelect(\$inputFields); } // Android dimensions init if(inputName == 'screenDimensions') { setAndroidDimensions(\$(target)); // CSS fix \$(target).find('.androidDimensionInput').removeClass('col-3').addClass('col-6'); } // If there's a multiselect, set the value of the dropdown ( it's not kept on cloning ) and hide it \$(target).find('.multiSelect').val(inputName).hide(); // Style multi selects if(\$(target).find('.multiSelectInputs').length > 0) { // Calculate column size for bootstrap var colSize = Math.round(12/\$(target).find('.multiSelectInputs').length); //Remove all style classes and add the new size class \$(target).find('.multiSelectInputs').attr('class', 'multiSelectInputs col-sm-' + colSize) } // Set data propeties \$(target).attr('data-editing', 'true'); \$(target).attr('data-input-name', inputName); // Remove click to edit event \$(target).unbind('click'); // Fixes for slider \$(target).find('.slider').addClass('scaled-slider'); \$(target).find('.pictureControlsSlider').bootstrapSlider('refresh', { useCurrentValue: true }); // Add help text if exists on label let inputHelpText = \$(target).parent('tr').find('td:first strong').attr('title'); if(inputHelpText) { \$(target).append('<div class=\"text-muted\">' + inputHelpText + '</div>'); } var \$newButton = \$('<button class=\"btn btn-outline-danger btn-sm pull-right button-close-override\" type=\"button\"><i class=\"fa fa-times\"></i></button>').click(function (e) { e.stopPropagation(); restoreInputField(target, inputName); }); \$(target).append(\$newButton); }; // Method to restore the input field to the edit button var restoreInputField = function(target, inputName) { \$(target).html('<button class=\"btn btn-block btn-outline-secondary\" type=\"button\"><i class=\"fa fa-edit\"></i></button>'); // Handlers for field edit \$(target).off().click(function() { if(!\$(this).data('editing')) { createInputField(\$(this), inputName); } }); \$(target).attr('data-editing', 'false'); }; // Build table \$.each(\$settings, function(index, element) { var \$label = \$(element).find('label'); var \$input = \$(element).find('input,select'); var \$help = \$(element).find('small.form-text.text-muted'); var over = \$label.prop(\"for\"); var value = ''; var text = ''; var help = \$help.length > 0 ? \$help.text() : ''; // Skip for some fields if(['name', 'isDefault'].includes(over)) { return true; } if(\$(element).hasClass('form-group-timers')) { // Get text and override name over = \$(element).find('.multiSelect').val(); text = \$(element).find('.multiSelect option:selected').text(); // Get value value = \$(element).find('.timersOn').val() + ' - ' + \$(element).find('.timersOff').val(); } else if(\$(element).hasClass('form-group-picture-options')) { // Get text and override name over = \$(element).find('.multiSelect').val(); text = \$(element).find('.multiSelect option:selected').text(); // Get labels var labels = []; \$(element).find('.multiSelectInputs .slider-tick-label').each(function(idx, el) { labels.push(\$(el).html()); }); // Get value value = \$(element).find('.multiSelectInputs .pictureControlsSlider').bootstrapSlider('getValue'); // If specific value has a label, use it as value if(labels[value] != undefined) { value = labels[value]; } } else if(\$input.attr('type') == 'checkbox'){ // Get text and value text = \$label.text(); value = \$input.is(\":checked\"); } else if(\$input.is('select')){ // Get text and value text = \$label.text(); value = \$input.find('option:selected').text(); } else if(over === 'screenDimensions'){ // Get text and value text = \$label.text(); value = \$(element).find('#screenDimensions').val(); } else { // Get text and value text = \$label.text(); value = \$input.val(); } // Skip empty fields if(over == '' || over == undefined || over == null) { return true; } // Append new row to the table var \$tableNewRow = \$('<tr><td style=\"width: 40%;\"><strong title=\"' + help + '\">' + text + '</strong></td><td style=\"width: 25%; overflow-x: auto; max-width: 250px;\"><div>' + value + '</div></td><td class=\"override-input text-center\" style=\"width: 35%;\" data-editing=\"false\" data-input-name=\"' + over + '\"><button class=\"btn btn-block btn-outline-secondary\" type=\"button\"><i class=\"fa fa-edit\"></i></button></td></tr>').appendTo(\$table); // Get override element var overrideEl = override.find(function(x) { return x.name === over; }); if(overrideEl != undefined) { //If element was found, create an input // Create input with override value createInputField(\$tableNewRow.find('.override-input'), over, overrideEl.value); } }); // Handlers for field edit \$(dialog).find('.override-input[data-editing=\"false\"]').click(function() { var inputName = \$(this).data('inputName'); createInputField(\$(this), inputName); }); // Refresh on tab switch to fix broken labels \$('a[data-toggle=\"tab\"]').on('shown.bs.tab', function() { \$('.pictureControlsSlider').bootstrapSlider('refresh', { useCurrentValue: true }); }); // Call XiboInitialise on table XiboInitialise('#settings-from-profile'); } // Custom submit for display form function displayEditFormSubmit() { var \$form = \$('#displayEditForm'); // Grab and alter the value in the bandwidth limit field var bandwidthLimitField = \$form.find(\"input[name=bandwidthLimit]\"); var bandwidthLimitUnitsField = \$form.find(\"select[name=bandwidthLimitUnits]\"); var bandwidthLimit = bandwidthLimitField.val(); if (bandwidthLimitUnitsField.val() == 'mb') { bandwidthLimit = bandwidthLimit * 1024; } else if (bandwidthLimitUnitsField.val() == 'gb') { bandwidthLimit = bandwidthLimit * 1024 * 1024; } // Set the field bandwidthLimitField.prop('value', bandwidthLimit); // Remove temp fields and enable checkbox after submit \$form.submit(function(event) { event.preventDefault(); // Re-enable checkboxes \$form.find('input[type=\"checkbox\"]').each(function () { // Enable checkbox \$(this).attr('disabled', false); }); // Remove temp input fields \$form.find('input.temp-input').each(function () { \$(this).remove(); }); }); // Replace all checkboxes with hidden input fields \$form.find('input[type=\"checkbox\"]').each(function () { // Get checkbox values var value = \$(this).is(':checked') ? 'on' : 'off'; var id = \$(this).attr('id'); // Create hidden input \$('<input type=\"hidden\" class=\"temp-input\">') .attr('id', id) .attr('name', id) .val(value) .appendTo(\$(this).parent()); // Disable checkbox so it won't be submitted \$(this).attr('disabled', true); }); // Submit form \$form.submit(); } \$('body').on('click', '.display-screenshot', function(el) { var displayId = el.target.dataset.displayId; var displayType = el.target.dataset.type; var statusWindowData = {}; \$.ajax({ url: \"/display/status/\" + displayId, method: \"GET\", dataType: \"json\", success: function (data) { if (data != null) { // do some processing on data received from webOS and Tizen Players. if (displayType === 'webOS' || displayType === 'sssp') { data.logMessagesArray = JSON.stringify(data.logMessagesArray); data.allLayouts = JSON.stringify(data.allLayouts); data.scheduledLayouts = JSON.stringify(data.scheduledLayouts); data.validLayouts = JSON.stringify(data.validLayouts); data.invalidLayouts = JSON.stringify(data.invalidLayouts); data.blacklistArray = JSON.stringify(data.blacklistArray); data.spaceTotal = formatBytes(data.spaceTotal, 2); data.spaceFree = formatBytes(data.spaceFree, 2); data.spaceUsed = formatBytes(data.spaceUsed, 2); } statusWindowData['data'] = data; statusWindowData['type'] = displayType; var statusWindowTemplate = Handlebars.compile(\$('#display-status-window-template').html()); \$('.modal-body').append(statusWindowTemplate(statusWindowData)); } } }); }); </script> <style> #settings-from-profile tr.row-fluid { height: 50px; } </style> "; } public function getTemplateName() { return "display-page.twig"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 1713 => 1136, 1583 => 1009, 1547 => 976, 1534 => 966, 1521 => 956, 1507 => 945, 1479 => 920, 1470 => 913, 1463 => 908, 1461 => 907, 1454 => 902, 1452 => 901, 1345 => 797, 1341 => 796, 1333 => 791, 1329 => 790, 1321 => 785, 1317 => 784, 1309 => 779, 1305 => 778, 1297 => 773, 1293 => 772, 1285 => 767, 1281 => 766, 1081 => 569, 1077 => 568, 1070 => 564, 1066 => 563, 1056 => 558, 1052 => 557, 1048 => 556, 888 => 398, 878 => 390, 876 => 389, 788 => 304, 770 => 288, 766 => 286, 764 => 285, 759 => 283, 756 => 282, 752 => 281, 737 => 269, 731 => 266, 727 => 265, 723 => 264, 717 => 261, 713 => 260, 709 => 259, 691 => 244, 687 => 243, 683 => 242, 679 => 241, 675 => 240, 671 => 239, 667 => 238, 663 => 237, 659 => 236, 655 => 235, 651 => 234, 647 => 233, 643 => 232, 639 => 231, 635 => 230, 631 => 229, 627 => 228, 623 => 227, 619 => 226, 615 => 225, 611 => 224, 607 => 223, 603 => 222, 599 => 221, 595 => 220, 591 => 219, 587 => 218, 583 => 217, 579 => 216, 575 => 215, 571 => 214, 567 => 213, 563 => 212, 559 => 211, 555 => 210, 551 => 209, 546 => 208, 540 => 207, 536 => 206, 532 => 205, 528 => 204, 524 => 203, 520 => 202, 516 => 201, 512 => 200, 508 => 199, 504 => 198, 500 => 197, 496 => 196, 492 => 195, 488 => 194, 477 => 186, 471 => 183, 464 => 179, 454 => 174, 440 => 164, 438 => 162, 437 => 161, 436 => 160, 435 => 159, 433 => 157, 428 => 156, 423 => 155, 418 => 154, 413 => 153, 409 => 152, 403 => 150, 401 => 148, 400 => 147, 398 => 145, 393 => 144, 388 => 143, 384 => 142, 378 => 140, 374 => 139, 368 => 137, 364 => 136, 358 => 134, 354 => 133, 348 => 131, 344 => 130, 338 => 128, 336 => 126, 335 => 125, 334 => 124, 333 => 123, 332 => 122, 330 => 120, 325 => 119, 320 => 118, 315 => 117, 310 => 116, 305 => 115, 301 => 114, 295 => 112, 291 => 111, 284 => 107, 281 => 106, 275 => 104, 270 => 103, 268 => 102, 265 => 101, 259 => 99, 254 => 98, 252 => 97, 249 => 96, 243 => 94, 238 => 93, 233 => 92, 228 => 91, 223 => 90, 221 => 89, 215 => 87, 213 => 85, 212 => 84, 210 => 82, 205 => 81, 200 => 80, 196 => 79, 190 => 77, 188 => 75, 187 => 74, 185 => 72, 180 => 71, 175 => 70, 171 => 69, 165 => 67, 163 => 65, 162 => 64, 161 => 63, 159 => 61, 154 => 60, 149 => 59, 144 => 58, 140 => 57, 134 => 55, 130 => 54, 124 => 52, 120 => 51, 112 => 46, 108 => 45, 101 => 41, 96 => 39, 93 => 38, 89 => 37, 79 => 33, 69 => 31, 67 => 30, 64 => 29, 60 => 28, 52 => 26, 47 => 23, 45 => 24, 38 => 23,); } public function getSourceContext() { return new Source("", "display-page.twig", "/home/mgatv524/novabrasil.mgaplay.com.br/views/display-page.twig"); } }