<?php require_once ROOT_PATH . 'lib/utils/themes.php'; require_once ROOT_PATH . 'vendor/jsmin/jsmin.php'; /* * PUBLISH STEP - shows progress of publishing action and thumbnail generation * forwards to /chart/:id/finish */ $app->get('/chart/:id/publish', function ($id) use($app) { disable_cache($app); check_chart_writable($id, function ($user, $chart) use($app) { $cfg = $GLOBALS['dw_config']; $page = array('title' => $chart->getID() . ' :: ' . __('Publish'), 'chartData' => $chart->loadData(), 'chart' => $chart, 'visualizations' => DatawrapperVisualization::all(), 'vis' => DatawrapperVisualization::get($chart->getType()), 'chartUrl' => $chart->getPublicUrl(), 'chartUrlLocal' => '/chart/' . $chart->getID() . '/preview', 'themes' => DatawrapperTheme::all(), 'exportStaticImage' => !empty($cfg['phantomjs']), 'chartActions' => DatawrapperHooks::execute(DatawrapperHooks::GET_CHART_ACTIONS, $chart), 'estExportTime' => ceil(JobQuery::create()->estimatedTime('export_image') / 60)); add_header_vars($page, 'chart', 'chart-editor/publish.css'); add_editor_nav($page, 4); if ($user->isAbleToPublish() && ($chart->getLastEditStep() == 3 || $app->request()->get('republish') == 1)) { // actual publish process $chart->publish(); $page['chartUrl'] = $chart->getPublicUrl(); // generate thumbnails $page['publish'] = true; $page['republish'] = $app->request()->get('republish') == 1; } $app->render('chart/publish.twig', $page); }); });
<?php /* * DESCRIBE STEP */ $app->get('/chart/:id/describe', function ($id) use($app) { disable_cache($app); check_chart_writable($id, function ($user, $chart) use($app) { $page = array('title' => $chart->getID() . ' :: ' . __('Check & Describe'), 'chartData' => $chart->loadData(), 'chart' => $chart); add_header_vars($page, 'chart', 'chart-editor/describe.css'); add_editor_nav($page, 2); switch (substr(DatawrapperSession::getLanguage(), 0, 2)) { case 'de': $k = '.'; $d = ','; break; case 'fr': $k = ' '; $d = ','; break; default: $k = ','; $d = '.'; } $page['columntypes'] = array('text' => 'Text', 'number' => 'Number', 'date' => 'Date'); $page['numberformats'] = array('n3' => '3 (' . number_format(1234.56789, 3, $d, $k) . ')', 'n2' => '2 (' . number_format(1234.56789, 2, $d, $k) . ')', 'n1' => '1 (' . number_format(1234.56789, 1, $d, $k) . ')', 'n0' => '0 (' . number_format(1234.56789, 0, $d, $k) . ')'); $page['significantdigits'] = array('s6' => '6 (' . number_format(1234.56789, 2, $d, $k) . ')', 's5' => '5 (' . number_format(123.456789, 2, $d, $k) . ')', 's4' => '4 (' . number_format(12.34, 2, $d, $k) . ')', 's3' => '3 (' . number_format(1.23, 2, $d, $k) . ')', 's2' => '2 (' . number_format(0.12, 2, $d, $k) . ')', 's1' => '1 (' . number_format(0.01, 2, $d, $k) . ')'); $app->render('chart/describe.twig', $page); }); });
<?php /* * VISUALIZE STEP */ $app->get('/chart/:id/visualize', function ($id) use($app) { disable_cache($app); check_chart_writable($id, function ($user, $chart) use($app) { $page = array('title' => $chart->getID() . ' :: ' . __('Visualize'), 'chartData' => $chart->loadData(), 'chart' => $chart, 'visualizations_deps' => DatawrapperVisualization::all('dependencies'), 'visualizations' => DatawrapperVisualization::all(), 'vis' => DatawrapperVisualization::get($chart->getType()), 'themes' => DatawrapperTheme::all(), 'theme' => DatawrapperTheme::get($chart->getTheme()), 'debug' => !empty($GLOBALS['dw_config']['debug_export_test_cases']) ? '1' : '0'); add_header_vars($page, 'chart'); add_editor_nav($page, 3); $app->render('chart/visualize.twig', $page); }); });
<?php /* * UPLOAD STEP */ $app->get('/chart/:id/upload', function ($id) use($app) { disable_cache($app); check_chart_writable($id, function ($user, $chart) use($app) { $datasets = DatawrapperHooks::execute(DatawrapperHooks::GET_DEMO_DATASETS); $groups = array(); foreach ($datasets as $ds) { if (!isset($groups[$ds['type']])) { $groups[$ds['type']] = array('type' => $ds['type'], 'datasets' => array()); } $groups[$ds['type']]['datasets'][] = $ds; } $page = array('title' => $chart->getID() . ' :: ' . __('Upload Data'), 'chartData' => $chart->loadData(), 'chart' => $chart, 'datasets' => $groups); add_header_vars($page, 'chart'); add_editor_nav($page, 1); $res = $app->response(); $res['Cache-Control'] = 'max-age=0'; $app->render('chart/upload.twig', $page); }); });