1
2
3
4
5
6
7
8
9
10
11
|
<?php
namespace Garradin;
require_once __DIR__ . '/_inc.php';
$champs = $config->get('champs_membres');
$text_query = trim(qg('qt'));
$query = null;
$limit = f('limit') ?: 100;
$order = f('order');
$desc = (bool) f('desc');
|
>
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php
namespace Garradin;
require_once __DIR__ . '/_inc.php';
$recherche = new Recherche;
$champs = $config->get('champs_membres');
$text_query = trim(qg('qt'));
$query = null;
$limit = f('limit') ?: 100;
$order = f('order');
$desc = (bool) f('desc');
|
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
elseif (f('q') !== null)
{
$query = json_decode(f('q'), true);
}
if ($query)
{
$sql_query = $membres->buildSQLSearchQuery($query, $order, $desc, $limit);
$result = $membres->searchSQL($sql_query);
if (count($result) == 1 && $text_query !== '')
{
Utils::redirect(ADMIN_URL . 'membres/fiche.php?id=' . (int)$result[0]->id);
}
$tpl->assign('result_header', $membres->getSearchHeaderFields($result));
|
|
|
|
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
elseif (f('q') !== null)
{
$query = json_decode(f('q'), true);
}
if ($query)
{
$sql_query = $recherche->buildQuery('membres', $query, $order, $desc, $limit);
$result = $recherche->searchSQL('membres', $sql_query);
if (count($result) == 1 && $text_query !== '')
{
Utils::redirect(ADMIN_URL . 'membres/fiche.php?id=' . (int)$result[0]->id);
}
$tpl->assign('result_header', $membres->getSearchHeaderFields($result));
|
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
$tpl->assign('query', $query);
$tpl->assign('sql_query', $sql_query);
$tpl->assign('result', $result);
$tpl->assign('order', $order);
$tpl->assign('desc', $desc);
$tpl->assign('limit', $limit);
$colonnes = [];
foreach ($champs->getList() as $champ => $config)
{
$colonne = [
'label' => $config->title,
'type' => 'text',
'null' => true,
];
if ($config->type == 'checkbox')
{
$colonne['type'] = 'boolean';
}
elseif ($config->type == 'select')
{
$colonne['type'] = 'enum';
$colonne['values'] = $config->options;
}
elseif ($config->type == 'multiple')
{
$colonne['type'] = 'bitwise';
$colonne['values'] = $config->options;
}
elseif ($config->type == 'date' || $config->type == 'datetime')
{
$colonne['type'] = $config->type;
}
elseif ($config->type == 'number' || $champ == 'numero')
{
$colonne['type'] = 'integer';
}
$colonnes[$champ] = $colonne;
}
$tpl->assign('colonnes', $colonnes);
$tpl->display('admin/membres/recherche.tpl');
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
|
77
78
79
80
81
82
83
84
85
86
|
$tpl->assign('query', $query);
$tpl->assign('sql_query', $sql_query);
$tpl->assign('result', $result);
$tpl->assign('order', $order);
$tpl->assign('desc', $desc);
$tpl->assign('limit', $limit);
$tpl->assign('colonnes', $recherche->getColumns('membres'));
$tpl->display('admin/membres/recherche.tpl');
|