PageRenderTime 62ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/parivartree260614/parivartree/app/cache/dev/twig/0f/85/b9472bcff95b73c7214e702868f4b78f08b0df5732bb288487efa3172e8e.php

https://github.com/roopalidudalkar/parivartree
PHP | 1108 lines | 880 code | 88 blank | 140 comment | 62 complexity | 95b9f7449e369088550bfabd1be5ea56 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. /* WebProfilerBundle:Collector:form.html.twig */
  3. class __TwigTemplate_0f85b9472bcff95b73c7214e702868f4b78f08b0df5732bb288487efa3172e8e extends Twig_Template
  4. {
  5. public function __construct(Twig_Environment $env)
  6. {
  7. parent::__construct($env);
  8. $this->parent = $this->env->loadTemplate("@WebProfiler/Profiler/layout.html.twig");
  9. $this->blocks = array(
  10. 'toolbar' => array($this, 'block_toolbar'),
  11. 'menu' => array($this, 'block_menu'),
  12. 'panel' => array($this, 'block_panel'),
  13. );
  14. }
  15. protected function doGetParent(array $context)
  16. {
  17. return "@WebProfiler/Profiler/layout.html.twig";
  18. }
  19. protected function doDisplay(array $context, array $blocks = array())
  20. {
  21. // line 3
  22. $context["__internal_77e0abd56d99a594f63400ff6b1c484e1fc849988d12a4a54d12ecb515a077c7"] = $this;
  23. $this->parent->display($context, array_merge($this->blocks, $blocks));
  24. }
  25. // line 5
  26. public function block_toolbar($context, array $blocks = array())
  27. {
  28. // line 6
  29. echo " ";
  30. if (twig_length_filter($this->env, $this->getAttribute($this->getContext($context, "collector"), "data"))) {
  31. // line 7
  32. echo " ";
  33. ob_start();
  34. // line 8
  35. echo " <img width=\"20\" height=\"28\" alt=\"Forms\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAcAQMAAABbFA0jAAAABlBMVEUAAAA+Pj4LNneDAAAAAXRSTlMAQObYZgAAACxJREFUCNdjYEACjD8gmP8/A8P7/wVw/IChgOH//w9w/AHKf4CLRlILwkgAANMJMNaUFdtJAAAAAElFTkSuQmCC\"/>
  36. <span class=\"sf-toolbar-status sf-toolbar-status-";
  37. // line 9
  38. if ($this->getAttribute($this->getAttribute($this->getContext($context, "collector"), "data"), "nb_errors")) {
  39. echo "red";
  40. } else {
  41. echo "green";
  42. }
  43. echo "\">";
  44. if ($this->getAttribute($this->getAttribute($this->getContext($context, "collector"), "data"), "nb_errors")) {
  45. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "collector"), "data"), "nb_errors"), "html", null, true);
  46. } else {
  47. echo twig_escape_filter($this->env, twig_length_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "collector"), "data"), "forms")), "html", null, true);
  48. }
  49. echo "</span>
  50. ";
  51. $context["icon"] = ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset());
  52. // line 11
  53. echo "
  54. ";
  55. // line 12
  56. $this->env->loadTemplate("@WebProfiler/Profiler/toolbar_item.html.twig")->display(array_merge($context, array("link" => $this->getContext($context, "profiler_url"))));
  57. // line 13
  58. echo " ";
  59. }
  60. }
  61. // line 16
  62. public function block_menu($context, array $blocks = array())
  63. {
  64. // line 17
  65. echo " <span class=\"label\">
  66. <span class=\"icon\"><img src=\"data:image/png;base64,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\" alt=\"\"/></span>
  67. <strong>Forms</strong>
  68. ";
  69. // line 20
  70. if (twig_length_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "collector"), "data"), "forms"))) {
  71. // line 21
  72. echo " <span class=\"count\"><span>";
  73. echo twig_escape_filter($this->env, twig_length_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "collector"), "data"), "forms")), "html", null, true);
  74. echo "</span></span>
  75. ";
  76. }
  77. // line 23
  78. echo " </span>
  79. ";
  80. }
  81. // line 26
  82. public function block_panel($context, array $blocks = array())
  83. {
  84. // line 27
  85. echo " <style type=\"text/css\">
  86. .window {
  87. /*background: #F6F6F6;*/
  88. margin: -30px -40px -40px;
  89. }
  90. .toggle-icon {
  91. display: inline-block;
  92. background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgBAMAAADpp+X/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDgwx4LcKwAAAABVQTFRFAAAA////////////////ZmZm////bvjBwAAAAAV0Uk5TABZwsuCVEUjgAAAAAWJLR0QF+G/pxwAAAE1JREFUGNNjSHMSYGBgUEljSGYAAzMGBwiDhUEBwmBiEIAwGBmwgTQgQGWgA7h2uIFwK+CWwp1BpHvYEqDuATEYkBlY3IOmBq6dCPcAAIT5Eg2IksjQAAAAAElFTkSuQmCC\") no-repeat top left #5eb5e0;
  93. }
  94. .closed .toggle-icon, .closed.toggle-icon {
  95. background-position: bottom left;
  96. }
  97. .toggle-icon.empty {
  98. background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAZgBmAGYHukptAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDhIf6CA40AAAAFRJREFUOMvtk7ENACEMA61vfx767MROWfO+AdGBHlNyTZrYUZRYDBII4NWE1pNdpFarfgLUbpDaBEgBYRiEVjsvDLa1l6O4Z3wkFWN+OfLKdpisOH/TlICzukmUJwAAAABJRU5ErkJggg==\");
  99. }
  100. .tree {
  101. width: 230px;
  102. padding: 10px;
  103. font-size: 12px;
  104. float: left;
  105. }
  106. #content .tree h2 {
  107. font-size: 13px;
  108. padding: 5px 7px;
  109. margin: 0;
  110. }
  111. .tree li {
  112. margin: 0;
  113. padding: 0;
  114. width: 100%;
  115. }
  116. .tree .tree-inner {
  117. width: 100%;
  118. padding: 5px 7px 5px 22px;
  119. border-radius: 6px;
  120. color: #313131;
  121. cursor: pointer;
  122. position: relative;
  123. -webkit-box-sizing: border-box;
  124. -moz-box-sizing: border-box;
  125. box-sizing: border-box;
  126. }
  127. .tree a {
  128. text-decoration: none;
  129. }
  130. .tree .toggle-button {
  131. /* provide a bigger clickable area than just 10x10px */
  132. width: 16px;
  133. height: 16px;
  134. /* vertically center the button */
  135. position: absolute;
  136. top: 50%;
  137. margin-top: -8px;
  138. margin-left: -18px;
  139. }
  140. .tree .toggle-icon {
  141. width: 10px;
  142. height: 10px;
  143. /* position the icon in the center of the clickable area */
  144. margin-left: 3px;
  145. margin-top: 3px;
  146. background-size: 10px 20px;
  147. background-color: #ccc;
  148. }
  149. .tree .toggle-icon.empty {
  150. width: 10px;
  151. height: 10px;
  152. position: absolute;
  153. top: 50%;
  154. margin-top: -5px;
  155. margin-left: -15px;
  156. background-size: 10px 10px;
  157. }
  158. .tree ul ul .tree-inner {
  159. padding-left: 37px;
  160. }
  161. .tree ul ul ul .tree-inner {
  162. padding-left: 52px;
  163. }
  164. .tree ul ul ul ul .tree-inner {
  165. padding-left: 67px;
  166. }
  167. .tree ul ul ul ul ul .tree-inner {
  168. padding-left: 82px;
  169. }
  170. .tree .tree-inner:hover {
  171. background: #dfdfdf;
  172. }
  173. .tree .tree-inner.active, .tree .tree-inner.active:hover {
  174. background: #dfdfdf;
  175. font-weight: bold;
  176. color: #313131;
  177. }
  178. .tree .tree-inner.active .toggle-icon, .tree .tree-inner:hover .toggle-icon, .tree .tree-inner.active:hover .toggle-icon {
  179. background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgBAMAAADpp+X/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDhEYXWn+sAAAABhQTFRFAAAA39/f39/f39/f39/fZmZm39/f////gc3YPwAAAAV0Uk5TAAtAc6ZeVyCYAAAAAWJLR0QF+G/pxwAAAE1JREFUGNNjSHMSYGBgUEljSGYAAzMGBwiDhUEBwmBiEIAwGBmwgXIgQGWgA7h2uIFwK+CWwp1BpHvYC6DuATEYkBlY3IOmBq6dCPcAADqLE4MnBi/fAAAAAElFTkSuQmCC\");
  180. background-color: #aaa;
  181. }
  182. .tree .tree-inner.active .toggle-icon.empty, .tree .tree-inner:hover .toggle-icon.empty, .tree .tree-inner.active:hover .toggle-icon.empty {
  183. background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDhoucSey4gAAABVQTFRFAAAA39/f39/f39/f39/fZmZm39/fD5Dx2AAAAAV0Uk5TAAtAc6ZeVyCYAAAAAWJLR0QF+G/pxwAAADJJREFUCNdjSHMSYGBgUEljSGYAAzMGBwiDhUEBwmBiEIAwGBnIA3DtcAPhVsAthTkDAFOfBKW9C1iqAAAAAElFTkSuQmCC\");
  184. }
  185. .tree-details {
  186. border-left: 1px solid #dfdfdf;
  187. background: white;
  188. margin-left: 250px;
  189. padding: 30px 40px 40px;
  190. }
  191. .tree-details h3 {
  192. position: relative;
  193. }
  194. .tree-details .toggle-icon {
  195. width: 16px;
  196. height: 16px;
  197. /* vertically center the button */
  198. position: absolute;
  199. top: 50%;
  200. margin-top: -9px;
  201. margin-left: 6px;
  202. }
  203. .form-type {
  204. color: #999999;
  205. }
  206. .hidden {
  207. display: none;
  208. }
  209. .badge-error {
  210. float: right;
  211. background: #a33;
  212. color: #fff;
  213. padding: 1px 4px;
  214. font-size: 10px;
  215. font-weight: bold;
  216. vertical-align: middle;
  217. border-radius: 6px;
  218. }
  219. .errors h3 {
  220. color: #800;
  221. }
  222. .errors th, .errors td {
  223. border-color: #800;
  224. }
  225. .errors th {
  226. background: #a33;
  227. color: #fff;
  228. }
  229. .errors .toggle-icon {
  230. background-color: #a33;
  231. }
  232. h3 a, h3 a:hover, h3 a:focus {
  233. color: inherit;
  234. text-decoration: inherit;
  235. }
  236. </style>
  237. ";
  238. // line 181
  239. if (twig_length_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "collector"), "data"), "forms"))) {
  240. // line 182
  241. echo " <div class=\"window\">
  242. <div class=\"tree\">
  243. <h2>Forms</h2>
  244. <ul>
  245. ";
  246. // line 187
  247. $context['_parent'] = (array) $context;
  248. $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute($this->getContext($context, "collector"), "data"), "forms"));
  249. foreach ($context['_seq'] as $context["formName"] => $context["formData"]) {
  250. // line 188
  251. echo " ";
  252. echo $context["__internal_77e0abd56d99a594f63400ff6b1c484e1fc849988d12a4a54d12ecb515a077c7"]->getform_tree_entry($this->getContext($context, "formName"), $this->getContext($context, "formData"), true);
  253. echo "
  254. ";
  255. }
  256. $_parent = $context['_parent'];
  257. unset($context['_seq'], $context['_iterated'], $context['formName'], $context['formData'], $context['_parent'], $context['loop']);
  258. $context = array_intersect_key($context, $_parent) + $_parent;
  259. // line 190
  260. echo " </ul>
  261. </div>
  262. ";
  263. // line 193
  264. $context['_parent'] = (array) $context;
  265. $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute($this->getContext($context, "collector"), "data"), "forms"));
  266. foreach ($context['_seq'] as $context["formName"] => $context["formData"]) {
  267. // line 194
  268. echo " ";
  269. echo $context["__internal_77e0abd56d99a594f63400ff6b1c484e1fc849988d12a4a54d12ecb515a077c7"]->getform_tree_details($this->getContext($context, "formName"), $this->getContext($context, "formData"), $this->getAttribute($this->getAttribute($this->getContext($context, "collector"), "data"), "forms_by_hash"));
  270. echo "
  271. ";
  272. }
  273. $_parent = $context['_parent'];
  274. unset($context['_seq'], $context['_iterated'], $context['formName'], $context['formData'], $context['_parent'], $context['loop']);
  275. $context = array_intersect_key($context, $_parent) + $_parent;
  276. // line 196
  277. echo " </div>
  278. ";
  279. } else {
  280. // line 198
  281. echo " <p><em>No forms were submitted for this request.</em></p>
  282. ";
  283. }
  284. // line 200
  285. echo "
  286. <script>
  287. function Toggler(storage) {
  288. \"use strict\";
  289. var STORAGE_KEY = 'sf_toggle_data',
  290. states = {},
  291. isCollapsed = function (button) {
  292. return Sfjs.hasClass(button, 'closed');
  293. },
  294. isExpanded = function (button) {
  295. return !isCollapsed(button);
  296. },
  297. expand = function (button) {
  298. var targetId = button.dataset.toggleTargetId,
  299. target = document.getElementById(targetId);
  300. if (!target) {
  301. throw \"Toggle target \" + targetId + \" does not exist\";
  302. }
  303. if (isCollapsed(button)) {
  304. Sfjs.removeClass(button, 'closed');
  305. Sfjs.removeClass(target, 'hidden');
  306. states[targetId] = 1;
  307. storage.setItem(STORAGE_KEY, states);
  308. }
  309. },
  310. collapse = function (button) {
  311. var targetId = button.dataset.toggleTargetId,
  312. target = document.getElementById(targetId);
  313. if (!target) {
  314. throw \"Toggle target \" + targetId + \" does not exist\";
  315. }
  316. if (isExpanded(button)) {
  317. Sfjs.addClass(button, 'closed');
  318. Sfjs.addClass(target, 'hidden');
  319. states[targetId] = 0;
  320. storage.setItem(STORAGE_KEY, states);
  321. }
  322. },
  323. toggle = function (button) {
  324. if (Sfjs.hasClass(button, 'closed')) {
  325. expand(button);
  326. } else {
  327. collapse(button);
  328. }
  329. },
  330. initButtons = function (buttons) {
  331. states = storage.getItem(STORAGE_KEY, {});
  332. // must be an object, not an array or anything else
  333. // `typeof` returns \"object\" also for arrays, so the following
  334. // check must be done
  335. // see http://stackoverflow.com/questions/4775722/check-if-object-is-array
  336. if ('[object Object]' !== Object.prototype.toString.call(states)) {
  337. states = {};
  338. }
  339. for (var i = 0, l = buttons.length; i < l; ++i) {
  340. var targetId = buttons[i].dataset.toggleTargetId,
  341. target = document.getElementById(targetId);
  342. if (!target) {
  343. throw \"Toggle target \" + targetId + \" does not exist\";
  344. }
  345. // correct the initial state of the button
  346. if (Sfjs.hasClass(target, 'hidden')) {
  347. Sfjs.addClass(buttons[i], 'closed');
  348. }
  349. // attach listener for expanding/collapsing the target
  350. buttons[i].addEventListener('click', function (e) {
  351. toggle(this);
  352. e.preventDefault();
  353. e.stopPropagation();
  354. return false;
  355. });
  356. if (states.hasOwnProperty(targetId)) {
  357. // open or collapse based on stored data
  358. if (0 === states[targetId]) {
  359. collapse(buttons[i]);
  360. } else {
  361. expand(buttons[i]);
  362. }
  363. }
  364. }
  365. };
  366. return {
  367. initButtons: initButtons,
  368. toggle: toggle,
  369. isExpanded: isExpanded,
  370. isCollapsed: isCollapsed,
  371. expand: expand,
  372. collapse: collapse
  373. };
  374. }
  375. function JsonStorage(storage) {
  376. var setItem = function (key, data) {
  377. storage.setItem(key, JSON.stringify(data));
  378. },
  379. getItem = function (key, defaultValue) {
  380. var data = storage.getItem(key);
  381. if (null !== data) {
  382. try {
  383. return JSON.parse(data);
  384. } catch(e) {
  385. }
  386. }
  387. return defaultValue;
  388. };
  389. return {
  390. setItem: setItem,
  391. getItem: getItem
  392. };
  393. }
  394. function TabView() {
  395. \"use strict\";
  396. var activeTab = null,
  397. activeTarget = null,
  398. select = function (tab) {
  399. var targetId = tab.dataset.tabTargetId,
  400. target = document.getElementById(targetId);
  401. if (!target) {
  402. throw \"Tab target \" + targetId + \" does not exist\";
  403. }
  404. if (activeTab) {
  405. Sfjs.removeClass(activeTab, 'active');
  406. }
  407. if (activeTarget) {
  408. Sfjs.addClass(activeTarget, 'hidden');
  409. }
  410. Sfjs.addClass(tab, 'active');
  411. Sfjs.removeClass(target, 'hidden');
  412. activeTab = tab;
  413. activeTarget = target;
  414. },
  415. initTabs = function (tabs) {
  416. for (var i = 0, l = tabs.length; i < l; ++i) {
  417. var targetId = tabs[i].dataset.tabTargetId,
  418. target = document.getElementById(targetId);
  419. if (!target) {
  420. throw \"Tab target \" + targetId + \" does not exist\";
  421. }
  422. tabs[i].addEventListener('click', function (e) {
  423. select(this);
  424. e.preventDefault();
  425. e.stopPropagation();
  426. return false;
  427. });
  428. Sfjs.addClass(target, 'hidden');
  429. }
  430. if (tabs.length > 0) {
  431. select(tabs[0]);
  432. }
  433. };
  434. return {
  435. initTabs: initTabs,
  436. select: select
  437. };
  438. }
  439. var tabTarget = new TabView(),
  440. toggler = new Toggler(new JsonStorage(sessionStorage));
  441. tabTarget.initTabs(document.querySelectorAll('.tree .tree-inner'));
  442. toggler.initButtons(document.querySelectorAll('a.toggle-button'));
  443. </script>
  444. ";
  445. }
  446. // line 415
  447. public function getform_tree_entry($_name = null, $_data = null, $_expanded = null)
  448. {
  449. $context = $this->env->mergeGlobals(array(
  450. "name" => $_name,
  451. "data" => $_data,
  452. "expanded" => $_expanded,
  453. ));
  454. $blocks = array();
  455. ob_start();
  456. try {
  457. // line 416
  458. echo " <li>
  459. <div class=\"tree-inner\" data-tab-target-id=\"";
  460. // line 417
  461. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  462. echo "-details\">
  463. ";
  464. // line 418
  465. if ((!twig_test_empty($this->getAttribute($this->getContext($context, "data"), "children")))) {
  466. // line 419
  467. echo " <a class=\"toggle-button\" data-toggle-target-id=\"";
  468. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  469. echo "-children\" href=\"#\"><span class=\"toggle-icon\"></span></a>
  470. ";
  471. } else {
  472. // line 421
  473. echo " <div class=\"toggle-icon empty\"></div>
  474. ";
  475. }
  476. // line 423
  477. echo " ";
  478. echo twig_escape_filter($this->env, $this->getContext($context, "name"), "html", null, true);
  479. echo "
  480. ";
  481. // line 424
  482. if (($this->getAttribute($this->getContext($context, "data", true), "errors", array(), "any", true, true) && (twig_length_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "errors")) > 0))) {
  483. // line 425
  484. echo " <div class=\"badge-error\">";
  485. echo twig_escape_filter($this->env, twig_length_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "errors")), "html", null, true);
  486. echo "</div>
  487. ";
  488. }
  489. // line 427
  490. echo " </div>
  491. ";
  492. // line 429
  493. if ((!twig_test_empty($this->getAttribute($this->getContext($context, "data"), "children")))) {
  494. // line 430
  495. echo " <ul id=\"";
  496. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  497. echo "-children\"";
  498. if ((!$this->getContext($context, "expanded"))) {
  499. echo " class=\"hidden\"";
  500. }
  501. echo ">
  502. ";
  503. // line 431
  504. $context['_parent'] = (array) $context;
  505. $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "data"), "children"));
  506. foreach ($context['_seq'] as $context["childName"] => $context["childData"]) {
  507. // line 432
  508. echo " ";
  509. echo $this->getAttribute($this, "form_tree_entry", array(0 => $this->getContext($context, "childName"), 1 => $this->getContext($context, "childData"), 2 => false), "method");
  510. echo "
  511. ";
  512. }
  513. $_parent = $context['_parent'];
  514. unset($context['_seq'], $context['_iterated'], $context['childName'], $context['childData'], $context['_parent'], $context['loop']);
  515. $context = array_intersect_key($context, $_parent) + $_parent;
  516. // line 434
  517. echo " </ul>
  518. ";
  519. }
  520. // line 436
  521. echo " </li>
  522. ";
  523. } catch (Exception $e) {
  524. ob_end_clean();
  525. throw $e;
  526. }
  527. return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset());
  528. }
  529. // line 439
  530. public function getform_tree_details($_name = null, $_data = null, $_forms_by_hash = null)
  531. {
  532. $context = $this->env->mergeGlobals(array(
  533. "name" => $_name,
  534. "data" => $_data,
  535. "forms_by_hash" => $_forms_by_hash,
  536. ));
  537. $blocks = array();
  538. ob_start();
  539. try {
  540. // line 440
  541. echo " <div class=\"tree-details\" id=\"";
  542. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  543. echo "-details\">
  544. <h2>
  545. ";
  546. // line 442
  547. echo twig_escape_filter($this->env, $this->getContext($context, "name"), "html", null, true);
  548. echo "
  549. ";
  550. // line 443
  551. if ($this->getAttribute($this->getContext($context, "data", true), "type_class", array(), "any", true, true)) {
  552. // line 444
  553. echo " <span class=\"form-type\">[<abbr title=\"";
  554. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "type_class"), "html", null, true);
  555. echo "\">";
  556. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "type"), "html", null, true);
  557. echo "</abbr>]</span>
  558. ";
  559. }
  560. // line 446
  561. echo " </h2>
  562. ";
  563. // line 448
  564. if (($this->getAttribute($this->getContext($context, "data", true), "errors", array(), "any", true, true) && (twig_length_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "errors")) > 0))) {
  565. // line 449
  566. echo " <div class=\"errors\">
  567. <h3>
  568. <a class=\"toggle-button\" data-toggle-target-id=\"";
  569. // line 451
  570. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  571. echo "-errors\" href=\"#\">
  572. Errors
  573. <span class=\"toggle-icon\"></span>
  574. </a>
  575. </h3>
  576. <table id=\"";
  577. // line 457
  578. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  579. echo "-errors\">
  580. <tr>
  581. <th>Message</th>
  582. <th>Origin</th>
  583. <th>Cause</th>
  584. </tr>
  585. ";
  586. // line 463
  587. $context['_parent'] = (array) $context;
  588. $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "data"), "errors"));
  589. foreach ($context['_seq'] as $context["_key"] => $context["error"]) {
  590. // line 464
  591. echo " <tr>
  592. <td>";
  593. // line 465
  594. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "error"), "message"), "html", null, true);
  595. echo "</td>
  596. <td>
  597. ";
  598. // line 467
  599. if (twig_test_empty($this->getAttribute($this->getContext($context, "error"), "origin"))) {
  600. // line 468
  601. echo " <em>This form.</em>
  602. ";
  603. } elseif ((!$this->getAttribute($this->getContext($context, "forms_by_hash", true), $this->getAttribute($this->getContext($context, "error"), "origin"), array(), "array", true, true))) {
  604. // line 470
  605. echo " <em>Unknown.</em>
  606. ";
  607. } else {
  608. // line 472
  609. echo " ";
  610. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "forms_by_hash"), $this->getAttribute($this->getContext($context, "error"), "origin"), array(), "array"), "name"), "html", null, true);
  611. echo "
  612. ";
  613. }
  614. // line 474
  615. echo " </td>
  616. <td>
  617. ";
  618. // line 476
  619. if (twig_test_empty($this->getAttribute($this->getContext($context, "error"), "cause"))) {
  620. // line 477
  621. echo " <em>Unknown.</em>
  622. ";
  623. } elseif ($this->getAttribute($this->getAttribute($this->getContext($context, "error", true), "cause", array(), "any", false, true), "root", array(), "any", true, true)) {
  624. // line 479
  625. echo " <strong>Constraint Violation</strong><br/>
  626. <pre>";
  627. // line 480
  628. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "error"), "cause"), "root"), "html", null, true);
  629. if ((!twig_test_empty($this->getAttribute($this->getAttribute($this->getContext($context, "error"), "cause"), "path")))) {
  630. if ((twig_first($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "error"), "cause"), "path")) != "[")) {
  631. echo ".";
  632. }
  633. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "error"), "cause"), "path"), "html", null, true);
  634. }
  635. echo " = ";
  636. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "error"), "cause"), "value"), "html", null, true);
  637. echo "</pre>
  638. ";
  639. } else {
  640. // line 482
  641. echo " <pre>";
  642. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "error"), "cause"), "html", null, true);
  643. echo "</pre>
  644. ";
  645. }
  646. // line 484
  647. echo " </td>
  648. </tr>
  649. ";
  650. }
  651. $_parent = $context['_parent'];
  652. unset($context['_seq'], $context['_iterated'], $context['_key'], $context['error'], $context['_parent'], $context['loop']);
  653. $context = array_intersect_key($context, $_parent) + $_parent;
  654. // line 487
  655. echo " </table>
  656. </div>
  657. ";
  658. }
  659. // line 490
  660. echo "
  661. ";
  662. // line 491
  663. if ($this->getAttribute($this->getContext($context, "data", true), "default_data", array(), "any", true, true)) {
  664. // line 492
  665. echo " <h3>
  666. <a class=\"toggle-button\" data-toggle-target-id=\"";
  667. // line 493
  668. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  669. echo "-default_data\" href=\"#\">
  670. Default Data
  671. <span class=\"toggle-icon\"></span>
  672. </a>
  673. </h3>
  674. <div id=\"";
  675. // line 499
  676. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  677. echo "-default_data\">
  678. <table>
  679. <tr>
  680. <th width=\"180\">Model Format</th>
  681. <td>
  682. ";
  683. // line 504
  684. if ($this->getAttribute($this->getAttribute($this->getContext($context, "data", true), "default_data", array(), "any", false, true), "model", array(), "any", true, true)) {
  685. // line 505
  686. echo " <pre>";
  687. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "data"), "default_data"), "model"), "html", null, true);
  688. echo "</pre>
  689. ";
  690. } else {
  691. // line 507
  692. echo " <em>same as normalized format</em>
  693. ";
  694. }
  695. // line 509
  696. echo " </td>
  697. </tr>
  698. <tr>
  699. <th>Normalized Format</th>
  700. <td><pre>";
  701. // line 513
  702. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "data"), "default_data"), "norm"), "html", null, true);
  703. echo "</pre></td>
  704. </tr>
  705. <tr>
  706. <th>View Format</th>
  707. <td>
  708. ";
  709. // line 518
  710. if ($this->getAttribute($this->getAttribute($this->getContext($context, "data", true), "default_data", array(), "any", false, true), "view", array(), "any", true, true)) {
  711. // line 519
  712. echo " <pre>";
  713. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "data"), "default_data"), "view"), "html", null, true);
  714. echo "</pre>
  715. ";
  716. } else {
  717. // line 521
  718. echo " <em>same as normalized format</em>
  719. ";
  720. }
  721. // line 523
  722. echo " </td>
  723. </tr>
  724. </table>
  725. </div>
  726. ";
  727. }
  728. // line 528
  729. echo "
  730. ";
  731. // line 529
  732. if ($this->getAttribute($this->getContext($context, "data", true), "submitted_data", array(), "any", true, true)) {
  733. // line 530
  734. echo " <h3>
  735. <a class=\"toggle-button\" data-toggle-target-id=\"";
  736. // line 531
  737. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  738. echo "-submitted_data\" href=\"#\">
  739. Submitted Data
  740. <span class=\"toggle-icon\"></span>
  741. </a>
  742. </h3>
  743. <div id=\"";
  744. // line 537
  745. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  746. echo "-submitted_data\">
  747. ";
  748. // line 538
  749. if ($this->getAttribute($this->getAttribute($this->getContext($context, "data", true), "submitted_data", array(), "any", false, true), "norm", array(), "any", true, true)) {
  750. // line 539
  751. echo " <table>
  752. <tr>
  753. <th width=\"180\">View Format</th>
  754. <td>
  755. ";
  756. // line 543
  757. if ($this->getAttribute($this->getAttribute($this->getContext($context, "data", true), "submitted_data", array(), "any", false, true), "view", array(), "any", true, true)) {
  758. // line 544
  759. echo " <pre>";
  760. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "data"), "submitted_data"), "view"), "html", null, true);
  761. echo "</pre>
  762. ";
  763. } else {
  764. // line 546
  765. echo " <em>same as normalized format</em>
  766. ";
  767. }
  768. // line 548
  769. echo " </td>
  770. </tr>
  771. <tr>
  772. <th>Normalized Format</th>
  773. <td><pre>";
  774. // line 552
  775. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "data"), "submitted_data"), "norm"), "html", null, true);
  776. echo "</pre></td>
  777. </tr>
  778. <tr>
  779. <th>Model Format</th>
  780. <td>
  781. ";
  782. // line 557
  783. if ($this->getAttribute($this->getAttribute($this->getContext($context, "data", true), "submitted_data", array(), "any", false, true), "model", array(), "any", true, true)) {
  784. // line 558
  785. echo " <pre>";
  786. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "data"), "submitted_data"), "model"), "html", null, true);
  787. echo "</pre>
  788. ";
  789. } else {
  790. // line 560
  791. echo " <em>same as normalized format</em>
  792. ";
  793. }
  794. // line 562
  795. echo " </td>
  796. </tr>
  797. </table>
  798. ";
  799. } else {
  800. // line 566
  801. echo " <p><em>This form was not submitted.</em></p>
  802. ";
  803. }
  804. // line 568
  805. echo " </div>
  806. ";
  807. }
  808. // line 570
  809. echo "
  810. ";
  811. // line 571
  812. if ($this->getAttribute($this->getContext($context, "data", true), "passed_options", array(), "any", true, true)) {
  813. // line 572
  814. echo " <h3>
  815. <a class=\"toggle-button\" data-toggle-target-id=\"";
  816. // line 573
  817. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  818. echo "-passed_options\" href=\"#\">
  819. Passed Options
  820. <span class=\"toggle-icon\"></span>
  821. </a>
  822. </h3>
  823. <div id=\"";
  824. // line 579
  825. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  826. echo "-passed_options\">
  827. ";
  828. // line 580
  829. if (twig_length_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "passed_options"))) {
  830. // line 581
  831. echo " <table>
  832. <tr>
  833. <th width=\"180\">Option</th>
  834. <th>Passed Value</th>
  835. <th>Resolved Value</th>
  836. </tr>
  837. ";
  838. // line 587
  839. $context['_parent'] = (array) $context;
  840. $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "data"), "passed_options"));
  841. foreach ($context['_seq'] as $context["option"] => $context["value"]) {
  842. // line 588
  843. echo " <tr>
  844. <th>";
  845. // line 589
  846. echo twig_escape_filter($this->env, $this->getContext($context, "option"), "html", null, true);
  847. echo "</th>
  848. <td><pre>";
  849. // line 590
  850. echo twig_escape_filter($this->env, $this->getContext($context, "value"), "html", null, true);
  851. echo "</pre></td>
  852. <td>
  853. ";
  854. // line 592
  855. if (($this->getAttribute($this->getAttribute($this->getContext($context, "data"), "resolved_options"), $this->getContext($context, "option"), array(), "array") === $this->getContext($context, "value"))) {
  856. // line 593
  857. echo " <em>same as passed value</em>
  858. ";
  859. } else {
  860. // line 595
  861. echo " <pre>";
  862. echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getContext($context, "data"), "resolved_options"), $this->getContext($context, "option"), array(), "array"), "html", null, true);
  863. echo "</pre>
  864. ";
  865. }
  866. // line 597
  867. echo " </td>
  868. </tr>
  869. ";
  870. }
  871. $_parent = $context['_parent'];
  872. unset($context['_seq'], $context['_iterated'], $context['option'], $context['value'], $context['_parent'], $context['loop']);
  873. $context = array_intersect_key($context, $_parent) + $_parent;
  874. // line 600
  875. echo " </table>
  876. ";
  877. } else {
  878. // line 602
  879. echo " <p><em>No options where passed when constructing this form.</em></p>
  880. ";
  881. }
  882. // line 604
  883. echo " </div>
  884. ";
  885. }
  886. // line 606
  887. echo "
  888. ";
  889. // line 607
  890. if ($this->getAttribute($this->getContext($context, "data", true), "resolved_options", array(), "any", true, true)) {
  891. // line 608
  892. echo " <h3>
  893. <a class=\"toggle-button\" data-toggle-target-id=\"";
  894. // line 609
  895. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  896. echo "-resolved_options\" href=\"#\">
  897. Resolved Options
  898. <span class=\"toggle-icon\"></span>
  899. </a>
  900. </h3>
  901. <div id=\"";
  902. // line 615
  903. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  904. echo "-resolved_options\" class=\"hidden\">
  905. <table>
  906. <tr>
  907. <th width=\"180\">Option</th>
  908. <th>Value</th>
  909. </tr>
  910. ";
  911. // line 621
  912. $context['_parent'] = (array) $context;
  913. $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "data"), "resolved_options"));
  914. foreach ($context['_seq'] as $context["option"] => $context["value"]) {
  915. // line 622
  916. echo " <tr>
  917. <th>";
  918. // line 623
  919. echo twig_escape_filter($this->env, $this->getContext($context, "option"), "html", null, true);
  920. echo "</th>
  921. <td><pre>";
  922. // line 624
  923. echo twig_escape_filter($this->env, $this->getContext($context, "value"), "html", null, true);
  924. echo "</pre></td>
  925. </tr>
  926. ";
  927. }
  928. $_parent = $context['_parent'];
  929. unset($context['_seq'], $context['_iterated'], $context['option'], $context['value'], $context['_parent'], $context['loop']);
  930. $context = array_intersect_key($context, $_parent) + $_parent;
  931. // line 627
  932. echo " </table>
  933. </div>
  934. ";
  935. }
  936. // line 630
  937. echo "
  938. ";
  939. // line 631
  940. if ($this->getAttribute($this->getContext($context, "data", true), "view_vars", array(), "any", true, true)) {
  941. // line 632
  942. echo " <h3>
  943. <a class=\"toggle-button\" data-toggle-target-id=\"";
  944. // line 633
  945. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  946. echo "-view_vars\" href=\"#\">
  947. View Variables
  948. <span class=\"toggle-icon\"></span>
  949. </a>
  950. </h3>
  951. <div id=\"";
  952. // line 639
  953. echo twig_escape_filter($this->env, $this->getAttribute($this->getContext($context, "data"), "id"), "html", null, true);
  954. echo "-view_vars\" class=\"hidden\">
  955. <table>
  956. <tr>
  957. <th width=\"180\">Variable</th>
  958. <th>Value</th>
  959. </tr>
  960. ";
  961. // line 645
  962. $context['_parent'] = (array) $context;
  963. $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "data"), "view_vars"));
  964. foreach ($context['_seq'] as $context["variable"] => $context["value"]) {
  965. // line 646
  966. echo " <tr>
  967. <th>";
  968. // line 647
  969. echo twig_escape_filter($this->env, $this->getContext($context, "variable"), "html", null, true);
  970. echo "</th>
  971. <td><pre>";
  972. // line 648
  973. echo twig_escape_filter($this->env, $this->getContext($context, "value"), "html", null, true);
  974. echo "</pre></td>
  975. </tr>
  976. ";
  977. }
  978. $_parent = $context['_parent'];
  979. unset($context['_seq'], $context['_iterated'], $context['variable'], $context['value'], $context['_parent'], $context['loop']);
  980. $context = array_intersect_key($context, $_parent) + $_parent;
  981. // line 651
  982. echo " </table>
  983. </div>
  984. ";
  985. }
  986. // line 654
  987. echo " </div>
  988. ";
  989. // line 656
  990. $context['_parent'] = (array) $context;
  991. $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getContext($context, "data"), "children"));
  992. foreach ($context['_seq'] as $context["childName"] => $context["childData"]) {
  993. // line 657
  994. echo " ";
  995. echo $this->getAttribute($this, "form_tree_details", array(0 => $this->getContext($context, "childName"), 1 => $this->getContext($context, "childData"), 2 => $this->getContext($context, "forms_by_hash")), "method");
  996. echo "
  997. ";
  998. }
  999. $_parent = $context['_parent'];
  1000. unset($context['_seq'], $context['_iterated'], $context['childName'], $context['childData'], $context['_parent'], $context['loop']);
  1001. $context = array_intersect_key($context, $_parent) + $_parent;
  1002. } catch (Exception $e) {
  1003. ob_end_clean();
  1004. throw $e;
  1005. }
  1006. return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset());
  1007. }
  1008. public function getTemplateName()
  1009. {
  1010. return "WebPr…

Large files files are truncated, but you can click here to view the full file