Overview
Comment: | Merge with trunk |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | emails |
Files: | files | file ages | folders |
SHA3-256: |
838c0498dab273a6477cc0d55d4b89b7 |
User & Date: | bohwaz on 2022-06-01 23:32:56 |
Other Links: | branch diff | manifest | tags |
Context
2022-06-02
| ||
00:00 | Remove unused 'use' statement check-in: 143953387e user: bohwaz tags: emails | |
2022-06-01
| ||
23:32 | Merge with trunk check-in: 838c0498da user: bohwaz tags: emails | |
23:32 | Rename signals check-in: d4a6e8ad78 user: bohwaz tags: emails | |
2022-05-31
| ||
14:20 | Implement menu.item signal, delete SYSTEM_MENU_ITEMS constant check-in: eb086f73c1 user: bohwaz tags: trunk, stable | |
Changes
Modified src/config.dist.php from [2a52306478] to [4dc5196bb5].
︙ | ︙ | |||
134 135 136 137 138 139 140 | * Format : pour chaque signal, un tableau comprenant une seule clé et une seule valeur. * La clé est le nom du signal, et la valeur est la fonction. * * Défaut: [] (tableau vide) */ //const SYSTEM_SIGNALS = [['files.delete' => 'MyNamespace\Signals::deleteFile'], ['entity.Accounting\Transaction.save.before' => 'MyNamespace\Signals::saveTransaction']]; | < < < < < < < < < < < < | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | * Format : pour chaque signal, un tableau comprenant une seule clé et une seule valeur. * La clé est le nom du signal, et la valeur est la fonction. * * Défaut: [] (tableau vide) */ //const SYSTEM_SIGNALS = [['files.delete' => 'MyNamespace\Signals::deleteFile'], ['entity.Accounting\Transaction.save.before' => 'MyNamespace\Signals::saveTransaction']]; /** * Adresse URI de la racine du site Garradin * (doit se terminer par un slash) * * Défaut : découverte automatique à partir de SCRIPT_NAME */ |
︙ | ︙ |
Modified src/include/init.php from [931e196013] to [4b7b923e75].
︙ | ︙ | |||
210 211 212 213 214 215 216 | 'FILE_STORAGE_QUOTA' => null, 'API_USER' => null, 'API_PASSWORD' => null, 'PDF_COMMAND' => null, 'CALC_CONVERT_COMMAND' => null, 'CONTRIBUTOR_LICENSE' => null, 'SQL_DEBUG' => null, | < | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | 'FILE_STORAGE_QUOTA' => null, 'API_USER' => null, 'API_PASSWORD' => null, 'PDF_COMMAND' => null, 'CALC_CONVERT_COMMAND' => null, 'CONTRIBUTOR_LICENSE' => null, 'SQL_DEBUG' => null, 'SYSTEM_SIGNALS' => [], ]; foreach ($default_config as $const => $value) { $const = sprintf('Garradin\\%s', $const); |
︙ | ︙ |
Modified src/include/lib/Garradin/Plugin.php from [7a837036f4] to [e0adc40935].
︙ | ︙ | |||
392 393 394 395 396 397 398 399 | /** * Liste les plugins qui doivent être affichés dans le menu * @return array Tableau associatif id => nom (ou un tableau vide si aucun plugin ne doit être affiché) */ static public function listMenu(Session $session) { $db = DB::getInstance(); | > > > > > | | 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 | /** * Liste les plugins qui doivent être affichés dans le menu * @return array Tableau associatif id => nom (ou un tableau vide si aucun plugin ne doit être affiché) */ static public function listMenu(Session $session) { $list = []; // First let plugins handle self::fireSignal('menu.item', compact('session'), $list); $db = DB::getInstance(); $plugins = $db->getGrouped('SELECT id, nom, menu_condition FROM plugins WHERE menu = 1 ORDER BY nom;'); // FIXME deprecated $fix_legacy = [ '{Membres::DROIT_AUCUN}' => '{ACCESS_NONE}', '{Membres::DROIT_ACCES}' => '{ACCESS_READ}', '{Membres::DROIT_ECRITURE}' => '{ACCESS_WRITE}', '{Membres::DROIT_ADMIN}' => '{ACCESS_ADMIN}', |
︙ | ︙ | |||
415 416 417 418 419 420 421 | $permissions = [ '{ACCESS_NONE}' => $session::ACCESS_NONE, '{ACCESS_READ}' => $session::ACCESS_READ, '{ACCESS_WRITE}' => $session::ACCESS_WRITE, '{ACCESS_ADMIN}' => $session::ACCESS_ADMIN, ]; | | < | 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 | $permissions = [ '{ACCESS_NONE}' => $session::ACCESS_NONE, '{ACCESS_READ}' => $session::ACCESS_READ, '{ACCESS_WRITE}' => $session::ACCESS_WRITE, '{ACCESS_ADMIN}' => $session::ACCESS_ADMIN, ]; foreach ($plugins as $id => $row) { if (!self::getPath($row->id, false)) { // Ne pas lister les plugins dont le code a disparu unset($list[$id]); continue; } if (!$row->menu_condition) { continue; } $new_condition = strtr($row->menu_condition, $fix_legacy); // FIXME: legacy if ($new_condition != $row->menu_condition) { |
︙ | ︙ | |||
459 460 461 462 463 464 465 | $query = 'SELECT 1 WHERE ' . $condition . ';'; $res = $db->protectSelect(['membres' => []], $query); if (!$db->firstColumn($query)) { | | | | > > | | 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 | $query = 'SELECT 1 WHERE ' . $condition . ';'; $res = $db->protectSelect(['membres' => []], $query); if (!$db->firstColumn($query)) { unset($plugins[$id]); continue; } } foreach ($plugins as $id => $row) { $list['plugin_' . $id] = sprintf('<a href="%s%s/">%s</a>', Utils::getLocalURL('!plugin/'), $id, $row->nom); } ksort($list); return $list; } /** * Liste les plugins téléchargés mais non installés * @return array Liste des plugins téléchargés |
︙ | ︙ |
Modified src/templates/admin/_head.tpl from [d9d7c95995] to [32e036d1b7].
︙ | ︙ | |||
50 51 52 53 54 55 56 | {/if} <ul> {if $is_logged} <?php $current_parent = substr($current, 0, strpos($current, '/')); ?> <li class="home{if $current == 'home'} current{elseif $current_parent == 'home'} current_parent{/if}"><h3><a href="{$admin_url}"><b data-icn="{icon html=false shape="home"}"></b><span>Accueil</span></a></h3> | | | < < < | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | {/if} <ul> {if $is_logged} <?php $current_parent = substr($current, 0, strpos($current, '/')); ?> <li class="home{if $current == 'home'} current{elseif $current_parent == 'home'} current_parent{/if}"><h3><a href="{$admin_url}"><b data-icn="{icon html=false shape="home"}"></b><span>Accueil</span></a></h3> {if !empty($plugins_menu)} <ul> {foreach from=$plugins_menu key="key" item="html"} <li{if $current == $key} class="current"{/if}>{$html|raw}</li> {/foreach} </ul> {/if} </li> {if $session->canAccess($session::SECTION_USERS, $session::ACCESS_READ)} <li class="member list{if $current == 'membres'} current{elseif $current_parent == 'membres'} current_parent{/if}"><h3><a href="{$admin_url}membres/"><b data-icn="{icon html=false shape="users"}"></b></b><span>Membres</span></a></h3> <ul> {if $session->canAccess($session::SECTION_USERS, $session::ACCESS_WRITE)} |
︙ | ︙ |