Api.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. /**
  3. *
  4. * @author Vitalii Aloksa
  5. */
  6. namespace MGModule\DNSManager2\mgLibs\ModuleAPI;
  7. abstract class Api
  8. {
  9. #shoould be removed abstract, as there is no any abstract method at this momment
  10. public $data;
  11. public $dataFields;
  12. public $errors;
  13. function __construct( $data )
  14. {
  15. $this->fetchDataFields( $data );
  16. }
  17. function getErrors()
  18. {
  19. return $this->errors;
  20. }
  21. public function get( ){ }
  22. public function save( ){ }
  23. public function create( ){ }
  24. public function edit( ){ }
  25. public function update( ){ }
  26. public function remove( ){ }
  27. public function transfer( ){ }
  28. public function fetchDataFields( $data )
  29. {
  30. $this->data = $data;
  31. $this->data['original'] = $data;
  32. // $fields = ( isset($data['apiversion']) && !empty( $this->dataFields[$data['apiversion']] )) ? $this->dataFields[$data['apiversion']] : (!empty((reset($this->dataFields)))) ? reset($this->dataFields) : $this->dataFields;
  33. $first = reset($this->dataFields);
  34. if( isset($data['apiversion']) && !empty( $this->dataFields[$data['apiversion']] ))
  35. {
  36. $fields = $this->dataFields[$data['apiversion']];
  37. }elseif(!empty($first))
  38. {
  39. $fields = $first;
  40. }else
  41. {
  42. $fields = $this->dataFields;
  43. }
  44. if(!empty($fields))
  45. {
  46. foreach ($fields as $key => $dataKey) {
  47. if(isset($data[$dataKey]))
  48. {
  49. unset( $this->data[$dataKey] );
  50. $this->data[$key] = $data[$dataKey];
  51. }
  52. }
  53. }
  54. }
  55. }