Website generation with Couscous

This commit is contained in:
Milos Stojanovic
2019-06-18 13:44:29 +02:00
parent 13ade60e94
commit 6c708b6a47
12 changed files with 622 additions and 366 deletions

155
configuration/session.html Normal file
View File

@@ -0,0 +1,155 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>FileGator</title>
<link rel="stylesheet" href="https://docs.filegator.io/css/bootstrap.min.css">
<link rel="stylesheet" href="https://docs.filegator.io/css/font-awesome.min.css">
<link rel="stylesheet" href="https://docs.filegator.io/css/highlight.tomorrow-night.css">
<link rel="stylesheet" href="https://docs.filegator.io/css/main.css">
</head>
<body>
<header class="navbar navbar-default navbar-fixed-top">
<a class="navbar-brand" href="https://docs.filegator.io/">
FileGator
<small class="hidden-xs hidden-sm">
Documentation
</small>
</a>
<a href="https://github.com/filegator/filegator">
<img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png">
</a>
</header>
<main class="container-fluid">
<div class="row">
<nav id="sidebar" class="col-sm-3 col-lg-2" role="navigation">
<p class="text-muted">
Getting Started
</p>
<ul class="nav nav-pills nav-stacked">
<li class="">
<a href="https://docs.filegator.io/index.html">
What is FileGator
</a>
</li>
<li class="">
<a href="https://docs.filegator.io/install.html">
Installation
</a>
</li>
<li class="">
<a href="demo.html">
Demo
</a>
</li>
<li class="">
<a href="license.html">
License
</a>
</li>
</ul>
<p class="text-muted">
Configuration
</p>
<ul class="nav nav-pills nav-stacked">
<li class="">
<a href="https://docs.filegator.io/configuration/default.html">
Options
</a>
</li>
<li class="">
<a href="https://docs.filegator.io/configuration/auth.html">
Auth
</a>
</li>
<li class="">
<a href="https://docs.filegator.io/configuration/session.html">
Session
</a>
</li>
</ul>
</nav>
<section class="col-sm-offset-3 col-lg-offset-2 col-sm-9 col-lg-10">
<h3 id="configuring-session-service-to-use-database">Configuring Session service to use database</h3>
<p>First, create a table <code>sessions</code> with this sql:</p>
<pre><code>CREATE TABLE `sessions` (
`sess_id` varbinary(128) NOT NULL,
`sess_data` blob NOT NULL,
`sess_lifetime` mediumint(9) NOT NULL,
`sess_time` int(10) unsigned NOT NULL,
PRIMARY KEY (`sess_id`)
) CHARSET=utf8 COLLATE=utf8_bin;</code></pre>
<p>Then, open <code>configuration.php</code> and update Auth handler under section <code>services</code> to something like this:</p>
<pre><code> 'Filegator\Services\Session\SessionStorageInterface' =&gt; [
'handler' =&gt; '\Filegator\Services\Session\Adapters\SessionStorage',
'config' =&gt; [
'session_handler' =&gt; 'database',
'available' =&gt; [
'database' =&gt; function () {
$handler = new \Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler(
'mysql://root:password@localhost:3360/filegator'
);
return new \Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage([], $handler);
},
],
],
],
</code></pre>
<p>Don't forget to enter correct mysql username, password, and database.</p>
<h3 id="tweaking-session-options">Tweaking session options</h3>
<p>The Underying Symfony session <a href="https://github.com/symfony/symfony/blob/4.4/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php">component</a> constructor accepts an array options.
For example you can pass <code>cookie_lifetime</code> parameter and extend session lifetime like this:</p>
<pre><code> 'Filegator\Services\Session\SessionStorageInterface' =&gt; [
'handler' =&gt; '\Filegator\Services\Session\Adapters\SessionStorage',
'config' =&gt; [
'session_handler' =&gt; 'database',
'available' =&gt; [
'database' =&gt; function () {
$handler = new \Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler(
'mysql://root:password@localhost:3360/filegator'
);
return new \Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage([
'cookie_lifetime' =&gt; 365 * 24 * 60 * 60, // one year
], $handler);
},
],
],
],
</code></pre>
</section>
</div>
</main>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script src="//yandex.st/highlightjs/7.5/highlight.min.js"></script>
<script>
$(function() {
$("section>h1").wrap('<div class="page-header" />');
// Syntax highlighting
hljs.initHighlightingOnLoad();
});
</script>
</body>
</html>