mostly filebased Content Presentation System
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace Modules;
  3. class CMultiple {
  4. public $elements=array();
  5. public $first_element="";
  6. public $last_element="";
  7. public $ids=array();
  8. function __construct($elements,$IDs=false) {
  9. $this->elements = $elements;
  10. if (!$IDs) {
  11. $keys=array_keys($this->elements);
  12. foreach($this->elements as $k=>$v) {
  13. $this->ids[] = $this->elements[$k]->id;
  14. }
  15. } else {
  16. $this->ids = $IDs;
  17. }
  18. //foreach ($this->ids as $k=>$v) {
  19. //var_dump($this->elements[$k]);
  20. //$this->elements[$k]->id = $v;
  21. //}
  22. }
  23. function __toString() {
  24. return sprintf("<div>%s<div>%s</div>%s</div>",
  25. $this->first_element,
  26. implode("\n", $this->elements),
  27. $this->last_element
  28. );
  29. }
  30. function set_layout($new,$target="") {
  31. switch ($target) {
  32. case "first":
  33. break;
  34. case "last":
  35. break;
  36. default:
  37. foreach($this->elements as $el) {
  38. $el->set_layout($new);
  39. }
  40. break;
  41. }
  42. }
  43. function set_first($element,$layout="") {
  44. $this->first_element=$element;
  45. if ($layout) {
  46. $this->first_element->set_layout($layout);
  47. }
  48. }
  49. function set_last($element,$layout="") {
  50. $this->last_element=$element;
  51. if ($layout) {
  52. $this->last_element->set_layout($layout);
  53. }
  54. }
  55. }