$d = array(array(1, "second"), array(60, "minute"), array(3600, "hour"), array(86400, "day"), array(604800, "week"), array(2592000, "month"), array(31104000, "year")); $w = array(); $return = array(); $now = time(); $diff = $now - $time; $secondsLeft = $diff; for ($i = 6; $i > -1; $i--) { $w[$i] = intval($secondsLeft / ($d[$i][0] * 2)); $secondsLeft -= $w[$i] * $d[$i][0]; if ($w[$i] != 0) { $return[] = abs($w[$i] * 2) . " " . $d[$i][1] . ($w[$i] > 1 ? 's' : '') . " "; } } $return = implode(' and ', array_slice($return, 0, 1)); //. ($diff>0 ?"ago" : "left"); return $return; }; return array('url' => '/themes', 'title' => __('Themes', $plugin->getName()), 'controller' => function ($app, $page) use($plugin, $relativeTime) { $themes = DatawrapperTheme::all(); foreach ($themes as $i => $theme) { $c = ChartQuery::create()->filterByTheme($theme['id'])->orderByLastModifiedAt('desc')->findOne(); if ($c) { $themes[$i]['last_used'] = $relativeTime(strtotime($c->getLastModifiedAt())); } else { $themes[$i]['last_used'] = 'never'; } } $page = array_merge($page, array('title' => 'Themes', 'themes' => $themes, 'count' => count_charts_per_themes())); $app->render('plugins/' . $plugin->getName() . '/admin-themes.twig', $page); }, 'order' => '3'); });
public function themesAdmin($app, $page) { $page = array_merge($page, array('title' => 'Themes', 'themes' => DatawrapperTheme::all(), 'count' => count_charts_per_themes())); $app->render('plugins/admin-themes/admin-themes.twig', $page); }
$chart_csv .= ';'; $chart_csv .= isset($data['charts_published'][$key]) ? $data['charts_published'][$key] : '-'; $chart_csv .= "\\n"; } $page = array('title' => 'Dashboard', 'user_csv' => $user_csv, 'chart_csv' => $chart_csv, 'linechart' => DatawrapperVisualization::get('line-chart'), 'chartLocale' => 'en-US'); add_header_vars($page, 'admin'); add_adminpage_vars($page, '/admin'); $app->render('admin-dashboard.twig', $page); } else { $app->notFound(); } }); $app->get('/admin/themes/?', function () use($app) { $user = DatawrapperSession::getUser(); if ($user->isAdmin()) { $page = array('title' => 'Themes', 'themes' => DatawrapperTheme::all(), 'count' => count_charts_per_themes()); add_header_vars($page, 'admin'); add_adminpage_vars($page, '/admin/themes'); $app->render('admin-themes.twig', $page); } else { $app->notFound(); } }); $app->get('/admin/users/?', function () use($app) { $user = DatawrapperSession::getUser(); if ($user->isAdmin()) { $page = array('title' => 'Users', 'q' => $app->request()->params('q', '')); add_header_vars($page, 'admin'); add_adminpage_vars($page, '/admin/users'); $sort = $app->request()->params('sort', ''); function getQuery($user)