diff options
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Twig/RelationExtension.php')
| -rw-r--r-- | srcs/phpmyadmin/libraries/classes/Twig/RelationExtension.php | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Twig/RelationExtension.php b/srcs/phpmyadmin/libraries/classes/Twig/RelationExtension.php new file mode 100644 index 0000000..6aca5d3 --- /dev/null +++ b/srcs/phpmyadmin/libraries/classes/Twig/RelationExtension.php @@ -0,0 +1,71 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * hold PhpMyAdmin\Twig\RelationExtension class + * + * @package PhpMyAdmin\Twig + */ +declare(strict_types=1); + +namespace PhpMyAdmin\Twig; + +use PhpMyAdmin\Relation; +use Twig\Extension\AbstractExtension; +use Twig\TwigFunction; + +/** + * Class RelationExtension + * + * @package PhpMyAdmin\Twig + */ +class RelationExtension extends AbstractExtension +{ + /** + * Returns a list of functions to add to the existing list. + * + * @return TwigFunction[] + */ + public function getFunctions() + { + $relation = new Relation($GLOBALS['dbi']); + return [ + new TwigFunction( + 'foreign_dropdown', + [ + $relation, + 'foreignDropdown', + ], + ['is_safe' => ['html']] + ), + new TwigFunction( + 'get_display_field', + [ + $relation, + 'getDisplayField', + ], + ['is_safe' => ['html']] + ), + new TwigFunction( + 'get_foreign_data', + [ + $relation, + 'getForeignData', + ] + ), + new TwigFunction( + 'get_tables', + [ + $relation, + 'getTables', + ] + ), + new TwigFunction( + 'search_column_in_foreigners', + [ + $relation, + 'searchColumnInForeigners', + ] + ), + ]; + } +} |
