Advertisement
ricardo99

Untitled

Dec 16th, 2015
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Lib\Utils;
  4.  
  5. use Cake\ORM\TableRegistry;
  6.  
  7. class ModelUtils {
  8.  
  9. public static function prepareProductsFeatures($formValues, $productId)
  10. {
  11. $productFeaturesArray = self::createProductsFeaturesArray($formValues);
  12. $productFeaturesEntities = self::createProductsFeaturesEntitiesArray(
  13. $productFeaturesArray, $productId
  14. );
  15. return $productFeaturesEntities;
  16. }
  17.  
  18. public static function createProductsFeaturesArray($formValues)
  19. {
  20. $featuresArray = [];
  21.  
  22. foreach ($formValues as $key => $field) {
  23. if (stripos($key, 'FEA') === 0) {
  24. $featuresArray[] = ['feature_intern_code' => $key,
  25. 'feature_value' => $formValues[$key]];
  26. }
  27. }
  28.  
  29. return $featuresArray;
  30. }
  31.  
  32. public static function createProductsFeaturesEntitiesArray($productFeaturesArray, $productId)
  33. {
  34. $featuresEntities = [];
  35.  
  36. foreach ($productFeaturesArray as $productFeature) {
  37. $productFeatureEntity = TableRegistry::get('ProductFeatures')->newEntity();
  38. $productFeatureEntity->product_id = $productId;
  39. $productFeatureEntity->feature_value = $productFeature['feature_value'];
  40. $productFeatureEntity->feature_intern_code = $productFeature['feature_intern_code'];
  41. $featuresEntities[] = $productFeatureEntity;
  42. }
  43.  
  44. return $featuresEntities;
  45. }
  46.  
  47. public static function prepareMediaThumb($productId, $thumbUrl)
  48. {
  49. $mediaEntity = TableRegistry::get('Medias')->newEntity();
  50. $mediaEntity->product_id = $productId;
  51. $mediaEntity->media_type_id = 3;
  52. $mediaEntity->path = str_replace(ROOT_PARENT, 'http://localhost/PROJETOS/', $thumbUrl);
  53. $mediaEntity->path = str_replace('\\', '/', $mediaEntity->path);;
  54. return $mediaEntity;
  55. }
  56.  
  57. public static function prepareMedias($imagesUploaded, $productId)
  58. {
  59. //Faz com que todas as imagens sejam "Imagens Comuns"
  60. $imagesUploaded = self::addKeyValueToArray($imagesUploaded, 'media_type_id', 1);
  61. //Faz com que a imagem seja "Imagem Principal"
  62. $imagesUploaded[0]['media_type_id'] = 2;
  63. $imagesUploaded = self::replaceArrayValue($imagesUploaded, 'url', 'http://localhost/PROJETOS/',
  64. ROOT_PARENT . DS);
  65. $imagesUploaded = self::replaceArrayValue($imagesUploaded, 'url', '/', '\\');
  66. return self::createMediasEntitiesArray($imagesUploaded, $productId);
  67. }
  68.  
  69. public static function addKeyValueToArray($array, $key, $value)
  70. {
  71. foreach ($array as &$element) {
  72. $element[$key] = $value;
  73. }
  74.  
  75. return $array;
  76. }
  77.  
  78. public static function replaceArrayValue($array, $key, $newString, $oldString)
  79. {
  80. foreach ($array as &$element) {
  81. $element[$key] = str_replace($oldString, $newString, $element[$key]);
  82. }
  83.  
  84. return $array;
  85. }
  86.  
  87. public static function createMediasEntitiesArray($mediasArray, $productId)
  88. {
  89. $mediasEntities = [];
  90.  
  91. foreach ($mediasArray as $media) {
  92. $mediaEntity = TableRegistry::get('Medias')->newEntity();
  93. $mediaEntity->product_id = $productId;
  94. $mediaEntity->media_type_id = $media['media_type_id'];
  95. $mediaEntity->path = $media['url'];
  96. $mediasEntities[] = $mediaEntity;
  97. }
  98.  
  99. return $mediasEntities;
  100. }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement