Overview
Comment: | Rendre une recherche SQL enregistrée accessible aux non-admins |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | dev |
Files: | files | file ages | folders |
SHA1: |
d612a3d0b0ae36ddef47fb7c8d8041e3 |
User & Date: | bohwaz on 2018-10-03 11:46:40 |
Other Links: | branch diff | manifest | tags |
Context
2018-10-03
| ||
14:14 | Ajout mention check-in: 0d9473fc18 user: bohwaz tags: dev | |
11:46 | Rendre une recherche SQL enregistrée accessible aux non-admins check-in: d612a3d0b0 user: bohwaz tags: dev | |
11:34 | Uniformisation des actions en bas des listes de membres check-in: ec3640ce30 user: bohwaz tags: dev | |
Changes
Modified src/templates/admin/membres/recherche_sql.tpl from [0b6e16946c] to [af64d8399c].
1 2 3 4 | {include file="admin/_head.tpl" title="Recherche par requête SQL" current="membres" js=1} {include file="admin/membres/_nav.tpl" current="sql"} | > | | | | | | | | | | | | | | | | | | > > | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | {include file="admin/_head.tpl" title="Recherche par requête SQL" current="membres" js=1} {include file="admin/membres/_nav.tpl" current="sql"} {if $session->canAccess('membres', Membres::DROIT_ADMIN)} <form method="get" action="{$admin_url}membres/recherche_sql.php"> <fieldset> <legend>Schéma des tables SQL</legend> <pre class="sql_schema">{$schema.membres}</pre> <dl> <dt><label for="f_query">Requête SQL</label></dt> <dd class="help">Si aucune limite n'est précisée, une limite de 100 résultats sera appliquée.</dd> <dd><textarea name="query" id="f_query" cols="70" rows="7" required="required">{$query}</textarea></dd> </dl> <p class="submit"> <input type="submit" name="run" value="Exécuter →" /> {if $query} {if $id}<input type="hidden" name="id" value="{$id}" />{/if} <input type="submit" name="save" value="{if $id}Enregistrer : {$recherche.intitule}{else}Enregistrer cette recherche{/if}" class="minor" /> {/if} </p> </fieldset> </form> {/if} {form_errors} <form method="post" action="{$admin_url}membres/action.php" class="memberList"> {if !empty($result)} <p class="alert">{$result|count} résultats retournés.</p> <table class="list search"> <thead> {if array_key_exists('id', $result[0])} <td class="check"><input type="checkbox" value="Tout cocher / décocher" onclick="g.checkUncheck();" /></td> {/if} {foreach from=$result[0] key="col" item="ignore"} <td>{$col}</td> {/foreach} {if array_key_exists('id', $result[0])} <td></td> {/if} </thead> <tbody> {foreach from=$result item="row"} <tr> {if $session->canAccess('membres', Membres::DROIT_ADMIN) && array_key_exists('id', $result[0])} <td class="check">{if !empty($row.id)}<input type="checkbox" name="selected[]" value="{$row.id}" />{/if}</td> {/if} {foreach from=$row item="col"} <td>{$col}</td> {/foreach} {if array_key_exists('id', $result[0])} <td class="actions"> {if !empty($row.id)} <a class="icn" href="{$admin_url}membres/fiche.php?id={$row.id}" title="Fiche membre">👤</a> <a class="icn" href="{$admin_url}membres/modifier.php?id={$row.id}" title="Modifier ce membre">✎</a> {/if} </td> {/if} </tr> {/foreach} </tbody> {if $session->canAccess('membres', Membres::DROIT_ADMIN)} {include file="admin/membres/_list_actions.tpl" colspan=count((array)$result[0])+1} {/if} </table> {else} <p class="alert"> Aucun membre trouvé. </p> {/if} </form> {include file="admin/_foot.tpl"} |
Modified src/www/admin/membres/action.php from [b5ff480d3c] to [d0b4b091d1].
︙ | ︙ | |||
29 30 31 32 33 34 35 | else { $import->toCSV($list); } exit; } | < | | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | else { $import->toCSV($list); } exit; } elseif ($action == 'move' || $action == 'delete') { foreach (f('selected') as &$id) { $id = (int) $id; // On ne permet pas d'action collective sur l'utilisateur courant pour éviter les risques // d'erreur genre "oh je me suis supprimé du coup j'ai plus accès à rien" |
︙ | ︙ |
Modified src/www/admin/membres/recherche_sql.php from [c927d80610] to [b02dad85af].
1 2 3 4 5 | <?php namespace Garradin; require_once __DIR__ . '/_inc.php'; | < < | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <?php namespace Garradin; require_once __DIR__ . '/_inc.php'; $recherche = new Recherche; $query = trim(qg('query')); $result = null; $id = (int) qg('id'); if ($id) { $r = $recherche->get($id); if (!$r || $r->type != Recherche::TYPE_SQL) { throw new UserException('Recherche inconnue'); } if (!$session->canAccess('membres', Membres::DROIT_ADMIN) || !$query) { $query = $r->contenu; } $tpl->assign('recherche', $r); } else { $session->requireAccess('membres', Membres::DROIT_ADMIN); } $tpl->assign('schema', $recherche->schema('membres')); $tpl->assign('query', $query); if ($query != '') { try { |
︙ | ︙ |