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="form-group">
0024   <div class="col-sm-4 margin-top-15">
0025       <?php if ($this->element->isRequired()) { ?>
0026         <div class="small grey bold-font pull-left margin-right-5">*</div>
0027       <?php } ?>
0028     <label class="form-label" for="<?= $this->escape($this->element->getName()) ?>">Category</label>
0029   </div>
0030   <div class="col-sm-8 margin-top-15">
0031     <div class="small grey bold-font pull-left margin-right-5">*</div>
0032     <label class="form-label">Sub-Category</label>
0033   </div>
0034   <div class="col-sm-4">
0035     <select data-target="wrap_project_subcategory_id"
0036             data-sub-target="project_sub_subcategory_id"
0037             class="required form-control product_select_cat"
0038             id="<?= $this->escape($this->element->getName()) ?>"
0039             name="<?= $this->escape($this->element->getName()) ?>">
0040         <?php
0041         // force $value to array so we can compare multiple values to multiple
0042         // options; also ensure it's a string for comparison purposes.
0043         $value = array_map('strval', (array)$this->element->getValue());
0044         foreach ($this->element->getMultiOptions() as $opt_value => $opt_label) {
0045             // selected?
0046             $opt = '';
0047             if (in_array((string)$opt_value, $value)) {
0048                 $opt .= ' selected="selected"';
0049             }
0050             ?>
0051           <option <?= $opt ?> value="<?= $opt_value ?>"><?= $opt_label ?></option><?php
0052         }
0053         ?>
0054     </select>
0055       <?php if ($this->element->getMessages()) {
0056           $errorHtml = '';
0057           foreach ($this->element->getMessages() as $currentError) {
0058               $errorHtml .= '<label id="<?=$this->escape($this->element->getName())?>-error" class="error" for="<?=$this->escape($this->element->getName())?>">' . $currentError . '</label>';
0059           }
0060           ?>
0061           <?php echo $errorHtml ?>
0062       <?php } ?>
0063   </div>
0064 </div>