Advertisement
Guest User

Untitled

a guest
Sep 28th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4. * Class MyExport
  5. */
  6. class MyExport
  7. {
  8.  
  9. /**
  10. * @param \DataContainer $dc
  11. *
  12. * @return \Model\Collection|null|static
  13. */
  14. public function getRecords(\DataContainer $dc)
  15. {
  16. $filter = $dc->Session->get('filter')[$dc->table];
  17. $search = $dc->Session->get('search')[$dc->table];
  18. $sorting = $dc->Session->get('sorting')[$dc->table];
  19.  
  20. // I don't need any limit settings
  21. unset($filter['limit']);
  22.  
  23. $i = 0;
  24. $arrFields = array();
  25. $arrOptions =array();
  26.  
  27. // add filter settings
  28. if (is_array($filter)) {
  29. foreach ($filter as $k => $v) {
  30. $arrFields[0][$i] = $dc->table . '.' . $k . '=?';
  31. $arrFields[1][$i] = $v;
  32. $i++;
  33. }
  34. }
  35.  
  36. // add search settings
  37. if (!empty($search['value'])) {
  38. $arrFields[0][$i] = 'LOWER(CAST(' . $dc->table . '.' . $search['field'] . ' AS CHAR)) REGEXP LOWER(?)';
  39. $arrFields[1][$i] = $search['value'];
  40.  
  41. // alternative: get german umlauts a as รค
  42. // $arrFields[0][$i] = $dc->table . '.' . $search['field'] . ' LIKE ?';
  43. // $arrFields[1][$i] = '%' . $search['value'] . '%';
  44. }
  45.  
  46. // add order settings
  47. $arrOptions['order'] = (!empty($sorting)) ? $sorting : 'id ASC';
  48.  
  49. // fetch data / replace MyModel!
  50. if (!empty($arrFields)) {
  51. $objExport = MyModel::findBy(array_values($arrFields[0]), array_values($arrFields[1]), $arrOptions);
  52. } else {
  53. $objExport = MyModel::findAll($arrOptions);
  54. }
  55.  
  56. return $objExport;
  57. }
  58.  
  59. /**
  60. * @param \DataContainer $dc
  61. *
  62. * @return string
  63. */
  64. public function export(\DataContainer $dc)
  65. {
  66.  
  67. $objExport = $this->getRecords($dc);
  68. dump($objExport);
  69.  
  70. // get your data, fe. $objExport->id
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement