1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/movim_ynh.git synced 2024-09-03 19:46:19 +02:00

update to movim upstream

This commit is contained in:
src386 2016-03-30 09:25:03 +02:00
parent d44b94a1d6
commit cbaf2056be
22 changed files with 140 additions and 22 deletions

View file

@ -1,7 +1,7 @@
**Changelog**
1.7.1 2016-?
- Update to movim 0.9 git2016-03-29
- Update to movim 0.9 git2016-03-30
1.7 2016-03-17
- Update to movim 0.9 git2016-03-17

View file

@ -5,7 +5,7 @@ Movim is a decentralized social network, written in PHP and HTML5 and based on t
It is recommended to use a "valid" certificate to use Movim, auto-signed is sometimes problematic. You might want to take a look a StartSSL or Let's Encrypt.
Provided Movim version : 0.9 git2016-03-29
Provided Movim version : 0.9 git2016-03-30
Please read CHANGELOG.

View file

@ -7,6 +7,6 @@ class AboutController extends Base {
}
function dispatch() {
$this->page->setTitle(__('title.about', APP_TITLE));
$this->page->setTitle(__('page.about'));
}
}

View file

@ -7,6 +7,6 @@ class AccountController extends Base {
}
function dispatch() {
$this->page->setTitle(__('title.account', APP_TITLE));
$this->page->setTitle(__('page.account_creation'));
}
}

View file

@ -7,6 +7,6 @@ class AccountnextController extends Base {
}
function dispatch() {
$this->page->setTitle(__('title.account', APP_TITLE));
$this->page->setTitle(__('page.account_creation'));
}
}

View file

@ -10,7 +10,7 @@ class AdminController extends Base {
session_start();
if(isset($_SESSION['admin']) && $_SESSION['admin'] == true) {
$this->page->setTitle(__('title.administration', APP_TITLE));
$this->page->setTitle(__('page.administration'));
} else {
$this->name = 'adminlogin';
}

View file

@ -10,7 +10,7 @@ class AdminloginController extends Base
function dispatch()
{
$this->page->setTitle(__('title.administration', APP_TITLE));
$this->page->setTitle(__('page.administration'));
$cd = new \Modl\ConfigDAO();
$config = $cd->get();

View file

@ -7,6 +7,9 @@ class LoginController extends Base {
}
function dispatch() {
$session = \Sessionx::start();
requestURL('http://localhost:1560/unregister/', 2, ['sid' => $session->sessionid]);
$this->page->setTitle(__('page.login'));
$user = new User();

View file

@ -1,7 +1,19 @@
<main>
<?php $this->widget('Header'); ?>
<section>
<div>
<header>
<ul class="list middle">
<li>
<span class="primary active icon gray">
<a href="<?php echo Route::urlize('main'); ?>">
<i class="zmdi zmdi-arrow-left"></i>
</a>
</span>
<p class="center"><?php echo __('page.about'); ?></p>
</li>
</ul>
</header>
<?php $this->widget('Tabs');?>
<?php $this->widget('About');?>

View file

@ -1,6 +1,20 @@
<main>
<?php $this->widget('Header'); ?>
<section>
<?php $this->widget('Subscribe');?>
<div>
<header>
<ul class="list middle">
<li>
<span class="primary active icon gray">
<a href="<?php echo Route::urlize('main'); ?>">
<i class="zmdi zmdi-home"></i>
</a>
</span>
<p class="center"><?php echo __('page.account_creation'); ?></p>
</li>
</ul>
</header>
<?php $this->widget('Subscribe');?>
</div>
</section>
</main>

View file

@ -1,6 +1,19 @@
<main>
<?php $this->widget('Header'); ?>
<section>
<?php $this->widget('AccountNext');?>
<div>
<header>
<ul class="list middle">
<li>
<span class="primary active icon gray">
<a href="<?php echo Route::urlize('account'); ?>">
<i class="zmdi zmdi-arrow-left"></i>
</a>
</span>
<p class="center"><?php echo __('page.account_creation'); ?></p>
</li>
</ul>
</header>
<?php $this->widget('AccountNext');?>
</div>
</section>
</main>

View file

@ -1,7 +1,19 @@
<main>
<?php $this->widget('Header'); ?>
<section>
<div>
<header>
<ul class="list middle">
<li>
<span class="primary active icon gray">
<a href="<?php echo Route::urlize('main'); ?>">
<i class="zmdi zmdi-arrow-left"></i>
</a>
</span>
<p class="center"><?php echo __('page.administration'); ?></p>
</li>
</ul>
</header>
<?php $this->widget('Tabs');?>
<?php $this->widget('AdminTest');?>
<?php $this->widget('AdminMain');?>

View file

@ -1,6 +1,20 @@
<main>
<?php $this->widget('Header');?>
<section>
<?php $this->widget('AdminLogin');?>
<div>
<header>
<ul class="list middle">
<li>
<span class="primary active icon gray">
<a href="<?php echo Route::urlize('main'); ?>">
<i class="zmdi zmdi-arrow-left"></i>
</a>
</span>
<p class="center"><?php echo __('page.administration'); ?></p>
</li>
</ul>
</header>
<?php $this->widget('AdminLogin');?>
</div>
</section>
</main>

View file

@ -9,7 +9,9 @@
<header>
<ul class="list middle">
<li>
<span id="menu" class="primary on_mobile icon active gray" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span>
<span id="menu" class="primary on_mobile icon active gray" onclick="MovimTpl.toggleMenu()">
<i class="zmdi zmdi-menu"></i>
</span>
<span class="primary on_desktop icon gray"><i class="zmdi zmdi-help"></i></span>
<p class="center"><?php echo __('page.help'); ?></p>
</li>

View file

@ -1,7 +1,7 @@
#caps_widget table {
width: 100%;
display: block;
overflow: auto;
font-size: 2rem;
@ -56,6 +56,6 @@
padding: 0 0.5rem;
}
main > section > div > * {
main > section > div > #caps_widget {
max-width: calc(100% - 4rem);
}

View file

@ -53,6 +53,14 @@ body main {
padding: 1rem 2rem;
}
#login_widget input#complete {
position: absolute;
top: 0;
border-bottom: none;
z-index: -1;
color: gray;
}
ul.admin {
position: relative;
text-align: center;

View file

@ -75,6 +75,7 @@ var Login = {
Login.toForm();
document.querySelector('#login').value = jid;
document.querySelector('input#complete').value = jid;
document.querySelector('#pass').value = "";
if(jid != '') {
@ -170,6 +171,25 @@ MovimWebsocket.register(function()
});
movim_add_onload(function() {
// We had the autocomplete system
var login = document.querySelector('input#login');
login.addEventListener('input', function() {
if(this.value.indexOf('@') == -1) {
// TODO allow another server here
document.querySelector('input#complete').value = this.value + '@movim.eu';
} else {
document.querySelector('input#complete').value = this.value;
}
if(this.value.length == 0) {
document.querySelector('input#complete').value = '';
}
});
login.addEventListener('blur', function() {
this.value = document.querySelector('input#complete').value;
});
/* Dump cache variables in localStorage */
for ( var i = 0, len = localStorage.length; i < len; ++i ) {
var cache = localStorage.key(i);

View file

@ -23,6 +23,7 @@
<div>
<input type="email" name="login" id="login" autofocus required disabled
placeholder="username@server.com"/>
<input type="text" id="complete" tabindex="-1"/>
<label for="login">{$c->__('form.username')}</label>
</div>
<div>
@ -69,7 +70,7 @@
<li>
<p class="normal center">
{$c->__('form.no_account')}
<a class="button flat" href="{$c->route('account')}">
<a class="button color" href="{$c->route('account')}">
{$c->__('form.create_one')}
</a>
</p>

View file

@ -25,6 +25,8 @@ class Api {
case 'exists':
$response->write($api->sessionExists($request->getPost()));
break;
case 'unregister':
$response->write($api->sessionUnregister($request->getPost()));
case 'disconnect';
$response->write($api->sessionDisconnect($request->getPost()));
break;
@ -49,6 +51,16 @@ class Api {
&& $sessions[$sid] == true);
}
public function sessionUnregister($post)
{
$sid = $post['sid'];
$session = $this->_core->getSession($sid);
if($session) {
$session->messageIn(json_encode(['func' => 'unregister']));
}
}
public function sessionDisconnect($post)
{
$sid = $post['sid'];

View file

@ -92,7 +92,7 @@ class Core implements MessageComponentInterface {
{
$sid = $this->getSid($from);
if($sid != null && isset($this->sessions[$sid])) {
$this->sessions[$sid]->messageIn($from, $msg);
$this->sessions[$sid]->messageIn($msg);
}
}
@ -152,6 +152,13 @@ class Core implements MessageComponentInterface {
$this->sessions);
}
public function getSession($sid)
{
if(isset($this->sessions[$sid])) {
return $this->sessions[$sid];
}
}
private function getSid(ConnectionInterface $conn)
{
$cookies = $conn->WebSocket->request->getCookies();

View file

@ -136,7 +136,7 @@ class Session {
}
}
public function messageIn(ConnectionInterface $from, $msg)
public function messageIn($msg)
{
$this->timestamp = time();
if(isset($this->process)) {

View file

@ -181,7 +181,7 @@ body > nav li { /* Little hack for the navbar */
}
}
@media screen and (min-width: 1024px) and (max-width: 1680px) {
@media screen and (min-width: 1024px) and (max-width: 1679px) {
body > nav p {
transition: opacity 0.5s cubic-bezier(.4,0,.2,1);
opacity: 0;