protected function makeSearch() { $where = !strlen($this->_request->getCrudWhere()) ? '' : Project::makeQueryDisplay($this->_request->getCrudWhere(), $this->_type); $search = '<div class="span10">' . NL; if (!empty($where)) { $search .= '<span class="badge badge-success">Recherche en cours : ' . $where . '</span>'; $search .= ' <a class="btn btn-warning" href="#" onclick="document.location.href = document.URL;"><i class="icon-trash icon-white"></i> Supprimer cette recherche</a> '; } $search .= '<button id="newCrudSearch" type="button" class="btn btn-info" onclick="$(\'#crudSearchDiv\').slideDown();$(\'#newCrudSearch\').hide();$(\'#hideCrudSearch\').show();"><i class="icon-search icon-white"></i> Effectuer une nouvelle recherche</button>'; $search .= ' <button id="hideCrudSearch" type="button" style="display: none;" class="btn btn-danger" onclick="$(\'#crudSearchDiv\').slideUp();$(\'#newCrudSearch\').show();$(\'#hideCrudSearch\').hide();">Masquer la recherche</button>'; $search .= '<fieldset id="crudSearchDiv" style="display:none;">' . NL; $search .= '<hr />' . NL; $i = 0; $fieldsJs = array(); $js = '<script type="text/javascript">' . NL; foreach ($this->_config['fields'] as $field => $infosField) { if (true === $infosField['searchable']) { $fieldsJs[] = "'{$field}'"; $search .= '<div class="control-group">' . NL; $search .= '<label class="control-label">' . Html\Helper::display($infosField['label']) . '</label>' . NL; $search .= '<div class="controls" id="crudControl_' . $i . '">' . NL; $search .= '<select id="crudSearchOperator_' . $i . '"> <option value="=">=</option> <option value="LIKE">Contient</option> <option value="NOT LIKE">Ne contient pas</option> <option value="START">Commence par</option> <option value="END">Finit par</option> <option value="<"><</option> <option value=">">></option> <option value="<=">≤</option> <option value=">=">≥</option> </select>' . NL; $content = $infosField['contentSearch']; if (empty($content)) { $search .= '<input type="text" id="crudSearchValue_' . $i . '" value="" />'; } else { $content = repl(array('##field##', '##type##', '##i##'), array($field, $this->_type, $i), $content); $search .= Crud::internalFunction($content); } $search .= ' <a class="btn" href="#" onclick="addRowSearch(\'' . $field . '\', ' . $i . '); return false;"><i class="icon-plus"></i></a>'; $search .= '</div>' . NL; $search .= '</div>' . NL; $i++; } } $js .= 'var searchFields = [' . implode(', ', $fieldsJs) . ']; var numFieldsSearch = ' . ($i - 1) . ';'; $js .= '</script>' . NL; $search .= '<div class="control-group"> <div class="controls"> <button type="submit" class="btn btn-primary" name="Rechercher" onclick="makeCrudSearch();">Rechercher</button> </div> </div>' . NL; $search .= '</fieldset>' . NL; $search .= '</div> <div class="span2"></div>' . NL . $js . NL; $this->_search = $search; }