Beispiel #1
0
        $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');
});
Beispiel #2
0
 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);
 }
Beispiel #3
0
            $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)