fgcf.drush.inc 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. // $Id$
  3. /**
  4. * @file
  5. * Fonctions de ligne de commande pour FGCF
  6. *
  7. * Copyright 2010 Ouest Systemes Informatiques (OSInet)
  8. *
  9. * Licensed under the General Public License, version 2 or later
  10. */
  11. /**
  12. * Implements hook_drush_command().
  13. *
  14. * @return array
  15. */
  16. function fgcf_drush_command() {
  17. $items['fgcf-catalog'] = array(
  18. 'description' => "Génère un catalogue de formations au format OpenDocument.",
  19. 'arguments' => array(
  20. 'template' => "Le fichier de template à utiliser (format ODT). Le fichier doit se trouver dans le répertoire d'installation de Drupal",
  21. ),
  22. 'options' => array(
  23. 'dest' => "Le nom du fichier à générer. Le chemin est relatif au répertoire d'installation Drupal.\nPar défaut un fichier catalogue.odt est généré dans le répertoire d'installation Drupal.",
  24. ),
  25. 'examples' => array(
  26. 'drush fgcf-catalog template.odt' => "Génère un fichier catalogue.otf dans le répertoire Drupal, à partir du template template.odt présent dans le répertoire d'installation Drupal",
  27. 'drush fgcf-catalog template.odt --dest=../custom.otf' => "Génère un fichier custom.otf dans le dossier parent du répertoire Drupal, à partir du template template.odt présent dans le répertoire d'installation Drupal",
  28. ),
  29. 'aliases' => array('fgcfc'),
  30. );
  31. return $items;
  32. }
  33. /**
  34. * Implements hook_drush_help().
  35. *
  36. * @param string $section
  37. */
  38. function fgcf_drush_help($section) {
  39. $help = array(
  40. 'drush:fgcf-catalog' => dt('Génère un catalogue de formations à partir du fichier catalogue_template.odt présent dans le dossier du module fgcf.'),
  41. );
  42. return array_key_exists($key, $help) ? $help[$key] : NULL;
  43. }
  44. /**
  45. * Command callback for fgcf-catalog.
  46. *
  47. * @param string $filename
  48. */
  49. function drush_fgcf_catalog($template = NULL) {
  50. $dest = drush_get_option('dest');
  51. if (empty($dest)) {
  52. $dest = 'catalogue.odt';
  53. }
  54. if (empty($template)) {
  55. return drush_set_error("Vous devez préciser le fichier de modèle à utiliser.");
  56. }
  57. if (!file_exists($template)) {
  58. return drush_set_error("Le fichier $template n'a pas été trouvé dans le dossier d'installation drupal.");
  59. }
  60. module_load_include('inc', 'fgcf', 'fgcf.odt');
  61. $odf = fgcf_odt_export_formations($template);
  62. $odf->saveToDisk($dest);
  63. }