public static function showdatabasesheet($params) { if (!\mod\user\Main::userIsLoggedIn()) { return "not logged"; } $scaleTranslations = array('site' => 'Site', 'watershed' => 'Bassin versant', 'micro-region' => 'Micro-région', 'region' => 'Région', 'country' => 'Pays', 'europe' => 'Europe'); $databaseInfos = array(); $ret = ArkeoGIS::getDatabaseInfos((int) $params['id']); $ret[0]['type'] = \mod\lang\Main::ch_t('arkeogis', $ret[0]['type']); if (isset($scaleTranslations[$ret[0]['scale_resolution']])) { $ret[0]['scale_resolution'] = \mod\lang\Main::ch_t('arkeogis', $scaleTranslations[$ret[0]['scale_resolution']]); } $smarty = \mod\smarty\Main::newSmarty(); $smarty->assign('infos', $ret[0]); $response = array('title' => $ret[0]['name'], 'content' => $smarty->fetch('arkeogis/databasesheet'), 'footer' => ''); if (\mod\user\Main::userBelongsToGroup('Admin') || \mod\arkeogis\ArkeoGIS::isDatabaseOwner((int) $params['id'], \mod\user\Main::getUserId($_SESSION['login']))) { $response['footer'] .= '<input type="button" class="btn btn-primary" value="' . \mod\lang\Main::ch_t('arkeogis', 'Modifier') . '" onclick="showEditDatabase(' . $ret[0]['id'] . ')" />'; } if (\mod\user\Main::userBelongsToGroup('Admin')) { $response['footer'] .= '<input type="button" class="btn btn-danger" value="' . \mod\lang\Main::ch_t('arkeogis', 'Supprimer') . '" onclick="if(confirm(\'' . \mod\lang\Main::ch_t('arkeogis', 'Êtes vous sûr de vouloir supprimer cette base ?') . '\')) {deleteDatabase(' . $ret[0]['id'] . ');}" />'; } if (\mod\user\Main::userBelongsToGroup('Admin') || \mod\arkeogis\ArkeoGIS::isDatabaseOwner((int) $params['id'], \mod\user\Main::getUserId($_SESSION['login']))) { $file = \mod\arkeogis\ArkeoGIS::getLastImportFile((int) $params['id']); if ($file) { if (is_file(dirname(__FILE__) . '/files/import/' . $file) && is_readable(dirname(__FILE__) . '/files/import/' . $file)) { $response['footer'] .= '<input type="button" class="btn" value="' . \mod\lang\Main::ch_t('arkeogis', "Télécharger le fichier d'import") . '" onclick="downloadLastImport(' . (int) $params['id'] . ')" />'; } } $response['footer'] .= '<input type="button" class="btn" value="' . \mod\lang\Main::ch_t('arkeogis', 'Exporter la base') . '" onclick="exportDatabase(' . (int) $params['id'] . ')" />'; } $response['footer'] .= '<input type="button" class="btn" value="' . \mod\lang\Main::ch_t('arkeogis', 'Fermer') . '" onclick="modalWin.hide()" />'; return $response; }
public static function mod_arkeogis_get_imported_file($hookname, $userdata, $matches) { $dbId = (int) $matches[1]; if (!\mod\user\Main::userIsLoggedIn() || (!\mod\user\Main::userBelongsToGroup('Admin') && !\mod\arkeogis\ArkeoGIS::isDatabaseOwner($dbId, \mod\user\Main::getUserId($_SESSION['login'])) || !$dbId)) { return false; } $file = \mod\arkeogis\ArkeoGIS::getLastImportFile($dbId); $infos = \mod\arkeogis\ArkeoGIS::getFullDatabaseInfos($dbId); $name = str_replace(' ', '_', \core\Tools::removeAccents($infos[0]['name'])); $author = str_replace(' ', '_', \core\Tools::removeAccents($infos[0]['author'])); $filename = 'ArkeoGIS-' . $infos[0]['modification_str'] . '-' . $name . '-' . $author; if (!$file) { return false; } header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); header("Content-Type: text/csv"); header("Content-Disposition: attachment; filename=\"{$filename}.csv\""); $fp = fopen('php://output', 'w'); echo file_get_contents(dirname(__FILE__) . '/files/import/' . $file); }