示例#1
0
 /**
  * Execute the console command.
  *
  * @return void
  */
 public function fire()
 {
     DB::connection()->disableQueryLog();
     $conn = DB::connection('stats');
     $conn->disableQueryLog();
     $rows = DailyAction::select(DB::raw('user_id, Sum(points) as points'))->with(['user' => function ($q) {
         $q->select(['name', 'avatar']);
     }])->groupBy('user_id')->orderBy('points', 'desc')->get();
     foreach ($rows as $row) {
         $user = User::find($row['user_id']);
         $user->total_points = $row['points'];
         $user->save();
     }
     $this->info('All users processed');
 }
示例#2
0
 public function getIndex()
 {
     $query = DailyAction::select(DB::raw('user_id, Sum(points) as points, Sum(contents) as contents,
             Sum(comments) as comments, Sum(entries) as entries, Sum(uv) as uv, Sum(dv) as dv'))->with('user')->groupBy('user_id')->orderBy('points', 'desc');
     if (Input::has('group')) {
         $group = Group::name(Input::get('group'))->firstOrFail();
         $query->where('group_id', $group->getKey());
         $data['group'] = $group;
     }
     // Time filter
     if (Input::has('time')) {
         $fromDay = Carbon::now()->diffInDays(Carbon::create(2013, 1, 1)) - Input::get('time');
         $query->where('day', '>', $fromDay);
     }
     return $query->paginate(50);
 }
示例#3
0
        <th>Nazwa użytkownika</th>
        <th style="width: 80px">Treści</th>
        <th style="width: 100px">Komentarze</th>
        <th style="width: 80px">Wpisy</th>
        <th style="width: 60px">UV</th>
        <th style="width: 60px">DV</th>
    </tr>
    </thead>
    <tbody>

    @foreach ($users as $index => $user)
    <tr @if(Auth::check() && $user->user_id == Auth::id()) class="warning" @endif>
        <td>{!! ( $index + $users->firstItem() ) !!}</td>
        <?php 
$day = Carbon::now()->diffInDays(Carbon::create(2013, 1, 1));
$query = \Strimoid\Models\DailyAction::where('user_id', $user->user_id)->groupBy('day')->orderBy('day', 'asc');
if (isset($group)) {
    $query->where('group_id', $group->getKey());
}
$results = $query->lists('points', 'day');
$chartData = [];
for ($i = $day; $i >= $day - 30; $i--) {
    $chartData[$i] = isset($results[$i]) ? $results[$i] : 0;
}
?>
        <td>
            <img src="{!! $user->user->getAvatarPath() !!}" style="width: 20px; height: 20px">
            <a href="{!! route('user_profile', $user->user) !!}">{!! $user->user->name !!}</a>
            <img src="https://chart.googleapis.com/chart?chs=100x20&cht=ls&chco=0077CC&chf=bg,s,FFFFFF00&chds=a&chd=t:{!! implode(',', $chartData) !!}" class="pull-right">
        </td>
        <td>{!! $user->contents !!}</td>