Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. <?php namespace Defr\FtlTheme\Page\Command;
  2.  
  3. use Anomaly\FilesModule\Disk\Contract\DiskRepositoryInterface;
  4. use Anomaly\FilesModule\Folder\Contract\FolderRepositoryInterface;
  5. use Anomaly\PagesModule\Page\Contract\PageInterface;
  6. use Anomaly\Streams\Platform\Model\Pages\PagesEventPagesEntryModel;
  7.  
  8. class CreateFolder
  9. {
  10.  
  11. /**
  12. * Page model
  13. *
  14. * @var mixed
  15. */
  16. protected $page;
  17.  
  18. /**
  19. * Create an instance of CreateFolder class
  20. *
  21. * @param PageInterface $page The page
  22. */
  23. public function __construct(PageInterface $page)
  24. {
  25. $this->page = $page;
  26. }
  27.  
  28. /**
  29. * Handle the command
  30. *
  31. * @param FolderRepositoryInterface $folders The folders
  32. * @param DiskRepositoryInterface $disks The disks
  33. */
  34. public function handle(
  35. FolderRepositoryInterface $folders,
  36. DiskRepositoryInterface $disks
  37. )
  38. {
  39. if ($this->page->getEntry() instanceof PagesEventPagesEntryModel)
  40. {
  41. $disk = $disks->findBySlug('local');
  42. $slug = $this->page->getSlug();
  43. $title = $this->page->getTitle();
  44. $hash = md5($slug);
  45.  
  46. $folders->create([
  47. 'en' => [
  48. 'name' => $title,
  49. 'description' => "A folder for {$title}.",
  50. ],
  51. 'slug' => $hash,
  52. 'disk' => $disk,
  53. 'allowed_types' => [
  54. 'png',
  55. 'jpeg',
  56. 'jpg',
  57. 'gif',
  58. 'svg',
  59. ],
  60. ]);
  61. }
  62. }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement