mirror of
https://github.com/YunoHost-Apps/movim_ynh.git
synced 2024-09-03 19:46:19 +02:00
Merge branch 'dev'
This commit is contained in:
commit
de34015100
50 changed files with 47338 additions and 44562 deletions
13
README.md
13
README.md
|
@ -5,10 +5,21 @@ Movim is a decentralized social network, written in PHP and HTML5 and based on t
|
|||
|
||||
Warning: BETA.
|
||||
|
||||
Current Movim version : 20150820.
|
||||
Current Movim version : 20150821.
|
||||
|
||||
**Changelog**
|
||||
|
||||
0.8b 2015-08-23
|
||||
- Added language selection : ar, de, es, it, ja, nl, ru
|
||||
- Fix URL in manifest.json (was https://https://...)
|
||||
- Public/Private policy changed. The SSO portal is not used anymore
|
||||
But when a pod is marked as "private", only accounts with @yourdomain.com are able to connect.
|
||||
This change was necessary for public content (blog)
|
||||
- Add dedicated php-fpm pool for Movim
|
||||
- Protect /log and /config properly
|
||||
- Update to upstream Movim 20150821
|
||||
- Fix #6 and #7
|
||||
|
||||
0.7b 2015-08-20
|
||||
- Update to upstream Movim 20150820 to fix #5
|
||||
|
||||
|
|
0
TODO
0
TODO
|
@ -10,7 +10,7 @@ location PATHTOCHANGE {
|
|||
|
||||
location ~ [^/]\.php(/|$) {
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||
fastcgi_pass unix:/var/run/php5-fpm-movim.sock;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_param REMOTE_USER $remote_user;
|
||||
|
@ -31,11 +31,12 @@ location ~ ^PATHTOCHANGE/ws/ {
|
|||
proxy_send_timeout 86400s;
|
||||
proxy_redirect off;
|
||||
}
|
||||
|
||||
# Include SSOWAT user panel.
|
||||
include conf.d/yunohost_panel.conf.inc;
|
||||
}
|
||||
|
||||
location ~ ^PATHTOCHANGE/(log|\.ht) {
|
||||
deny all;
|
||||
}
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
|
||||
location ~ /(config|log)$ {
|
||||
return 403;
|
||||
}
|
||||
|
|
15
conf/php-fpm.conf
Normal file
15
conf/php-fpm.conf
Normal file
|
@ -0,0 +1,15 @@
|
|||
[movim]
|
||||
listen = /var/run/php5-fpm-movim.sock
|
||||
listen.owner = www-data
|
||||
listen.group = www-data
|
||||
listen.mode = 0600
|
||||
user = movim
|
||||
group = movim
|
||||
|
||||
pm = dynamic
|
||||
pm.max_children = 5
|
||||
pm.start_servers = 2
|
||||
pm.min_spare_servers = 1
|
||||
pm.max_spare_servers = 3
|
||||
chdir = /var/www/movim
|
||||
php_admin_value[open_basedir] = none
|
|
@ -8,7 +8,7 @@
|
|||
"maintainer": {
|
||||
"name": "src386",
|
||||
"email": "soyouz@src386.org",
|
||||
"url": "http://https://github.com/src386"
|
||||
"url": "http://github.com/src386"
|
||||
},
|
||||
"multi_instance": "false",
|
||||
"arguments": {
|
||||
|
@ -56,7 +56,7 @@
|
|||
"en": "Pod language",
|
||||
"fr": "Langue du pod"
|
||||
},
|
||||
"choices" : ["en", "fr"],
|
||||
"choices" : ["ar", "de", "en", "es", "fr", "it", "ja", "nl", "ru"],
|
||||
"default" : "en"
|
||||
},
|
||||
{
|
||||
|
|
|
@ -12,13 +12,13 @@ port=$7
|
|||
# Check domain/path availability
|
||||
sudo yunohost app checkurl $domain$path -a movim
|
||||
if [[ ! $? -eq 0 ]]; then
|
||||
exit 1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check port availability
|
||||
sudo yunohost app checkport $port
|
||||
if [[ ! $? -eq 0 ]]; then
|
||||
exit 1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check user availability
|
||||
|
@ -30,15 +30,17 @@ fi
|
|||
# Check password not empty
|
||||
if [[ -z "$password" ]]; then
|
||||
printf "Error empty admin password, aborting"
|
||||
exit 1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Save parameters
|
||||
sudo yunohost app setting movim admin -v $admin
|
||||
sudo yunohost app setting movim public_site -v $public_site
|
||||
sudo yunohost app setting movim port -v $port
|
||||
sudo yunohost app setting movim path -v $path
|
||||
|
||||
# Generate random password
|
||||
db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p')
|
||||
db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[[:alnum:]]')
|
||||
|
||||
# Use 'movim' as database name and user
|
||||
db_user=movim
|
||||
|
@ -54,18 +56,18 @@ sudo apt-get install php5-gd php5-curl php5-imagick php5-cli -y
|
|||
final_path=/var/www/movim
|
||||
sudo mkdir -p $final_path
|
||||
sudo cp -a ../sources/* $final_path
|
||||
sudo cp $final_path/config/db.example.inc.php $final_path/config/db.inc.php
|
||||
|
||||
# Create movim system user and set permissions
|
||||
sudo useradd -d /var/www/movim -s /bin/sh movim
|
||||
sudo chown -R movim:www-data $final_path
|
||||
sudo chmod -R 770 $final_path
|
||||
sudo chmod -R 750 $final_path
|
||||
|
||||
# Install PHP dependencies
|
||||
sudo su -c "curl -sS https://getcomposer.org/installer | php -- --install-dir=$final_path" movim
|
||||
sudo su -c "cd $final_path && php composer.phar install" movim
|
||||
|
||||
# Movim configuration
|
||||
sudo cp $final_path/config/db.example.inc.php $final_path/config/db.inc.php
|
||||
sudo sed -i "s@'username' => 'username'@'username' => '$db_user'@g" $final_path/config/db.inc.php
|
||||
sudo sed -i "s@'password' => 'password'@'password' => '$db_pwd'@g" $final_path/config/db.inc.php
|
||||
sudo sed -i "s@/ws/@$path/ws/@g" $final_path/app/assets/js/movim_websocket.js
|
||||
|
@ -76,6 +78,10 @@ sudo su -c "cd $final_path && php mud.php config environment:production" movim
|
|||
sudo su -c "cd $final_path && php mud.php config timezone:`cat /etc/timezone`" movim
|
||||
sudo su -c "cd $final_path && php mud.php config username:$admin" movim
|
||||
sudo su -c "cd $final_path && php mud.php config password:`echo -n $password | sha1sum | awk '{print $1}'`" movim
|
||||
if [ $public_site = "No" ];
|
||||
then
|
||||
sudo su -c "cd $final_path && php mud.php config xmppwhitelist:$domain" movim
|
||||
fi
|
||||
sudo yunohost app addaccess movim -u $admin
|
||||
|
||||
# Copy init script or systemd service
|
||||
|
@ -95,22 +101,20 @@ else
|
|||
sudo /etc/init.d/movim start
|
||||
fi
|
||||
|
||||
# php-fpm configuration
|
||||
sudo cp ../conf/php-fpm.conf /etc/php5/fpm/pool.d/movim.conf
|
||||
|
||||
# Nginx configuration
|
||||
sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf
|
||||
sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf
|
||||
sed -i "s@YHPORT@$port@g" ../conf/nginx.conf
|
||||
sed -i "s@//ws/@/ws/@g" ../conf/nginx.conf # Avoid duplicate /
|
||||
sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/movim.conf
|
||||
|
||||
# SSOwat Configuration
|
||||
sudo yunohost app setting movim skipped_uris -v "/"
|
||||
if [ $public_site = "No" ];
|
||||
then
|
||||
sudo yunohost app setting movim protected_uris -v "/"
|
||||
else
|
||||
sudo yunohost app setting movim protected_uris -v "/?q=admin"
|
||||
fi
|
||||
sudo yunohost app ssowatconf
|
||||
|
||||
# Start Movim
|
||||
sudo service nginx reload
|
||||
sudo service php5-fpm restart
|
||||
sudo service nginx reload
|
||||
|
|
|
@ -4,20 +4,20 @@
|
|||
path=$(sudo yunohost app setting movim path)
|
||||
domain=$(sudo yunohost app setting movim domain)
|
||||
port=$(sudo yunohost app setting movim port)
|
||||
public_site=$(sudo yunohost app setting movim public_site)
|
||||
|
||||
# Install Movim files
|
||||
final_path=/var/www/movim
|
||||
sudo cp -a ../sources/* $final_path
|
||||
#sudo chown -R www-data: $final_path
|
||||
|
||||
# Create movim user if not exists and set permissions
|
||||
if grep -q movim /etc/passwd; then
|
||||
sudo chown -R movim:www-data $final_path
|
||||
sudo chmod -R 770 $final_path
|
||||
sudo chmod -R 750 $final_path
|
||||
else
|
||||
sudo useradd -s /bin/sh -d $final_path movim
|
||||
sudo chown -R movim:www-data $final_path
|
||||
sudo chmod -R 770 $final_path
|
||||
sudo chmod -R 750 $final_path
|
||||
fi
|
||||
|
||||
# Update PHP dependencies
|
||||
|
@ -27,6 +27,15 @@ sudo su -c "cd $final_path && php composer.phar install" movim
|
|||
# Movim configuration
|
||||
sudo sed -i "s@/ws/@$path/ws/@g" $final_path/app/assets/js/movim_websocket.js
|
||||
|
||||
# Update xmppwhitelist if private
|
||||
if [ $public_site = "No" ];
|
||||
then
|
||||
sudo su -c "cd $final_path && php mud.php config xmppwhitelist:$domain" movim
|
||||
fi
|
||||
|
||||
# Delete obsolete SSO conf
|
||||
sudo yunohost app setting movim protected_uris -d
|
||||
|
||||
# Update init scripts
|
||||
sudo sed -i "s@YHURL@$domain$path@g" ../conf/movim.{service,init}
|
||||
sudo sed -i "s@YHDIR@$final_path@g" ../conf/movim.{service,init}
|
||||
|
@ -47,6 +56,18 @@ else
|
|||
sudo /etc/init.d/movim start
|
||||
fi
|
||||
|
||||
# Update php-fpm configuration
|
||||
sudo cp ../conf/php-fpm.conf /etc/php5/fpm/pool.d/movim.conf
|
||||
|
||||
# Nginx configuration
|
||||
sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf
|
||||
sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf
|
||||
sed -i "s@YHPORT@$port@g" ../conf/nginx.conf
|
||||
sed -i "s@//ws/@/ws/@g" ../conf/nginx.conf # Avoid duplicate /
|
||||
sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/movim.conf
|
||||
|
||||
# Reload
|
||||
sudo yunohost app ssowatconf
|
||||
sudo service movim restart
|
||||
sudo service php5-fpm restart
|
||||
sudo service nginx reload
|
||||
|
|
|
@ -224,7 +224,12 @@ function cleanJid($jid)
|
|||
*/
|
||||
function explodeJid($jid)
|
||||
{
|
||||
list($jid, $resource) = explode('/', $jid);
|
||||
$arr = explode('/', $jid);
|
||||
$jid = $arr[0];
|
||||
|
||||
if(isset($arr[1])) $resource = $arr[1];
|
||||
else $resource = null;
|
||||
|
||||
list($username, $server) = explode('@', $jid);
|
||||
|
||||
return array(
|
||||
|
|
|
@ -261,7 +261,7 @@ class Contact extends Model {
|
|||
public function setVcard4($vcard) {
|
||||
if(isset($vcard->bday->date))
|
||||
$this->date = (string)$vcard->bday->date;
|
||||
if($empty($this->date))
|
||||
if(empty($this->date))
|
||||
$this->date = null;
|
||||
|
||||
$this->name = (string)$vcard->nickname->text;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#chat_header.encrypted:after{
|
||||
content: "";
|
||||
display: inline-block;
|
||||
font-family: "Material Design Iconic Font";
|
||||
font-family: "Material Design Iconic Font";
|
||||
content: "\f041";
|
||||
font-size: 2.5rem;
|
||||
margin-left: 1rem;
|
||||
|
@ -19,7 +19,7 @@
|
|||
#chat_widget .chat_box ul {
|
||||
margin: 0 auto;
|
||||
max-width: 100rem;
|
||||
margin-left: calc(50% - 51rem);
|
||||
margin-left: calc(45% - 49rem);
|
||||
}
|
||||
|
||||
#chat_widget .chat_box form {
|
||||
|
|
|
@ -121,6 +121,13 @@ var Chat = {
|
|||
}
|
||||
}
|
||||
|
||||
MovimWebsocket.attach(function() {
|
||||
var jid = document.querySelector('#chat_widget').dataset.jid;
|
||||
if(jid) {
|
||||
Chat_ajaxGet(jid);
|
||||
}
|
||||
});
|
||||
|
||||
Upload.attach(function() {
|
||||
var textarea = document.querySelector('#chat_textarea');
|
||||
textarea.value = Upload.get + ' ' + textarea.value;
|
||||
|
|
|
@ -1,10 +1,3 @@
|
|||
<div id="chat_widget">
|
||||
<div id="chat_widget" {if="$jid"}data-jid="{$jid}"{/if}>
|
||||
{$c->prepareEmpty()}
|
||||
{if="$jid"}
|
||||
<script type="text/javascript">
|
||||
MovimWebsocket.attach(function() {
|
||||
Chat_ajaxGet('{$jid}');
|
||||
});
|
||||
</script>
|
||||
{/if}
|
||||
</div>
|
||||
|
|
|
@ -15,6 +15,8 @@ class Chats extends WidgetBase
|
|||
$this->registerEvent('carbons', 'onMessage');
|
||||
$this->registerEvent('message', 'onMessage');
|
||||
$this->registerEvent('presence', 'onPresence', 'chat');
|
||||
$this->registerEvent('composing', 'onComposing');
|
||||
$this->registerEvent('paused', 'onPaused');
|
||||
}
|
||||
|
||||
function onMessage($packet)
|
||||
|
@ -56,6 +58,29 @@ class Chats extends WidgetBase
|
|||
}
|
||||
}
|
||||
|
||||
function onComposing($array)
|
||||
{
|
||||
$this->setState($array, $this->__('chats.composing'));
|
||||
}
|
||||
|
||||
function onPaused($array)
|
||||
{
|
||||
$this->setState($array, $this->__('chats.paused'));
|
||||
}
|
||||
|
||||
private function setState($array, $message)
|
||||
{
|
||||
list($from, $to) = $array;
|
||||
if($from == $this->user->getLogin()) {
|
||||
$jid = $to;
|
||||
} else {
|
||||
$jid = $from;
|
||||
}
|
||||
|
||||
RPC::call('movim_replace', $jid.'_chat_item', $this->prepareChat($jid, $message));
|
||||
RPC::call('Chats.refresh');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get history
|
||||
*/
|
||||
|
@ -67,7 +92,7 @@ class Chats extends WidgetBase
|
|||
$messages = $md->getContact(echapJid($jid), 0, 1);
|
||||
|
||||
$g = new \Moxl\Xec\Action\MAM\Get;
|
||||
$g->setJid($jid);
|
||||
$g->setJid(echapJid($jid));
|
||||
|
||||
if(!empty($messages)) {
|
||||
$g->setStart(strtotime($messages[0]->published));
|
||||
|
@ -156,7 +181,7 @@ class Chats extends WidgetBase
|
|||
return $view->draw('_chats', true);
|
||||
}
|
||||
|
||||
function prepareChat($jid)
|
||||
function prepareChat($jid, $status = null)
|
||||
{
|
||||
if(!$this->validateJid($jid)) return;
|
||||
|
||||
|
@ -180,6 +205,8 @@ class Chats extends WidgetBase
|
|||
$view->assign('caps', null);
|
||||
}
|
||||
|
||||
$view->assign('status', $status);
|
||||
|
||||
$m = $md->getContact($jid, 0, 1);
|
||||
if(isset($m)) {
|
||||
$view->assign('message', $m[0]);
|
||||
|
|
|
@ -26,12 +26,16 @@
|
|||
</span>
|
||||
{/if}
|
||||
<span>{$contact->getTrueName()}</span>
|
||||
{if="isset($message)"}
|
||||
<span class="info">{$message->published|strtotime|prepareDate}</span>
|
||||
{if="preg_match('#^\?OTR#', $message->body)"}
|
||||
<p><i class="zmdi zmdi-lock"></i> {$c->__('message.encrypted')}</p>
|
||||
{else}
|
||||
<p>{$message->body|prepareString|strip_tags}</p>
|
||||
{if="isset($status)"}
|
||||
<p>{$status}</p>
|
||||
{else}
|
||||
{if="isset($message)"}
|
||||
<span class="info">{$message->published|strtotime|prepareDate}</span>
|
||||
{if="preg_match('#^\?OTR#', $message->body)"}
|
||||
<p><i class="zmdi zmdi-lock"></i> {$c->__('message.encrypted')}</p>
|
||||
{else}
|
||||
<p>{$message->body|prepareString|strip_tags}</p>
|
||||
{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
</li>
|
||||
|
|
|
@ -4,6 +4,8 @@ empty = Open a new conversation by clicking on the plus button bello
|
|||
add = Chat with a contact
|
||||
frequent = Frequent contacts
|
||||
more = Load more contacts
|
||||
composing = Composing...
|
||||
paused = Paused...
|
||||
|
||||
[message]
|
||||
encrypted = Encrypted message
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div id="roster" ng-controller="RosterController as rosterCtrl">
|
||||
<ul id="rosterlist" class="{if="isset($conf) && $conf.roster == 'show'"}offlineshown{/if} active all">
|
||||
<ul id="rosterlist" class="{if="isset($conf) && isset($conf.roster) && $conf.roster == 'show'"}offlineshown{/if} active all">
|
||||
<div ng-if="contacts == null" class="empty placeholder icon contacts">
|
||||
<h1>{$c->__('roster.no_contacts_title')}</h1>
|
||||
<h4>{$c->__('roster.no_contacts_text')}</h4>
|
||||
|
|
|
@ -51,7 +51,6 @@ $stdin_behaviour = function ($data) use (&$conn, $loop, &$buffer, &$connector, &
|
|||
$config = $cd->get();
|
||||
|
||||
$port = 5222;
|
||||
|
||||
$dns = \Moxl\Utils::resolveHost($msg->host);
|
||||
if(isset($dns[0]['target']) && $dns[0]['target'] != null) $msg->host = $dns[0]['target'];
|
||||
if(isset($dns[0]['port']) && $dns[0]['port'] != null) $port = $dns[0]['port'];
|
||||
|
@ -111,6 +110,7 @@ $xmpp_behaviour = function (React\Stream\Stream $stream) use (&$conn, $loop, &$s
|
|||
} elseif($message == "<proceed xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>"
|
||||
|| $message == '<proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>') {
|
||||
stream_set_blocking($conn->stream, 1);
|
||||
stream_context_set_option($conn->stream, 'ssl', 'allow_self_signed', true);
|
||||
$out = stream_socket_enable_crypto($conn->stream, 1, STREAM_CRYPTO_METHOD_TLS_CLIENT);
|
||||
|
||||
$restart = true;
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -25,10 +25,10 @@
|
|||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Chats/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Config/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/ConfigData/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Config/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Contact/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Group/locales.ini
|
||||
|
@ -45,10 +45,10 @@
|
|||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Location/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Login/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/LoginAnonymous/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Login/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Menu/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/NodeAffiliations/locales.ini
|
||||
|
@ -81,17 +81,17 @@
|
|||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Vcard4/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Visio/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/VisioExt/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../app/widgets/Visio/locales.ini
|
||||
#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-#
|
||||
#. extracted from ../locales/locales.ini
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-08-16 15:40+0200\n"
|
||||
"POT-Creation-Date: 2015-08-20 15:17+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -584,11 +584,11 @@ msgstr ""
|
|||
msgid "Encrypted message"
|
||||
msgstr ""
|
||||
|
||||
#: [message]composing
|
||||
#: [message]composing [chats]composing
|
||||
msgid "Composing..."
|
||||
msgstr ""
|
||||
|
||||
#: [message]paused
|
||||
#: [message]paused [chats]paused
|
||||
msgid "Paused..."
|
||||
msgstr ""
|
||||
|
||||
|
@ -666,6 +666,26 @@ msgstr ""
|
|||
msgid "Load more contacts"
|
||||
msgstr ""
|
||||
|
||||
#: [title]data
|
||||
msgid "Data"
|
||||
msgstr ""
|
||||
|
||||
#: [title]cache
|
||||
msgid "Cache"
|
||||
msgstr ""
|
||||
|
||||
#: [title]contacts [menu]contacts [page]contacts
|
||||
msgid "Contacts"
|
||||
msgstr ""
|
||||
|
||||
#: [title]posts [page]posts
|
||||
msgid "Posts"
|
||||
msgstr ""
|
||||
|
||||
#: [title]messages
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#: [config]general
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
@ -702,26 +722,6 @@ msgstr ""
|
|||
msgid "Use desktop notifications"
|
||||
msgstr ""
|
||||
|
||||
#: [title]data
|
||||
msgid "Data"
|
||||
msgstr ""
|
||||
|
||||
#: [title]cache
|
||||
msgid "Cache"
|
||||
msgstr ""
|
||||
|
||||
#: [title]contacts [menu]contacts [page]contacts
|
||||
msgid "Contacts"
|
||||
msgstr ""
|
||||
|
||||
#: [title]posts [page]posts
|
||||
msgid "Posts"
|
||||
msgstr ""
|
||||
|
||||
#: [title]messages
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#: [general]legend [general]general_title
|
||||
msgid "General Informations"
|
||||
msgstr ""
|
||||
|
@ -957,7 +957,7 @@ msgstr ""
|
|||
#: [group]help_info2
|
||||
msgid ""
|
||||
"Choose a server and a Group and subscribe to it using the %s button in the "
|
||||
"header. You can alse create a new one using the %s button."
|
||||
"header. You can also create a new one using the %s button."
|
||||
msgstr ""
|
||||
|
||||
#: [group]help_info3
|
||||
|
@ -1181,6 +1181,10 @@ msgstr ""
|
|||
msgid "Update my position"
|
||||
msgstr ""
|
||||
|
||||
#: [login_anonymous]bad_username
|
||||
msgid "Bad nickname (between 4 and 40 characters)"
|
||||
msgstr ""
|
||||
|
||||
#: [error]username
|
||||
msgid "Wrong username"
|
||||
msgstr ""
|
||||
|
@ -1309,10 +1313,6 @@ msgstr ""
|
|||
msgid "Population"
|
||||
msgstr ""
|
||||
|
||||
#: [login_anonymous]bad_username
|
||||
msgid "Bad nickname (between 4 and 40 characters)"
|
||||
msgstr ""
|
||||
|
||||
#: [menu]empty_title
|
||||
msgid "No news yet..."
|
||||
msgstr ""
|
||||
|
@ -1784,18 +1784,6 @@ msgstr ""
|
|||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: [visio]call
|
||||
msgid "Call"
|
||||
msgstr ""
|
||||
|
||||
#: [visio]hang_up
|
||||
msgid "Hang up"
|
||||
msgstr ""
|
||||
|
||||
#: [visio]connection
|
||||
msgid "Connection"
|
||||
msgstr ""
|
||||
|
||||
#: [visio]hung_up
|
||||
msgid "Hung up"
|
||||
msgstr ""
|
||||
|
@ -1812,6 +1800,18 @@ msgstr ""
|
|||
msgid "Is calling you"
|
||||
msgstr ""
|
||||
|
||||
#: [visio]call
|
||||
msgid "Call"
|
||||
msgstr ""
|
||||
|
||||
#: [visio]hang_up
|
||||
msgid "Hang up"
|
||||
msgstr ""
|
||||
|
||||
#: [visio]connection
|
||||
msgid "Connection"
|
||||
msgstr ""
|
||||
|
||||
#: [global]no_js
|
||||
msgid "You don't have javascript enabled. Good luck with that."
|
||||
msgstr ""
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -431,7 +431,7 @@ function getMood() {
|
|||
'envious' => __('mood.envious'), // Feeling pain by the excellence or good fortune of another.
|
||||
'excited' => __('mood.excited'), // Having great enthusiasm.
|
||||
'flirtatious' => __('mood.flirtatious'), // In the mood for flirting.
|
||||
'frustated' => __('mood.frustrated'), // Suffering from frustration; dissatisfied, agitated, or discontented because one is unable to perform an action or fulfill a desire.
|
||||
'frustrated' => __('mood.frustrated'), // Suffering from frustration; dissatisfied, agitated, or discontented because one is unable to perform an action or fulfill a desire.
|
||||
'grateful' => __('mood.grateful'), // Feeling appreciation or thanks.
|
||||
'grieving' => __('mood.grieving'), // Feeling very sad about something, especially something lost; mournful; sorrowful.
|
||||
'grumpy' => __('mood.grumpy'), // Unhappy and irritable.
|
||||
|
|
|
@ -339,7 +339,7 @@ header.big ~ .button.action {
|
|||
|
||||
@media screen and (min-width: 1025px) {
|
||||
main > section > div:first-child:nth-last-child(2) .button.action {
|
||||
right: calc(70% + 3rem);
|
||||
right: calc(65% + 3rem);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -180,7 +180,7 @@ body > nav li { /* Little hack for the navbar */
|
|||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1024px) {
|
||||
@media screen and (min-width: 1024px) and (max-width: 1680px) {
|
||||
body > nav:hover {
|
||||
width: 45rem;
|
||||
box-shadow: 0 2.5rem 5rem rgba(0,0,0,0.30), 0 2rem 1.5rem rgba(0,0,0,0.22);
|
||||
|
@ -203,14 +203,12 @@ body > nav li { /* Little hack for the navbar */
|
|||
@media screen and (min-width: 1680px) {
|
||||
body > nav,
|
||||
body > nav:hover {
|
||||
width: 32rem;
|
||||
box-shadow: none;
|
||||
width: 15%;
|
||||
}
|
||||
|
||||
body > nav + main,
|
||||
body > nav:hover + main {
|
||||
opacity: 1;
|
||||
width: calc(100% - 32rem);
|
||||
width: 85%;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -248,7 +246,7 @@ main > header {
|
|||
main > header > div {
|
||||
padding-left: 9rem;
|
||||
position: relative;
|
||||
width: 30%;
|
||||
width: 35%;
|
||||
display: inline-block;
|
||||
/*overflow: hidden;*/
|
||||
box-sizing: border-box;
|
||||
|
@ -289,7 +287,7 @@ main > header > div > ul.active:not(.context_menu) li.thin span.icon {
|
|||
}
|
||||
|
||||
main > header > div:first-child:nth-last-child(2) ~ div {
|
||||
width: 70%;
|
||||
width: 65%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
|
@ -384,10 +382,10 @@ main > section > div > * {
|
|||
|
||||
/* Two blocks*/
|
||||
main > section > div:first-child:nth-last-child(2) {
|
||||
width: 30%;
|
||||
width: 35%;
|
||||
}
|
||||
main > section > div:first-child:nth-last-child(2) ~ div {
|
||||
width: 70%;
|
||||
width: 65%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue