File indexing completed on 2025-05-04 05:29:17

0001 <?php 
0002 /**
0003  *  ocs-webserver
0004  *
0005  *  Copyright 2016 by pling GmbH.
0006  *
0007  *    This file is part of ocs-webserver.
0008  *
0009  *    This program is free software: you can redistribute it and/or modify
0010  *    it under the terms of the GNU Affero General Public License as
0011  *    published by the Free Software Foundation, either version 3 of the
0012  *    License, or (at your option) any later version.
0013  *
0014  *    This program is distributed in the hope that it will be useful,
0015  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
0016  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017  *    GNU Affero General Public License for more details.
0018  *
0019  *    You should have received a copy of the GNU Affero General Public License
0020  *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0021  **/
0022 ?>  
0023   <div class="col-sm-4" id="wrap_<?= $this->escape($this->element->getName()) ?>">
0024       <?php if (count($this->element->getMultiOptions()) > 0) : ?>
0025           <select size="9" data-target="wrap_project_sub_subcategory_id"
0026                   class="required form-control product_select_cat"
0027                   id="<?= $this->escape($this->element->getName()) ?>"
0028                   name="<?= $this->escape($this->element->getName()) ?>[]">
0029               <?php
0030               // force $value to array so we can compare multiple values to multiple
0031               // options; also ensure it's a string for comparison purposes.
0032               $value = array_map('strval', (array)$this->element->getValue());
0033               foreach ($this->element->getMultiOptions() as $opt_value => $opt_label) {
0034                   // selected?
0035                   $opt = '';
0036                   if (in_array((string)$opt_value, $value)) {
0037                       $opt .= ' selected="selected"';
0038                   }
0039                   ?>
0040                   <option <?= $opt ?> value="<?= $opt_value ?>"><?= $opt_label ?></option><?php
0041               }
0042               ?>
0043           </select>
0044           <?php if ($this->element->getMessages()) {
0045               $errorHtml = '';
0046               foreach ($this->element->getMessages() as $currentError) {
0047                   $errorHtml .= '<label id="<?=$this->escape($this->element->getName())?>-error" class="error" for="<?=$this->escape($this->element->getName())?>">' . $currentError . '</label>';
0048               }
0049               ?>
0050               <?php echo $errorHtml ?>
0051           <?php } ?>
0052       <?php endif; ?>
0053   </div>