<?php require_once '/var/www/vendor/autoload.php'; use relive\models\Event; use relive\models\Post; use relive\models\PostEventRelationship; foreach (Event::all() as $event) { $event_id = $event->event_id; $count = PostEventRelationship::where('event_id', '=', $event_id)->count(); if ($count > 500) { $post = Post::whereIn('post_id', function ($query) use($event_id) { $query->select('post_id')->from('posteventrelationships')->where('event_id', '=', $event_id); })->orderBy('rankPoints', 'asc')->offset($count * 0.35)->limit(1)->first(); $rankPoints = $post->rankPoints; PostEventRelationship::whereIn('post_id', function ($query) use($rankPoints) { $query->select('post_id')->from('posts')->where('rankPoints', '<', $rankPoints); })->where('event_id', '=', $event_id)->update(['isFiltered' => 1]); PostEventRelationship::whereIn('post_id', function ($query) use($rankPoints) { $query->select('post_id')->from('posts')->where('rankPoints', '>=', $rankPoints); })->where('event_id', '=', $event_id)->update(['isFiltered' => 0]); } }
public static function reportPostFromEvent($event_id) { $app = \Slim\Slim::getInstance(); $allPostVars = $app->request->post(); $post_id = @$allPostVars['post_id'] ? $allPostVars['post_id'] : -1; if (isset($post_id) && $post_id != -1) { try { $relationship = \relive\models\PostEventRelationship::where('event_id', '=', $event_id)->where('post_id', '=', $post_id)->firstOrFail(); $report = \relive\models\Report::create(['report_time' => time(), 'post_id' => $post_id]); echo json_encode($report, JSON_UNESCAPED_SLASHES); } catch (ModelNotFoundException $e) { $app->render(404, ['Status' => 'Relationship not found']); } } }