function scriptUpload($f3) { $this->ensureAdmin($f3); $db = $f3->get('db'); Logger::Info($f3, "AdminPost.scriptUpload", "Starting import..."); $dummy = $f3->get('FILES'); $uploadedFile = $dummy["sqlFile"]; if ($uploadedFile["error"] > 0) { Logger::Error($f3, "AdminPost.scriptUpload", $uploadedFile["error"]); echo "Error: " . $uploadedFile["error"] . "<br>"; } else { try { $db->beginTransaction(); $importFileName = $f3->get('ROOT') . '/imports/import_' . date('Y-m-d_H\\hi\\m') . '.xlsx'; copy($uploadedFile["tmp_name"], $importFileName); Logger::Info($f3, "AdminPost.scriptUpload", "Import file: " . $importFileName); $importResult = ExcelImportExport::importFromExcel2007($db, $uploadedFile["tmp_name"]); $db->commit(); $f3->set('scriptResult', $importResult); Logger::Info($f3, "AdminPost.scriptUpload", "Import finished"); } catch (Exception $e) { $db->rollBack(); $err = ExcelImportExport::$lastExecutedStatement . ' :: ' . $e->getMessage(); Logger::Error($f3, "AdminPost.scriptUpload", "Import failed: " . $err); $f3->set('scriptResult', $err); } echo Template::instance()->render('adminIndex.htm'); } }
<?php $f3 = (require 'lib/base.php'); $f3->set('UI', 'ui/'); $f3->set('AUTOLOAD', 'autoload/'); $f3->set('UPLOADS', $f3->get('tmp')); $dbFile = 'db/data.sqlite'; $isNewDb = !file_exists($dbFile) || filesize($dbFile) === 0; $f3->set('db', new DB\SQL('sqlite:' . $dbFile)); $f3->set('log', new DB\SQL('sqlite:db/log.sqlite')); if ($isNewDb) { ExcelImportExport::importFromExcel2007($f3->get('db'), 'db/bootstrap.xlsx'); } Logger::Initialize($f3->get('log')); //$f3->set('DEBUG',3); //############### Set routes ################ $f3->route('GET /', 'UserGet->index'); $f3->route('GET /lehrer/@id', 'LehrerGet->lehrer'); $f3->route('POST /lehrer/@id/@action', 'LehrerPost->@action'); $f3->route('GET /@action', 'UserGet->@action'); $f3->route('GET /@action', 'UserGet->@action'); $f3->route('POST /@action', 'UserPost->@action'); $f3->route('GET /admin/absences/@id', 'AdminGet->absences'); $f3->route('POST /admin/absences/@id/@action', 'AdminPost->@action'); $f3->route('GET /admin/@action', 'AdminGet->@action'); $f3->route('POST /admin/@action', 'AdminPost->@action'); //############### START F3 ################ $f3->run();