MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/www/mpl.imenso.co/app/Repositories/FollowedArtistsRepository.php
<?php

namespace App\Repositories;

use App\Models\User;
use Illuminate\Support\Collection;
use DB;

class FollowedArtistsRepository
{
    public $user;
    public $order_by = 'created_at';
    public $order_direction = 'DESC';
    public $take = 10;
    public $skip = 0;
    public $items;

    public function __construct()
    {
        $this->items = new Collection;
    }

    public static function forUser(User $user)
    {
        $repo = new self;
        $repo->user = $user;

        return $repo;
    }

    public function orderBy($field = 'published_at', $direction = 'DESC')
    {
        $this->order_by = $field;
        $this->order_direction = $direction;

        return $this;
    }

    public function take($count = 10)
    {
        $this->take = $count;

        return $this;
    }

    public function skip($count = 0)
    {
        $this->skip = $count;

        return $this;
    }
   

    public function get()
    {
        $followed_bands = $this->user->bands();

        foreach ($followed_bands as $band) {
            $this->items->push($band);
        }

        return $this->items;
    }

    public function prepareForExternalUse()
    {
        $flattened = new Collection;

        foreach ($this->items as $item) {
                $data['type'] = 'mpl';
                $data['artist_id'] = $item->id;
                $data['following'] = true;
                $data['profile_image'] = url('/images/mpl-logo-black.png');
                $data['message'] = '<p>
                <a href="http://musicplanetlive.com/artist/' . $item->clean_url . '">' . $item->getName() . '</a></p>';
                $data['date'] = '-';

            if ($data['profile_image'][0] == '/' && $data['profile_image'][1] == '/') {
                $data['profile_image'] = 'http:' . $data['profile_image'];
            }

          
             $data['banner'] = url("https://musicplanetliveuploads.s3.amazonaws.com".$item->heroImageSrc());

            

            $flattened->push($data);
        }

        return $flattened;
    }
}