/php/component/box_external_repository_table/box_external_repository_table_cell_renderer.class.php

https://bitbucket.org/chamilo/chamilo-ext-repo-box-dev/ · PHP · 68 lines · 40 code · 7 blank · 21 comment · 2 complexity · f7296ce1c90da0ddf4649d0b6982331d MD5 · raw file

  1. <?php
  2. namespace common\extensions\external_repository_manager\implementation\box;
  3. use common\extensions\external_repository_manager\DefaultExternalRepositoryObjectTableCellRenderer;
  4. use common\extensions\external_repository_manager\ExternalRepositoryObject;
  5. use common\libraries\Utilities;
  6. use common\libraries\Toolbar;
  7. /**
  8. * $Id: repository_browser_table_cell_renderer.class.php 204 2009-11-13 12:51:30Z kariboe $
  9. * @package repository.lib.repository_manager.component.browser
  10. */
  11. require_once dirname(__FILE__) . '/box_external_repository_table_column_model.class.php';
  12. /**
  13. * Cell rendere for the learning object browser table
  14. */
  15. class BoxExternalRepositoryTableCellRenderer extends DefaultExternalRepositoryObjectTableCellRenderer
  16. {
  17. /**
  18. * The repository browser component
  19. */
  20. private $browser;
  21. /**
  22. * Constructor
  23. * @param RepositoryManagerBrowserComponent $browser
  24. */
  25. function __construct($browser)
  26. {
  27. parent :: __construct();
  28. $this->browser = $browser;
  29. }
  30. // Inherited
  31. function render_cell($column, $external_object)
  32. {
  33. if ($column === BoxExternalRepositoryTableColumnModel :: get_modification_column())
  34. {
  35. return $this->get_modification_links($external_object);
  36. }
  37. switch ($column->get_name())
  38. {
  39. case ExternalRepositoryObject :: PROPERTY_TITLE :
  40. return $external_object->get_title();
  41. case BoxExternalRepositoryObject :: PROPERTY_DESCRIPTION :
  42. return $external_object->get_description();
  43. case BoxExternalRepositoryObject :: PROPERTY_CREATED :
  44. return $external_object->get_modified();
  45. }
  46. return parent :: render_cell($column, $external_object);
  47. }
  48. /**
  49. * Gets the action links to display
  50. * @param ContentObject $content_object The learning object for which the
  51. * action links should be returned
  52. * @return string A HTML representation of the action links
  53. */
  54. private function get_modification_links($external_repository_object)
  55. {
  56. $toolbar = new Toolbar();
  57. $toolbar->add_items($this->browser->get_external_repository_object_actions($external_repository_object));
  58. return $toolbar->as_html();
  59. }
  60. }
  61. ?>