"; $user = MALUser::where('username', $username)->get()->first(); $vCalendar = new iCalendar('animes.iamfabulous.de'); $vCalendar->setName('Anime Schedule'); foreach( $user->calendar()->get() as $anime ) { if ( is_null($anime->episodes_completes) ) { $episodes_complete = '?'; } else { $episodes_complete = $anime->episodes_completes; } $vEvent = new Event(); $vEvent ->setDtStart(new \DateTime($anime->airing_at)) ->setDtEnd( new \DateTime(Carbon::create($anime->airing_at)->add($anime->duration, 'minutes')) ) ->setNoTime(false) ->setSummary( $anime->title . " (" . $anime->episode . "/" . $episodes_complete . ")" ) ->setUrl( env("APP_URL") ) ->setDescription( "(Episode " . $anime->episode . "/" . $episodes_complete . ") You have watched " . $anime->episodes_watched . " episodes of " . $anime->title . " and scored it with " . $anime->score_user . ". (Public score: ". $anime->score .")\n\n" . $anime->mal_url ); $vCalendar->addComponent($vEvent); } return $vCalendar->render(); } public function setCalendar($username) { $user = MALUser::where('username', $username)->get()->first(); echo "
";
foreach( $user->IsWatching as $anime ) {
$stats = $anime->getStats()->get()->first();
$airing = $anime->getAiring()->get()->first();
/**
* Check for duplicate entry.
*/
$check = Calendar::where('mal_id', $anime->mal_id)->where('user_id', $user->id)->where(
function($q) use ($airing){
$q->where('episode', $airing->episode)->orWhere('airing_at', $airing->aired_at);
})->get()->first();
if ( ! is_null( $check ) ) {
echo "duplicate entry. ".$anime->mal_id." continue\n"; continue;
}
$calendar = new Calendar();
$calendar->mal_id = $anime->mal_id;
$calendar->user_id = $anime->Watching->user_id;
$calendar->username = $username;
$calendar->airing_at = $airing->aired_at;
$calendar->duration = $airing->duration;
$calendar->episode = $airing->episode;
$calendar->episodes_watched = $anime->Watching->episodes_watched;
$calendar->episodes_complete = $anime->episodes;
$calendar->score = $stats->score;
$calendar->score_user = $anime->Watching->score_user;
$calendar->title = $anime->title_pref;
$calendar->mal_url = $anime->url;
$calendar->save();
}
}
}