var/cache/dev/twig/7d/7d0adc0fd33edfaa72eb2bd7dad2c6fa.php line 35

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* areas/gallery-carousel/view.html.twig */
  14. class __TwigTemplate_33f4c5c7a1289fcfb46b089250183647 extends Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->parent false;
  23.         $this->blocks = [
  24.         ];
  25.         $this->sandbox $this->env->getExtension('\Twig\Extension\SandboxExtension');
  26.         $this->checkSecurity();
  27.     }
  28.     protected function doDisplay(array $context, array $blocks = [])
  29.     {
  30.         $macros $this->macros;
  31.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  32.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""areas/gallery-carousel/view.html.twig"));
  33.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  34.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""areas/gallery-carousel/view.html.twig"));
  35.         // line 1
  36.         echo "<section class=\"area-gallery-carousel\">
  37.     ";
  38.         // line 2
  39.         $context["selectStore"] = [];
  40.         // line 3
  41.         echo "    ";
  42.         $context['_parent'] = $context;
  43.         $context['_seq'] = twig_ensure_traversable(range(229));
  44.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  45.             // line 4
  46.             echo "        ";
  47.             $context["selectStore"] = twig_array_merge($this->sandbox->ensureToStringAllowed((isset($context["selectStore"]) || array_key_exists("selectStore"$context) ? $context["selectStore"] : (function () { throw new RuntimeError('Variable "selectStore" does not exist.'4$this->source); })()), 4$this->source), [$context["i"]]);
  48.             // line 5
  49.             echo "    ";
  50.         }
  51.         $_parent $context['_parent'];
  52.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  53.         $context array_intersect_key($context$_parent) + $_parent;
  54.         // line 6
  55.         echo "
  56.     ";
  57.         // line 7
  58.         $context["slidesSelect"] = $this->extensions['Pimcore\Twig\Extension\DocumentEditableExtension']->renderEditable($context"select""slides", ["store" =>         // line 8
  59. (isset($context["selectStore"]) || array_key_exists("selectStore"$context) ? $context["selectStore"] : (function () { throw new RuntimeError('Variable "selectStore" does not exist.'8$this->source); })()), "reload" => true"width" => 70"class" => "align-middle"]);
  60.         // line 13
  61.         echo "
  62.     ";
  63.         // line 14
  64.         $context["showPreviewsCheckbox"] = $this->extensions['Pimcore\Twig\Extension\DocumentEditableExtension']->renderEditable($context"checkbox""showPreviews", ["class" => "align-middle pt-7px"]);
  65.         // line 15
  66.         echo "    ";
  67.         $context["showPreviews"] = (twig_get_attribute($this->env$this->source, (isset($context["showPreviewsCheckbox"]) || array_key_exists("showPreviewsCheckbox"$context) ? $context["showPreviewsCheckbox"] : (function () { throw new RuntimeError('Variable "showPreviewsCheckbox" does not exist.'15$this->source); })()), "isChecked", [], "any"falsefalsetrue15) &&  !(isset($context["editmode"]) || array_key_exists("editmode"$context) ? $context["editmode"] : (function () { throw new RuntimeError('Variable "editmode" does not exist.'15$this->source); })()));
  68.         // line 16
  69.         echo "
  70.     ";
  71.         // line 17
  72.         $context["id"] = ("gallery-carousel-" $this->env->getFunction('uniqid')->getCallable()());
  73.         // line 18
  74.         echo "    ";
  75.         $context["slides"] = ((twig_get_attribute($this->env$this->source, ($context["slidesSelect"] ?? null), "getData", [], "method"truetruetrue18)) ? (_twig_default_filter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, ($context["slidesSelect"] ?? null), "getData", [], "method"falsefalsetrue18), 18$this->source), 2)) : (2));
  76.         // line 19
  77.         echo "
  78.     ";
  79.         // line 20
  80.         if ((isset($context["editmode"]) || array_key_exists("editmode"$context) ? $context["editmode"] : (function () { throw new RuntimeError('Variable "editmode" does not exist.'20$this->source); })())) {
  81.             // line 21
  82.             echo "
  83.         <div class=\"alert alert-secondary col-xs-12\" style=\"height: 75px\">
  84.             <div class=\"col-xs-6 d-inline mx-auto\">
  85.                 <span class=\"editmode-label align-middle\">How many images you want to show?</span>
  86.                 ";
  87.             // line 25
  88.             echo $this->sandbox->ensureToStringAllowed((isset($context["slidesSelect"]) || array_key_exists("slidesSelect"$context) ? $context["slidesSelect"] : (function () { throw new RuntimeError('Variable "slidesSelect" does not exist.'25$this->source); })()), 25$this->source);
  89.             echo "
  90.             </div>
  91.             <div class=\"col-xs-6 d-inline ml-5\">
  92.                 <span class=\"editmode-label align-middle\">Show Previews</span>
  93.                 ";
  94.             // line 29
  95.             echo $this->sandbox->ensureToStringAllowed((isset($context["showPreviewsCheckbox"]) || array_key_exists("showPreviewsCheckbox"$context) ? $context["showPreviewsCheckbox"] : (function () { throw new RuntimeError('Variable "showPreviewsCheckbox" does not exist.'29$this->source); })()), 29$this->source);
  96.             echo "
  97.             </div>
  98.         </div>
  99.     ";
  100.         }
  101.         // line 34
  102.         echo "
  103.     <div id=\"";
  104.         // line 35
  105.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["id"]) || array_key_exists("id"$context) ? $context["id"] : (function () { throw new RuntimeError('Variable "id" does not exist.'35$this->source); })()), 35$this->source), "html"nulltrue);
  106.         echo "\" class=\"gallery carousel slide\" data-ride=\"carousel\"  ";
  107.         echo (((isset($context["editmode"]) || array_key_exists("editmode"$context) ? $context["editmode"] : (function () { throw new RuntimeError('Variable "editmode" does not exist.'35$this->source); })())) ? ("data-interval=\"false\"") : (""));
  108.         echo ">
  109.         <!-- Indicators -->
  110.         <ol class=\"carousel-indicators ";
  111.         // line 37
  112.         echo (((isset($context["showPreviews"]) || array_key_exists("showPreviews"$context) ? $context["showPreviews"] : (function () { throw new RuntimeError('Variable "showPreviews" does not exist.'37$this->source); })())) ? ("preview visible-lg") : (""));
  113.         echo "\">
  114.             ";
  115.         // line 39
  116.         $context['_parent'] = $context;
  117.         $context['_seq'] = twig_ensure_traversable(range(0, ((isset($context["slides"]) || array_key_exists("slides"$context) ? $context["slides"] : (function () { throw new RuntimeError('Variable "slides" does not exist.'39$this->source); })()) - 1)));
  118.         $context['loop'] = [
  119.           'parent' => $context['_parent'],
  120.           'index0' => 0,
  121.           'index'  => 1,
  122.           'first'  => true,
  123.         ];
  124.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  125.             $length count($context['_seq']);
  126.             $context['loop']['revindex0'] = $length 1;
  127.             $context['loop']['revindex'] = $length;
  128.             $context['loop']['length'] = $length;
  129.             $context['loop']['last'] = === $length;
  130.         }
  131.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  132.             // line 40
  133.             echo "
  134.                 <li data-target=\"#";
  135.             // line 41
  136.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["id"]) || array_key_exists("id"$context) ? $context["id"] : (function () { throw new RuntimeError('Variable "id" does not exist.'41$this->source); })()), 41$this->source), "html"nulltrue);
  137.             echo "\" data-slide-to=\"";
  138.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed($context["i"], 41$this->source), "html"nulltrue);
  139.             echo "\" class=\"";
  140.             echo ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsetrue41)) ? ("active") : (""));
  141.             echo "\">
  142.                     ";
  143.             // line 42
  144.             if ((isset($context["showPreviews"]) || array_key_exists("showPreviews"$context) ? $context["showPreviews"] : (function () { throw new RuntimeError('Variable "showPreviews" does not exist.'42$this->source); })())) {
  145.                 // line 43
  146.                 echo "                        ";
  147.                 echo $this->extensions['Pimcore\Twig\Extension\DocumentEditableExtension']->renderEditable($context"image", ("image_" $this->sandbox->ensureToStringAllowed(                // line 44
  148. $context["i"], 44$this->source)), ["thumbnail" => "galleryCarouselPreview"]);
  149.                 // line 47
  150.                 echo "
  151.                     ";
  152.             }
  153.             // line 49
  154.             echo "                </li>
  155.             ";
  156.             ++$context['loop']['index0'];
  157.             ++$context['loop']['index'];
  158.             $context['loop']['first'] = false;
  159.             if (isset($context['loop']['length'])) {
  160.                 --$context['loop']['revindex0'];
  161.                 --$context['loop']['revindex'];
  162.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  163.             }
  164.         }
  165.         $_parent $context['_parent'];
  166.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  167.         $context array_intersect_key($context$_parent) + $_parent;
  168.         // line 52
  169.         echo "        </ol>
  170.         <div class=\"carousel-inner\">
  171.             ";
  172.         // line 55
  173.         $context['_parent'] = $context;
  174.         $context['_seq'] = twig_ensure_traversable(range(0, ((isset($context["slides"]) || array_key_exists("slides"$context) ? $context["slides"] : (function () { throw new RuntimeError('Variable "slides" does not exist.'55$this->source); })()) - 1)));
  175.         $context['loop'] = [
  176.           'parent' => $context['_parent'],
  177.           'index0' => 0,
  178.           'index'  => 1,
  179.           'first'  => true,
  180.         ];
  181.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  182.             $length count($context['_seq']);
  183.             $context['loop']['revindex0'] = $length 1;
  184.             $context['loop']['revindex'] = $length;
  185.             $context['loop']['length'] = $length;
  186.             $context['loop']['last'] = === $length;
  187.         }
  188.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  189.             // line 56
  190.             echo "                <div class=\"carousel-item ";
  191.             echo twig_escape_filter($this->env, (($this->sandbox->ensureToStringAllowed((isset($context["id"]) || array_key_exists("id"$context) ? $context["id"] : (function () { throw new RuntimeError('Variable "id" does not exist.'56$this->source); })()), 56$this->source) . "-") . $this->sandbox->ensureToStringAllowed($context["i"], 56$this->source)), "html"nulltrue);
  192.             echo " ";
  193.             echo ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsetrue56)) ? ("active") : (""));
  194.             echo "\">
  195.                     ";
  196.             // line 57
  197.             echo $this->extensions['Pimcore\Twig\Extension\DocumentEditableExtension']->renderEditable($context"image", ("image_" $this->sandbox->ensureToStringAllowed(            // line 58
  198. $context["i"], 58$this->source)), ["thumbnail" => "galleryCarousel""hidetext" => true"dropClass" => (($this->sandbox->ensureToStringAllowed(            // line 61
  199. (isset($context["id"]) || array_key_exists("id"$context) ? $context["id"] : (function () { throw new RuntimeError('Variable "id" does not exist.'61$this->source); })()), 61$this->source) . "-") . $this->sandbox->ensureToStringAllowed($context["i"], 61$this->source)), "imgAttributes" => ["class" => "d-block w-100"]]);
  200.             // line 64
  201.             echo "
  202.                     <div class=\"carousel-caption text-center ";
  203.             // line 66
  204.             echo (((isset($context["showPreviews"]) || array_key_exists("showPreviews"$context) ? $context["showPreviews"] : (function () { throw new RuntimeError('Variable "showPreviews" does not exist.'66$this->source); })())) ? ("vh-10") : (""));
  205.             echo "\">
  206.                         <h3>";
  207.             // line 67
  208.             echo $this->extensions['Pimcore\Twig\Extension\DocumentEditableExtension']->renderEditable($context"input", ("caption-title_" $this->sandbox->ensureToStringAllowed($context["i"], 67$this->source)));
  209.             echo "</h3>
  210.                         <p class=\"hero-text\">";
  211.             // line 68
  212.             echo $this->extensions['Pimcore\Twig\Extension\DocumentEditableExtension']->renderEditable($context"textarea", ("caption-text" $this->sandbox->ensureToStringAllowed($context["i"], 68$this->source)));
  213.             echo "</p>
  214.                         <p>";
  215.             // line 69
  216.             $context["cLink"] = $this->extensions['Pimcore\Twig\Extension\DocumentEditableExtension']->renderEditable($context"link", ("caption-link" $this->sandbox->ensureToStringAllowed($context["i"], 69$this->source)), ["class" => "btn btn-lg btn-primary"]);
  217.             // line 72
  218.             echo "                            ";
  219.             echo $this->sandbox->ensureToStringAllowed((isset($context["cLink"]) || array_key_exists("cLink"$context) ? $context["cLink"] : (function () { throw new RuntimeError('Variable "cLink" does not exist.'72$this->source); })()), 72$this->source);
  220.             echo "
  221.                         </p>
  222.                     </div>
  223.                 </div>
  224.             ";
  225.             ++$context['loop']['index0'];
  226.             ++$context['loop']['index'];
  227.             $context['loop']['first'] = false;
  228.             if (isset($context['loop']['length'])) {
  229.                 --$context['loop']['revindex0'];
  230.                 --$context['loop']['revindex'];
  231.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  232.             }
  233.         }
  234.         $_parent $context['_parent'];
  235.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  236.         $context array_intersect_key($context$_parent) + $_parent;
  237.         // line 77
  238.         echo "        </div>
  239.         <a class=\"carousel-control carousel-control-prev\" href=\"#";
  240.         // line 79
  241.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["id"]) || array_key_exists("id"$context) ? $context["id"] : (function () { throw new RuntimeError('Variable "id" does not exist.'79$this->source); })()), 79$this->source), "html"nulltrue);
  242.         echo "\" role=\"button\" data-slide=\"prev\">
  243.             <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>
  244.             <span class=\"sr-only\">Previous</span>
  245.         </a>
  246.         <a class=\"carousel-control carousel-control-next\" href=\"#";
  247.         // line 83
  248.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["id"]) || array_key_exists("id"$context) ? $context["id"] : (function () { throw new RuntimeError('Variable "id" does not exist.'83$this->source); })()), 83$this->source), "html"nulltrue);
  249.         echo "\" role=\"button\" data-slide=\"next\">
  250.             <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>
  251.             <span class=\"sr-only\">Next</span>
  252.         </a>
  253.     </div>
  254. </section>
  255. ";
  256.         
  257.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  258.         
  259.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  260.     }
  261.     /**
  262.      * @codeCoverageIgnore
  263.      */
  264.     public function getTemplateName()
  265.     {
  266.         return "areas/gallery-carousel/view.html.twig";
  267.     }
  268.     /**
  269.      * @codeCoverageIgnore
  270.      */
  271.     public function isTraitable()
  272.     {
  273.         return false;
  274.     }
  275.     /**
  276.      * @codeCoverageIgnore
  277.      */
  278.     public function getDebugInfo()
  279.     {
  280.         return array (  263 => 83,  256 => 79,  252 => 77,  232 => 72,  230 => 69,  226 => 68,  222 => 67,  218 => 66,  214 => 64,  212 => 61,  211 => 58,  210 => 57,  203 => 56,  186 => 55,  181 => 52,  165 => 49,  161 => 47,  159 => 44,  157 => 43,  155 => 42,  147 => 41,  144 => 40,  127 => 39,  122 => 37,  115 => 35,  112 => 34,  104 => 29,  97 => 25,  91 => 21,  89 => 20,  86 => 19,  83 => 18,  81 => 17,  78 => 16,  75 => 15,  73 => 14,  70 => 13,  68 => 8,  67 => 7,  64 => 6,  58 => 5,  55 => 4,  50 => 3,  48 => 2,  45 => 1,);
  281.     }
  282.     public function getSourceContext()
  283.     {
  284.         return new Source("<section class=\"area-gallery-carousel\">
  285.     {% set selectStore = [] %}
  286.     {% for i in 2..29 %}
  287.         {% set selectStore = selectStore|merge([i]) %}
  288.     {% endfor %}
  289.     {% set slidesSelect = pimcore_select('slides', {
  290.         store: selectStore,
  291.         reload: true,
  292.         width: 70,
  293.         class: 'align-middle'
  294.     }) %}
  295.     {% set showPreviewsCheckbox = pimcore_checkbox('showPreviews', {class: 'align-middle pt-7px'}) %}
  296.     {% set showPreviews = showPreviewsCheckbox.isChecked and not editmode %}
  297.     {% set id = 'gallery-carousel-' ~ uniqid() %}
  298.     {% set slides = slidesSelect.getData()|default(2) %}
  299.     {% if editmode %}
  300.         <div class=\"alert alert-secondary col-xs-12\" style=\"height: 75px\">
  301.             <div class=\"col-xs-6 d-inline mx-auto\">
  302.                 <span class=\"editmode-label align-middle\">How many images you want to show?</span>
  303.                 {{ slidesSelect|raw }}
  304.             </div>
  305.             <div class=\"col-xs-6 d-inline ml-5\">
  306.                 <span class=\"editmode-label align-middle\">Show Previews</span>
  307.                 {{ showPreviewsCheckbox|raw }}
  308.             </div>
  309.         </div>
  310.     {% endif %}
  311.     <div id=\"{{ id }}\" class=\"gallery carousel slide\" data-ride=\"carousel\"  {{ editmode ? 'data-interval=\"false\"' : '' }}>
  312.         <!-- Indicators -->
  313.         <ol class=\"carousel-indicators {{ showPreviews ? 'preview visible-lg' }}\">
  314.             {% for i in 0..(slides-1) %}
  315.                 <li data-target=\"#{{ id }}\" data-slide-to=\"{{ i }}\" class=\"{{ loop.first ? 'active' }}\">
  316.                     {% if showPreviews %}
  317.                         {{
  318.                             pimcore_image('image_' ~ i, {
  319.                                 thumbnail: 'galleryCarouselPreview',
  320.                             })
  321.                         }}
  322.                     {% endif %}
  323.                 </li>
  324.             {% endfor %}
  325.         </ol>
  326.         <div class=\"carousel-inner\">
  327.             {% for i in 0..(slides-1) %}
  328.                 <div class=\"carousel-item {{ id ~ '-' ~ i }} {{ loop.first ? 'active' }}\">
  329.                     {{
  330.                         pimcore_image('image_' ~ i, {
  331.                             thumbnail: 'galleryCarousel',
  332.                             hidetext: true,
  333.                             dropClass: id ~ '-' ~ i,
  334.                             imgAttributes: {class: 'd-block w-100'}
  335.                         })
  336.                     }}
  337.                     <div class=\"carousel-caption text-center {{ showPreviews ? 'vh-10' : ''}}\">
  338.                         <h3>{{ pimcore_input('caption-title_' ~ i) }}</h3>
  339.                         <p class=\"hero-text\">{{ pimcore_textarea('caption-text' ~ i) }}</p>
  340.                         <p>{% set cLink = pimcore_link('caption-link' ~ i, {
  341.                                 'class': 'btn btn-lg btn-primary'
  342.                             }) %}
  343.                             {{ cLink|raw }}
  344.                         </p>
  345.                     </div>
  346.                 </div>
  347.             {% endfor %}
  348.         </div>
  349.         <a class=\"carousel-control carousel-control-prev\" href=\"#{{ id }}\" role=\"button\" data-slide=\"prev\">
  350.             <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>
  351.             <span class=\"sr-only\">Previous</span>
  352.         </a>
  353.         <a class=\"carousel-control carousel-control-next\" href=\"#{{ id }}\" role=\"button\" data-slide=\"next\">
  354.             <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>
  355.             <span class=\"sr-only\">Next</span>
  356.         </a>
  357.     </div>
  358. </section>
  359. ""areas/gallery-carousel/view.html.twig""/var/www/dev-10/templates/areas/gallery-carousel/view.html.twig");
  360.     }
  361.     
  362.     public function checkSecurity()
  363.     {
  364.         static $tags = array("set" => 2"for" => 3"if" => 20);
  365.         static $filters = array("merge" => 4"default" => 18"raw" => 25"escape" => 35);
  366.         static $functions = array("range" => 3"pimcore_select" => 7"pimcore_checkbox" => 14"uniqid" => 17"pimcore_image" => 44"pimcore_input" => 67"pimcore_textarea" => 68"pimcore_link" => 69);
  367.         try {
  368.             $this->sandbox->checkSecurity(
  369.                 ['set''for''if'],
  370.                 ['merge''default''raw''escape'],
  371.                 ['range''pimcore_select''pimcore_checkbox''uniqid''pimcore_image''pimcore_input''pimcore_textarea''pimcore_link']
  372.             );
  373.         } catch (SecurityError $e) {
  374.             $e->setSourceContext($this->source);
  375.             if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
  376.                 $e->setTemplateLine($tags[$e->getTagName()]);
  377.             } elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
  378.                 $e->setTemplateLine($filters[$e->getFilterName()]);
  379.             } elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
  380.                 $e->setTemplateLine($functions[$e->getFunctionName()]);
  381.             }
  382.             throw $e;
  383.         }
  384.     }
  385. }