$title, 'modid' => self::MODID)); $id = Database::lastInsertId(); if (!is_numeric($id)) Util::traceError('Inserting new Branding Module into DB did not yield a numeric insert id'); // Move tgz $moduleTgz = CONFIG_TGZ_LIST_DIR . '/modules/BRANDING_id_' . $id . '.' . mt_rand() . '.tgz'; $task = Taskmanager::submit('MoveFile', array( 'source' => $archive, 'destination' => $moduleTgz )); $task = Taskmanager::waitComplete($task, 3000); if (Taskmanager::isFailed($task) || $task['statusCode'] !== TASK_FINISHED) { Taskmanager::addErrorMessage($task); Database::exec("DELETE FROM configtgz_module WHERE moduleid = :moduleid LIMIT 1", array( 'moduleid' => $id )); return false; } // Update with path Database::exec("UPDATE configtgz_module SET filepath = :filename WHERE moduleid = :id LIMIT 1", array( 'id' => $id, 'filename' => $moduleTgz )); return true; } }