Merge remote-tracking branch 'upstream/master'

This commit is contained in:
zottel 2014-02-20 08:42:40 +01:00
commit b223b52f83
20 changed files with 1461 additions and 1251 deletions

View file

@ -1,7 +1,8 @@
<?php /** @file */
<?php
/*
* File/attach API with the potential for revision control.
/** @file
*
* @brief File/attach API with the potential for revision control.
*
* TODO: a filesystem storage abstraction which maintains security (and 'data' contains a system filename
* which is inaccessible from the web). This could get around PHP storage limits and store videos and larger
@ -12,6 +13,15 @@
require_once('include/permissions.php');
require_once('include/security.php');
/**
* @brief Guess the mimetype from file ending.
*
* This function takes a file name and guess the mimetype from the
* filename extension.
*
* @param $filename a string filename
* @return string The mimetype according to a file ending.
*/
function z_mime_content_type($filename) {
$mime_types = array(
@ -80,8 +90,6 @@ function z_mime_content_type($filename) {
if (array_key_exists($ext, $mime_types)) {
return $mime_types[$ext];
}
}
return 'application/octet-stream';
@ -89,7 +97,20 @@ function z_mime_content_type($filename) {
}
/**
* @brief Count files/attachments.
*
*
* @param $channel_id
* @param $observer
* @param $hash (optional)
* @param $filename (optional)
* @param $filetype (optional)
* @return array
* $ret['success'] boolean
* $ret['results'] amount of found results, or false
* $ret['message'] string with error messages if any
*/
function attach_count_files($channel_id, $observer, $hash = '', $filename = '', $filetype = '') {
$ret = array('success' => false);
@ -121,6 +142,22 @@ function attach_count_files($channel_id, $observer, $hash = '', $filename = '',
}
/**
* @brief Returns a list of files/attachments.
*
* @param $channel_id
* @param $observer
* @param $hash (optional)
* @param $filename (optional)
* @param $filetype (optional)
* @param $orderby
* @param $start
* @param $entries
* @return array
* $ret['success'] boolean
* $ret['results'] array with results, or false
* $ret['message'] string with error messages if any
*/
function attach_list_files($channel_id, $observer, $hash = '', $filename = '', $filetype = '', $orderby = 'created desc', $start = 0, $entries = 0) {
$ret = array('success' => false);
@ -157,9 +194,16 @@ function attach_list_files($channel_id, $observer, $hash = '', $filename = '', $
}
// Find an attachment by hash and revision. Returns the entire attach structure including data.
// This could exhaust memory so most useful only when immediately sending the data.
/**
* @brief Find an attachment by hash and revision.
*
* Returns the entire attach structure including data.
*
* This could exhaust memory so most useful only when immediately sending the data.
*
* @param $hash
* @param $rev
*/
function attach_by_hash($hash, $rev = 0) {
$ret = array('success' => false);
@ -190,7 +234,6 @@ function attach_by_hash($hash,$rev = 0) {
// Now we'll see if we can access the attachment
$r = q("SELECT * FROM attach WHERE hash = '%s' and uid = %d $sql_extra LIMIT 1",
dbesc($hash),
intval($r[0]['uid'])
@ -207,8 +250,15 @@ function attach_by_hash($hash,$rev = 0) {
}
/**
* @brief Find an attachment by hash and revision.
*
* Returns the entire attach structure excluding data.
*
* @see attach_by_hash()
* @param $hash
* @param $ref
*/
function attach_by_hash_nodata($hash, $rev = 0) {
$ret = array('success' => false);
@ -254,12 +304,16 @@ function attach_by_hash_nodata($hash,$rev = 0) {
}
/**
* @brief
*
* @param $channel channel array of owner
* @param $observer_hash hash of current observer
* @param $options (optional)
* @param $arr (optional)
*/
function attach_store($channel, $observer_hash, $options = '', $arr = null) {
$ret = array('success' => false);
$channel_id = $channel['channel_id'];
$sql_options = '';
@ -379,7 +433,6 @@ function attach_store($channel,$observer_hash,$options = '',$arr = null) {
dbesc($x[0]['deny_gid'])
);
}
elseif($options === 'update') {
$r = q("update attach set filename = '%s', filetype = '%s', edited = '%s',
allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where id = %d and uid = %d limit 1",
@ -394,7 +447,6 @@ function attach_store($channel,$observer_hash,$options = '',$arr = null) {
intval($x[0]['uid'])
);
}
else {
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, filesize, revision, data, created, edited, allow_cid, allow_gid,deny_cid, deny_gid )
VALUES ( %d, %d, '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
@ -441,12 +493,11 @@ function attach_store($channel,$observer_hash,$options = '',$arr = null) {
return $ret;
}
/**
* Read a virtual directory and return contents, checking permissions of all parent components.
* @function z_readdir
* @param integer $channel_id
* @param string $observer_hash
* @param string $observer_hash hash of current observer
* @param string $pathname
* @param string $parent_hash (optional)
*
@ -455,7 +506,6 @@ function attach_store($channel,$observer_hash,$options = '',$arr = null) {
* $ret['message'] = error message if success is false
* $ret['data'] = array of attach DB entries without data component
*/
function z_readdir($channel_id, $observer_hash, $pathname, $parent_hash = '') {
$ret = array('success' => false);
@ -464,7 +514,6 @@ function z_readdir($channel_id,$observer_hash,$pathname, $parent_hash = '') {
return $ret;
}
if(strpos($pathname, '/')) {
$paths = explode('/', $pathname);
if(count($paths) > 1) {
@ -501,20 +550,17 @@ function z_readdir($channel_id,$observer_hash,$pathname, $parent_hash = '') {
return $ret;
}
/**
* @function attach_mkdir($channel,$observer_hash,$arr);
*
* Create directory
* @brief Create directory.
*
* @param $channel channel array of owner
* @param $observer_hash hash of current observer
* @param $arr parameter array to fulfil request
*
* Required:
* $arr['filename']
* $arr['folder'] // hash of parent directory, empty string for root directory
*
* Optional:
* $arr['hash'] // precumputed hash for this node
* $arr['allow_cid']
@ -522,7 +568,6 @@ function z_readdir($channel_id,$observer_hash,$pathname, $parent_hash = '') {
* $arr['deny_cid']
* $arr['deny_gid']
*/
function attach_mkdir($channel, $observer_hash, $arr = null) {
$ret = array('success' => false);
@ -536,7 +581,6 @@ function attach_mkdir($channel,$observer_hash,$arr = null) {
if(! is_dir($basepath))
mkdir($basepath,STORAGE_DEFAULT_PERMISSIONS, true);
if(! perm_is_allowed($channel_id, $observer_hash, 'write_storage')) {
$ret['message'] = t('Permission denied.');
return $ret;
@ -547,10 +591,8 @@ function attach_mkdir($channel,$observer_hash,$arr = null) {
return $ret;
}
$arr['hash'] = (($arr['hash']) ? $arr['hash'] : random_string());
// Check for duplicate name.
// Check both the filename and the hash as we will be making use of both.
@ -576,7 +618,6 @@ function attach_mkdir($channel,$observer_hash,$arr = null) {
$sql_options = permissions_sql($channel['channel_id']);
do {
$r = q("select filename, hash, flags, folder from attach where uid = %d and hash = '%s' and ( flags & %d )
$sql_options limit 1",
intval($channel['channel_id']),
@ -594,7 +635,6 @@ function attach_mkdir($channel,$observer_hash,$arr = null) {
$lfile = $r[0]['folder'];
} while ( ($r[0]['folder']) && ($r[0]['flags'] & ATTACH_FLAG_DIR)) ;
$path = $basepath . '/' . $lpath;
}
else
$path = $basepath . '/';
@ -641,8 +681,17 @@ function attach_mkdir($channel,$observer_hash,$arr = null) {
}
/**
* @brief Changes permissions of a file.
*
* @param $channel_id
* @param $resource
* @param $allow_cid
* @param $allow_gid
* @param $deny_cid
* @param $deny_gid
* @param $recurse
*/
function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse = false) {
$r = q("select hash, flags from attach where hash = '%s' and uid = %d limit 1",
@ -679,8 +728,12 @@ function attach_change_permissions($channel_id,$resource,$allow_cid,$allow_gid,$
return;
}
/**
* @brief Delete a file.
*
* @param $channel_id
* @param $resource
*/
function attach_delete($channel_id, $resource) {
@ -733,8 +786,12 @@ function attach_delete($channel_id,$resource) {
return;
}
/**
* @brief Returns path to file in cloud/.
*
* @param $arr
* @return string with the path the file to cloud/
*/
function get_cloudpath($arr) {
$basepath = 'cloud/';
@ -746,7 +803,6 @@ function get_cloudpath($arr) {
$basepath .= $r[0]['channel_address'] . '/';
}
$path = $basepath;
if($arr['folder']) {
@ -772,17 +828,17 @@ function get_cloudpath($arr) {
} while ( ($r[0]['folder']) && ($r[0]['flags'] & ATTACH_FLAG_DIR)) ;
$path .= $lpath;
}
$path .= $arr['filename'];
return $path;
}
/**
*
* @param $in
* @param $out
*/
function pipe_streams($in, $out) {
$size = 0;
while (!feof($in))

View file

@ -261,7 +261,7 @@ function settings_post(&$a) {
$maxreq = ((x($_POST,'maxreq')) ? intval($_POST['maxreq']) : 0);
$expire = ((x($_POST,'expire')) ? intval($_POST['expire']) : 0);
$def_group = ((x($_POST,'group-selection')) ? notags(trim($_POST['group-selection'])) : '');
$channel_menu = ((x($_POST['channel_menu'])) ? htmlspecialchars_decode(trim($_POST['channel_menu'])) : '');
$expire_items = ((x($_POST,'expire_items')) ? intval($_POST['expire_items']) : 0);
$expire_starred = ((x($_POST,'expire_starred')) ? intval($_POST['expire_starred']) : 0);
@ -403,7 +403,7 @@ function settings_post(&$a) {
set_pconfig(local_user(),'system','post_profilechange', $post_profilechange);
set_pconfig(local_user(),'system','blocktags',$blocktags);
set_pconfig(local_user(),'system','hide_online_status',$hide_presence);
set_pconfig(local_user(),'system','channel_menu',$channel_menu);
$r = q("update channel set channel_name = '%s', channel_pageflags = %d, channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d, channel_default_group = '%s', channel_r_stream = %d, channel_r_profile = %d, channel_r_photos = %d, channel_r_abook = %d, channel_w_stream = %d, channel_w_wall = %d, channel_w_tagwall = %d, channel_w_comment = %d, channel_w_mail = %d, channel_w_photos = %d, channel_w_chat = %d, channel_a_delegate = %d, channel_r_storage = %d, channel_w_storage = %d, channel_r_pages = %d, channel_w_pages = %d, channel_a_republish = %d, channel_a_bookmark = %d, channel_allow_cid = '%s', channel_allow_gid = '%s', channel_deny_cid = '%s', channel_deny_gid = '%s' where channel_id = %d limit 1",
dbesc($username),
@ -758,7 +758,7 @@ function settings_content(&$a) {
'$ajaxint' => array('browser_update', t("Update browser every xx seconds"), $browser_update, t('Minimum of 10 seconds, no maximum')),
'$itemspage' => array('itemspage', t("Maximum number of conversations to load at any time:"), $itemspage, t('Maximum of 100 items')),
'$nosmile' => array('nosmile', t("Don't show emoticons"), $nosmile, ''),
'$chanview_full' => array('chanview_full', t('View remote profiles as webpages'), $chanview, t('By default open in a sub-window of your own site')),
'$chanview_full' => array('chanview_full', t('Do not view remote profiles in frames'), $chanview, t('By default open in a sub-window of your own site')),
'$theme_config' => $theme_config,
));
@ -911,6 +911,18 @@ function settings_content(&$a) {
require_once('include/group.php');
$group_select = mini_group_select(local_user(),$channel['channel_default_group']);
require_once('include/menu.php');
$m1 = menu_list(local_user());
$menu = false;
if($m1) {
$menu = array();
$current = get_pconfig(local_user(),'system','channel_menu');
$menu[] = array('name' => '', 'selected' => ((! $current) ? true : false));
foreach($m1 as $m) {
$menu[] = array('name' => htmlspecialchars($m['menu_name'],ENT_COMPAT,'UTF-8'), 'selected' => (($m['menu_name'] === $current) ? ' selected="selected" ' : false));
}
}
$o .= replace_macros($stpl,array(
'$ptitle' => t('Channel Settings'),
@ -981,7 +993,9 @@ function settings_content(&$a) {
'$pagetype' => $pagetype,
'$expert' => feature_enabled(local_user(),'expert'),
'$hint' => t('Please enable expert mode (in <a href="settings/features">Settings > Additional features</a>) to adjust!'),
'$lbl_misc' => t('Miscellaneous Settings'),
'$menus' => $menu,
'$menu_desc' => t('Personal menu to display in your channel pages'),
));
call_hooks('settings_form',$o);

View file

@ -5979,7 +5979,7 @@ msgid "Don't show emoticons"
msgstr ""
#: ../../mod/settings.php:761
msgid "View remote profiles as webpages"
msgid "Do not view remote profiles in frames"
msgstr ""
#: ../../mod/settings.php:761

View file

@ -1 +1 @@
2014-02-18.592
2014-02-19.593

View file

@ -65,3 +65,51 @@ margin-left: 0px;
float:none;
margin-left:0px;
}
/* nav overrides */
nav .badge {
position: relative;
top: -48px;
float: left;
font-size: 10px;
padding: 2px 6px;
cursor: pointer;
}
nav .dropdown-menu {
top: 50px;
max-height: 450px;
max-width: 300px;
overflow-y: auto;
margin-top: 0px;
}
nav .dropdown-menu .contactname {
padding-top: 2px;
font-weight: bold;
display: block;
}
nav .dropdown-menu img {
float: left;
margin-right: 5px;
width: 32px;
height: 32px;
}
nav .dropdown-menu li a {
overflow: hidden;
text-overflow: ellipsis;
line-height: 1em;
padding: 5px 10px;
}
nav .navbar-collapse {
max-height: 450px;
}
nav .navbar-right li:last-child {
padding-right: 20px;
}
/* nav overrides end */

View file

@ -1,18 +1,8 @@
nav {
height: 24px;
display: block;
position: fixed;
width: 100%;
z-index: 100;
background-color: #ff0000;
}
aside#region_1 {
display: block;
width: 210px;
position: absolute;
top: 48px;
top: 65px;
left: 0;
margin-left: 10px;
}
@ -24,7 +14,7 @@ aside input[type='text'] {
section {
position: absolute;
top: 48px;
top: 65px;
left: 250px;
display: block;
right: 15px;

View file

@ -35,3 +35,17 @@
margin-bottom: 15px;
}
#settings-menu-desc {
font-weight: bold;
float: left;
width: 350px;
}
#settings-channel-menu-div select {
float: left;
}
#settings-channel-menu-end {
clear: both;
margin-bottom: 15px;
}

View file

@ -109,6 +109,9 @@
opacity: 0;
}
li:hover .group-edit-icon {
opacity: 1;
}
/* affinity - slider */
#main-slider {

View file

@ -5994,7 +5994,7 @@ msgid "Don't show emoticons"
msgstr "Emoticons nicht zeigen"
#: ../../mod/settings.php:761
msgid "View remote profiles as webpages"
msgid "Do not view remote profiles in frames"
msgstr ""
#: ../../mod/settings.php:761

View file

@ -1410,7 +1410,7 @@ $a->strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 Sekunden, kein Ma
$a->strings["Maximum number of conversations to load at any time:"] = "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:";
$a->strings["Maximum of 100 items"] = "Maximum: 100 Beiträge";
$a->strings["Don't show emoticons"] = "Emoticons nicht zeigen";
$a->strings["View remote profiles as webpages"] = "";
$a->strings["Do not view remote profiles in frames"] = "";
$a->strings["By default open in a sub-window of your own site"] = "";
$a->strings["Nobody except yourself"] = "Niemand außer Dir selbst";
$a->strings["Only those you specifically allow"] = "Nur die, denen Du es explizit erlaubst";

File diff suppressed because it is too large Load diff

View file

@ -4,6 +4,45 @@ function string_plural_select_it($n){
return ($n != 1);;
}
;
$a->strings["Categories"] = "Categorie";
$a->strings["Connect"] = "Entra in contatto";
$a->strings["Ignore/Hide"] = "Ignora/nascondi";
$a->strings["Suggestions"] = "Suggerimenti";
$a->strings["See more..."] = "Altro...";
$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Hai attivato %1$.0f delle %2$.0f connessioni permesse.";
$a->strings["Add New Connection"] = "Aggiungi un contatto";
$a->strings["Enter the channel address"] = "Scrivi l'indirizzo del canale";
$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Per esempio: mario@pippo.it oppure http://pluto.com/barbara";
$a->strings["Notes"] = "Note";
$a->strings["Save"] = "Salva";
$a->strings["Remove term"] = "Rimuovi termine";
$a->strings["Saved Searches"] = "Ricerche salvate";
$a->strings["add"] = "aggiungi";
$a->strings["Saved Folders"] = "Cartelle salvate";
$a->strings["Everything"] = "Tutto";
$a->strings["Archives"] = "Archivi";
$a->strings["Refresh"] = "Aggiorna";
$a->strings["Me"] = "Io";
$a->strings["Best Friends"] = "Buoni amici";
$a->strings["Friends"] = "Amici";
$a->strings["Co-workers"] = "Colleghi";
$a->strings["Former Friends"] = "Ex amici";
$a->strings["Acquaintances"] = "Conoscenti";
$a->strings["Everybody"] = "Tutti";
$a->strings["Account settings"] = "Impostazioni dell'account";
$a->strings["Channel settings"] = "Impostazioni del canale";
$a->strings["Additional features"] = "Funzionalità aggiuntive";
$a->strings["Feature settings"] = "Impostazioni aggiuntive";
$a->strings["Display settings"] = "Impostazioni grafiche";
$a->strings["Connected apps"] = "App connesse";
$a->strings["Export channel"] = "Esporta il canale";
$a->strings["Automatic Permissions (Advanced)"] = "Permessi predefiniti (avanzato)";
$a->strings["Premium Channel Settings"] = "Canale premium - impostazioni";
$a->strings["Channel Sources"] = "Sorgenti del canale";
$a->strings["Settings"] = "Impostazioni";
$a->strings["Check Mail"] = "Controlla i messaggi";
$a->strings["New Message"] = "Nuovo messaggio";
$a->strings["Chat Rooms"] = "Chat attive";
$a->strings["Visible to everybody"] = "Visibile a tutti";
$a->strings["show"] = "mostra";
$a->strings["don't show"] = "non mostrare";
@ -31,7 +70,7 @@ $a->strings["Your events"] = "I tuoi eventi";
$a->strings["Bookmarks"] = "Segnalibri";
$a->strings["Your bookmarks"] = "I tuoi segnalibri";
$a->strings["Webpages"] = "Pagine web";
$a->strings["Your webpages"] = "Le tue pagine";
$a->strings["Your webpages"] = "Le tue pagine web";
$a->strings["Login"] = "Accedi";
$a->strings["Sign in"] = "Entra";
$a->strings["%s - click to logout"] = "%s - clicca per uscire";
@ -65,13 +104,11 @@ $a->strings["See all private messages"] = "Guarda tutti i messaggi privati";
$a->strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati";
$a->strings["Inbox"] = "In arrivo";
$a->strings["Outbox"] = "Inviati";
$a->strings["New Message"] = "Nuovo messaggio";
$a->strings["Event Calendar"] = "Calendario";
$a->strings["See all events"] = "Guarda tutti gli eventi";
$a->strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
$a->strings["Channel Select"] = "Gestisci i canali";
$a->strings["Manage Your Channels"] = "Gestisci i contatti dei tuoi canali";
$a->strings["Settings"] = "Impostazioni";
$a->strings["Account/Channel Settings"] = "Impostazioni account e canali";
$a->strings["Connections"] = "Contatti";
$a->strings["Manage/Edit Friends and Connections"] = "Modifica amici e contatti";
@ -91,7 +128,6 @@ $a->strings["%d Connection"] = array(
1 => "%d contatti",
);
$a->strings["View Connections"] = "Elenco contatti";
$a->strings["Save"] = "Salva";
$a->strings["poke"] = "poke";
$a->strings["poked"] = "ha ricevuto un poke";
$a->strings["ping"] = "ping";
@ -163,42 +199,12 @@ $a->strings["Blocks"] = "Riquadri";
$a->strings["Menus"] = "Menù";
$a->strings["Layouts"] = "Layout";
$a->strings["Pages"] = "Pagine";
$a->strings["Categories"] = "Categorie";
$a->strings["Connect"] = "Entra in contatto";
$a->strings["Ignore/Hide"] = "Ignora/nascondi";
$a->strings["Suggestions"] = "Suggerimenti";
$a->strings["See more..."] = "Altro...";
$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Hai attivato %1$.0f delle %2$.0f connessioni permesse.";
$a->strings["Add New Connection"] = "Aggiungi un contatto";
$a->strings["Enter the channel address"] = "Scrivi l'indirizzo del canale";
$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Per esempio: mario@pippo.it oppure http://pluto.com/barbara";
$a->strings["Notes"] = "Note";
$a->strings["Remove term"] = "Rimuovi termine";
$a->strings["Saved Searches"] = "Ricerche salvate";
$a->strings["add"] = "aggiungi";
$a->strings["Saved Folders"] = "Cartelle salvate";
$a->strings["Everything"] = "Tutto";
$a->strings["Archives"] = "Archivi";
$a->strings["Refresh"] = "Aggiorna";
$a->strings["Me"] = "Io";
$a->strings["Best Friends"] = "Buoni amici";
$a->strings["Friends"] = "Amici";
$a->strings["Co-workers"] = "Colleghi";
$a->strings["Former Friends"] = "Ex amici";
$a->strings["Acquaintances"] = "Conoscenti";
$a->strings["Everybody"] = "Tutti";
$a->strings["Account settings"] = "Impostazioni dell'account";
$a->strings["Channel settings"] = "Impostazioni del canale";
$a->strings["Additional features"] = "Funzionalità aggiuntive";
$a->strings["Feature settings"] = "Impostazioni aggiuntive";
$a->strings["Display settings"] = "Impostazioni grafiche";
$a->strings["Connected apps"] = "App connesse";
$a->strings["Export channel"] = "Esporta il canale";
$a->strings["Automatic Permissions (Advanced)"] = "Permessi predefiniti (avanzato)";
$a->strings["Premium Channel Settings"] = "Canale premium - impostazioni";
$a->strings["Channel Sources"] = "Sorgenti del canale";
$a->strings["Check Mail"] = "Controlla i messaggi";
$a->strings["Chat Rooms"] = "Chat attive";
$a->strings["Image/photo"] = "Immagine";
$a->strings["Encrypted content"] = "Contenuto crittografato";
$a->strings["QR code"] = "QR code";
$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s seguente %3\$s";
$a->strings["post"] = "l'articolo";
$a->strings["$1 wrote:"] = "$1 ha scritto:";
$a->strings["New window"] = "Nuova finestra";
$a->strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
$a->strings["General Features"] = "Funzionalità generali";
@ -351,12 +357,6 @@ $a->strings["duplicate filename or path"] = "il file o percorso del file è dupl
$a->strings["Path not found."] = "Percorso del file non trovato.";
$a->strings["mkdir failed."] = "mkdir fallito.";
$a->strings["database storage failed."] = "scrittura su database fallita.";
$a->strings["Image/photo"] = "Immagine";
$a->strings["Encrypted content"] = "Contenuto crittografato";
$a->strings["QR code"] = "QR code";
$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s seguente %3\$s";
$a->strings["post"] = "l'articolo";
$a->strings["$1 wrote:"] = "$1 ha scritto:";
$a->strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s";
$a->strings["channel"] = "canale";
$a->strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
@ -535,7 +535,7 @@ $a->strings["to"] = "a";
$a->strings["via"] = "via";
$a->strings["Wall-to-Wall"] = "Da bacheca a bacheca";
$a->strings["via Wall-To-Wall:"] = "da bacheca a bacheca:";
$a->strings["Bookmark Links"] = "I segnalibri dei link";
$a->strings["Bookmark Links"] = "I link dei segnalibri";
$a->strings["%d comment"] = array(
0 => "%d commento",
1 => "%d commenti",
@ -741,7 +741,7 @@ $a->strings["Can write to my \"public\" file storage"] = "Può scrivere sul mio
$a->strings["Can edit my \"public\" pages"] = "Può modificare le mie pagine web \"pubbliche\"";
$a->strings["Can source my \"public\" posts in derived channels"] = "Può aggiungere i miei post \"pubblici\" a un suo canale derivato";
$a->strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte";
$a->strings["Can send me bookmarks"] = "Può inviarmi segnalibri";
$a->strings["Can send me bookmarks"] = "Può inviarmi dei segnalibri";
$a->strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
$a->strings["Permission denied"] = "Permesso negato";
@ -783,6 +783,8 @@ $a->strings["item not found."] = "non trovato.";
$a->strings["Edit Thing"] = "Modifica l'oggetto";
$a->strings["Select a profile"] = "Scegli un profilo";
$a->strings["Select a category of stuff. e.g. I ______ something"] = "Scegli come riferirsi all'oggetto. Esempio: Io _____ l'oggetto";
$a->strings["Post an activity"] = "Pubblica un'attività";
$a->strings["Only sends to viewers of the applicable profile"] = "Invia solo a chi segue il relativo canale";
$a->strings["Name of thing e.g. something"] = "Nome dell'oggetto";
$a->strings["URL of thing (optional)"] = "Indirizzo web dell'oggetto";
$a->strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine dell'oggetto (facoltativo)";
@ -828,8 +830,8 @@ $a->strings["Menu name"] = "Nome del menù";
$a->strings["Must be unique, only seen by you"] = "Deve essere unico, lo vedrai solo tu";
$a->strings["Menu title"] = "Titolo del menù";
$a->strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti";
$a->strings["Allow bookmarks"] = "Permetti di inviare segnalibri";
$a->strings["Menu may be used to store saved bookmarks"] = "I segnalibri possono essere salvati nel menu";
$a->strings["Allow bookmarks"] = "Permetti l'invio di segnalibri";
$a->strings["Menu may be used to store saved bookmarks"] = "Puoi salvare i segnalibri nei menu";
$a->strings["Create"] = "Crea";
$a->strings["Menu not found."] = "Menù non trovato.";
$a->strings["Menu deleted."] = "Menù eliminato.";
@ -852,103 +854,6 @@ $a->strings["Red Matrix - Guests: Username: {your email address}, Password: +++"
$a->strings["Bookmark added"] = "Segnalibro aggiunto";
$a->strings["My Bookmarks"] = "I miei segnalibri";
$a->strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
$a->strings["Name is required"] = "Il nome è obbligatorio";
$a->strings["Key and Secret are required"] = "Chiave e Segreto sono richiesti";
$a->strings["Update"] = "Aggiorna";
$a->strings["Passwords do not match. Password unchanged."] = "Le password non corrispondono. Password non cambiata.";
$a->strings["Empty passwords are not allowed. Password unchanged."] = "Le password non possono essere vuote. Password non cambiata.";
$a->strings["Password changed."] = "Password cambiata.";
$a->strings["Password update failed. Please try again."] = "Aggiornamento password fallito. Prova ancora.";
$a->strings["Not valid email."] = "Email non valida.";
$a->strings["Protected email address. Cannot change to that email."] = "È un indirizzo email riservato. Non puoi sceglierlo.";
$a->strings["System failure storing new email. Please try again."] = "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore.";
$a->strings["Settings updated."] = "Impostazioni aggiornate.";
$a->strings["Add application"] = "Aggiungi una app";
$a->strings["Name"] = "Nome";
$a->strings["Name of application"] = "Nome dell'applicazione";
$a->strings["Consumer Key"] = "Consumer Key";
$a->strings["Automatically generated - change if desired. Max length 20"] = "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20";
$a->strings["Consumer Secret"] = "Consumer Secret";
$a->strings["Redirect"] = "Redirect";
$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI ridirezionato - lasciare bianco se non richiesto specificamente dall'applicazione.";
$a->strings["Icon url"] = "Url icona";
$a->strings["Optional"] = "Opzionale";
$a->strings["You can't edit this application."] = "Non puoi modificare questa applicazione.";
$a->strings["Connected Apps"] = "App connesse";
$a->strings["Client key starts with"] = "La client key inizia con";
$a->strings["No name"] = "Nessun nome";
$a->strings["Remove authorization"] = "Revoca l'autorizzazione";
$a->strings["No feature settings configured"] = "Non ci sono funzionalità aggiuntive personalizzabili";
$a->strings["Feature Settings"] = "Impostazioni aggiuntive";
$a->strings["Account Settings"] = "Impostazioni account";
$a->strings["Password Settings"] = "Impostazioni password";
$a->strings["New Password:"] = "Nuova password:";
$a->strings["Confirm:"] = "Conferma:";
$a->strings["Leave password fields blank unless changing"] = "Lascia questi campi in bianco per non cambiare la password";
$a->strings["Email Address:"] = "Indirizzo email:";
$a->strings["Remove Account"] = "Elimina l'account";
$a->strings["Warning: This action is permanent and cannot be reversed."] = "Attenzione: questa azione è permanente e non potrà più essere annullata.";
$a->strings["Off"] = "Off";
$a->strings["On"] = "On";
$a->strings["Additional Features"] = "Funzionalità aggiuntive";
$a->strings["Connector Settings"] = "Impostazioni del connettore";
$a->strings["No special theme for mobile devices"] = "Nessun tema per dispositivi mobili";
$a->strings["Display Settings"] = "Impostazioni grafiche";
$a->strings["Display Theme:"] = "Tema per monitor:";
$a->strings["Mobile Theme:"] = "Tema per dispositivi mobili:";
$a->strings["Update browser every xx seconds"] = "Aggiorna il browser ogni x secondi";
$a->strings["Minimum of 10 seconds, no maximum"] = "Minimo 10 secondi, nessun limite massimo";
$a->strings["Maximum number of conversations to load at any time:"] = "Massimo numero di conversazioni da mostrare ogni volta:";
$a->strings["Maximum of 100 items"] = "Massimo 100";
$a->strings["Don't show emoticons"] = "Non mostrare le emoticons";
$a->strings["Nobody except yourself"] = "Nessuno tranne te";
$a->strings["Only those you specifically allow"] = "Solo chi riceve il mio permesso";
$a->strings["Anybody in your address book"] = "Chiunque tra i miei contatti";
$a->strings["Anybody on this website"] = "Chiunque su questo sito";
$a->strings["Anybody in this network"] = "Chiunque su Red";
$a->strings["Anybody on the internet"] = "Chiunque su internet";
$a->strings["Publish your default profile in the network directory"] = "Pubblica il mio profilo predefinito sull'elenco pubblico dei canali";
$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Vuoi essere suggerito come potenziale amico ai nuovi membri?";
$a->strings["or"] = "o";
$a->strings["Your channel address is"] = "L'indirizzo del tuo canale è";
$a->strings["Channel Settings"] = "Impostazioni del canale";
$a->strings["Basic Settings"] = "Impostazioni di base";
$a->strings["Your Timezone:"] = "Il tuo fuso orario:";
$a->strings["Default Post Location:"] = "Località predefinita:";
$a->strings["Use Browser Location:"] = "Usa la località rilevata dal browser:";
$a->strings["Adult Content"] = "Contenuto per adulti";
$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Questo canale pubblica frequentemente contenuto per adulti. (Il contenuto per adulti deve essere marcato con il tag #NSFW - Not Safe For Work)";
$a->strings["Security and Privacy Settings"] = "Impostazioni di sicurezza e privacy";
$a->strings["Hide my online presence"] = "Non mostrare la mia presenza online";
$a->strings["Prevents displaying in your profile that you are online"] = "Impedisce di mostrare ai tuoi contatti che sei online";
$a->strings["Simple Privacy Settings:"] = "Impostazioni di privacy semplificate";
$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>";
$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Standard - <em>contenuti normalmente pubblici, oppure privati a scelta (simile ai social network ma con privacy migliorata)</em>";
$a->strings["Private - <em>default private, never open or public</em>"] = "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>";
$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloccato - <em>chiuso in ricezione e invio</em>";
$a->strings["Advanced Privacy Settings"] = "Impostazioni di privacy avanzate";
$a->strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:";
$a->strings["May reduce spam activity"] = "Serve e ridurre lo spam";
$a->strings["Default Post Permissions"] = "Permessi predefiniti per gli articoli";
$a->strings["(click to open/close)"] = "(clicca per aprire/chiudere)";
$a->strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:";
$a->strings["Useful to reduce spamming"] = "Serve e ridurre lo spam";
$a->strings["Notification Settings"] = "Impostazioni di notifica";
$a->strings["By default post a status message when:"] = "Pubblica un messaggio di stato quando:";
$a->strings["accepting a friend request"] = "accetto una nuova amicizia";
$a->strings["joining a forum/community"] = "entro a far parte di un forum";
$a->strings["making an <em>interesting</em> profile change"] = "faccio un cambiamento <em>interessante</em> al mio profilo";
$a->strings["Send a notification email when:"] = "Invia una email di notifica quando:";
$a->strings["You receive an introduction"] = "Ricevi una richiesta di amicizia";
$a->strings["Your introductions are confirmed"] = "Le tue richieste di amicizia sono state accettate";
$a->strings["Someone writes on your profile wall"] = "Qualcuno scrive sulla tua bacheca";
$a->strings["Someone writes a followup comment"] = "Qualcuno scrive un commento a un tuo articolo";
$a->strings["You receive a private message"] = "Ricevi un messaggio privato";
$a->strings["You receive a friend suggestion"] = "Ti viene suggerito un amico";
$a->strings["You are tagged in a post"] = "Sei taggato in un articolo";
$a->strings["You are poked/prodded/etc. in a post"] = "Ricevi un poke in un articolo";
$a->strings["Advanced Account/Page Type Settings"] = "Impostazioni avanzate";
$a->strings["Change the behaviour of this account for special situations"] = "Cambia il funzionamento di questo account in situazioni particolari";
$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
$a->strings["[Embedded content - reload page to view]"] = "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]";
$a->strings["Channel not found."] = "Canale non trovato.";
@ -1004,6 +909,7 @@ $a->strings["Delete this menu item"] = "Elimina questo elemento del menù";
$a->strings["Edit this menu item"] = "Modifica questo elemento del menù";
$a->strings["New Menu Element"] = "Nuovo elemento del menù";
$a->strings["Menu Item Permissions"] = "Permessi del menu";
$a->strings["(click to open/close)"] = "(clicca per aprire/chiudere)";
$a->strings["Link text"] = "Testo del link";
$a->strings["URL of link"] = "Indirizzo del link";
$a->strings["Use Red magic-auth if available"] = "Usa l'autenticazione magica di Red, se disponibile";
@ -1014,6 +920,11 @@ $a->strings["Menu item not found."] = "L'elemento del menù non è stato trovato
$a->strings["Menu item deleted."] = "L'elemento del menù è stato eliminato.";
$a->strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato.";
$a->strings["Edit Menu Element"] = "Modifica l'elemento del menù";
$a->strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
$a->strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
$a->strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
$a->strings["Visible To"] = "Visibile a";
$a->strings["All Connections"] = "Tutti i contatti";
$a->strings["Collection created."] = "L'insieme di canali è stato creato.";
$a->strings["Could not create collection."] = "Impossibile creare l'insieme.";
$a->strings["Collection updated."] = "Insieme aggiornato.";
@ -1026,11 +937,6 @@ $a->strings["Collection Editor"] = "Modifica l'insieme";
$a->strings["Members"] = "Membri";
$a->strings["All Connected Channels"] = "Tutti i canali connessi";
$a->strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo.";
$a->strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
$a->strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
$a->strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
$a->strings["Visible To"] = "Visibile a";
$a->strings["All Connections"] = "Tutti i contatti";
$a->strings["Theme settings updated."] = "Le impostazioni del tema sono state aggiornate.";
$a->strings["Site"] = "Sito";
$a->strings["Users"] = "Utenti";
@ -1049,6 +955,7 @@ $a->strings["Pending registrations"] = "Registrazioni da approvare";
$a->strings["Version"] = "Versione";
$a->strings["Active plugins"] = "Plugin attivi";
$a->strings["Site settings updated."] = "Impostazioni del sito aggiornate.";
$a->strings["No special theme for mobile devices"] = "Nessun tema per dispositivi mobili";
$a->strings["No special theme for accessibility"] = "Nessun tema speciale per l'accessibilità";
$a->strings["Closed"] = "Chiusa";
$a->strings["Requires approval"] = "Richiede l'approvazione";
@ -1229,7 +1136,7 @@ $a->strings["Full Sharing (typical social network permissions)"] = "Condivisione
$a->strings["Cautious Sharing "] = "Condivisione prudente";
$a->strings["Follow Only"] = "Follower";
$a->strings["Individual Permissions"] = "Permessi individuali";
$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "Alcuni permessi derivano dalle <a href=\"settings\">impostazioni di privacy</a>, che hanno una priorità maggiore. Non avrà alcun effetto cambiarli su questa pagina.";
$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "I permessi nelle <a href=\"settings\">impostazioni di privacy</a> hanno priorità su quelli mostrati in questa pagina. Non avrà alcun effetto cambiarli qui, se sono indicati come derivati.";
$a->strings["Advanced Permissions"] = "Permessi avanzati";
$a->strings["Simple Permissions (select one and submit)"] = "Permessi semplificati (seleziona e salva)";
$a->strings["Visit %s's profile - %s"] = "Guarda il profilo di %s - %s";
@ -1422,6 +1329,10 @@ $a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for t
$a->strings["Version %s"] = "Versione %s";
$a->strings["Installed plugins/addons/apps:"] = "App e componenti aggiuntivi instalati:";
$a->strings["No installed plugins/addons/apps"] = "Nessuna app o componente aggiuntivo installato";
$a->strings["Project Donations"] = "Donazioni al progetto";
$a->strings["<p>The Red Matrix is provided for you by volunteers working in their spare time. Your support will help us to build a better web. Select the following option for a one-time donation of your choosing</p>"] = "<p>Red Matrix è realizzato da volontari che impiegano il loro tempo libero nel progetto. Il tuo contributo ci aiuterà a rendere migliore il web. Scegli l'opzione seguente per fare un'offerta singola dell'importo che preferisci</p>";
$a->strings["<p>or</p>"] = "<p>oppure</p>";
$a->strings["Recurring Donation Options"] = "Opzioni per offerte periodiche";
$a->strings["Red"] = "Red";
$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralised privacy enhanced websites."] = "Questo è un hub di Red Matrix - una rete cooperativa e decentralizzata di siti con elevato livello di privacy. ";
$a->strings["Running at web location"] = "In esecuzione sull'indirizzo web";
@ -1451,6 +1362,104 @@ $a->strings["Forgot your Password?"] = "Hai dimenticato la password?";
$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
$a->strings["Email Address"] = "Indirizzo email";
$a->strings["Reset"] = "Reimposta";
$a->strings["Name is required"] = "Il nome è obbligatorio";
$a->strings["Key and Secret are required"] = "Chiave e Segreto sono richiesti";
$a->strings["Update"] = "Aggiorna";
$a->strings["Passwords do not match. Password unchanged."] = "Le password non corrispondono. Password non cambiata.";
$a->strings["Empty passwords are not allowed. Password unchanged."] = "Le password non possono essere vuote. Password non cambiata.";
$a->strings["Password changed."] = "Password cambiata.";
$a->strings["Password update failed. Please try again."] = "Aggiornamento password fallito. Prova ancora.";
$a->strings["Not valid email."] = "Email non valida.";
$a->strings["Protected email address. Cannot change to that email."] = "È un indirizzo email riservato. Non puoi sceglierlo.";
$a->strings["System failure storing new email. Please try again."] = "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore.";
$a->strings["Settings updated."] = "Impostazioni aggiornate.";
$a->strings["Add application"] = "Aggiungi una app";
$a->strings["Name"] = "Nome";
$a->strings["Name of application"] = "Nome dell'applicazione";
$a->strings["Consumer Key"] = "Consumer Key";
$a->strings["Automatically generated - change if desired. Max length 20"] = "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20";
$a->strings["Consumer Secret"] = "Consumer Secret";
$a->strings["Redirect"] = "Redirect";
$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI ridirezionato - lasciare bianco se non richiesto specificamente dall'applicazione.";
$a->strings["Icon url"] = "Url icona";
$a->strings["Optional"] = "Opzionale";
$a->strings["You can't edit this application."] = "Non puoi modificare questa applicazione.";
$a->strings["Connected Apps"] = "App connesse";
$a->strings["Client key starts with"] = "La client key inizia con";
$a->strings["No name"] = "Nessun nome";
$a->strings["Remove authorization"] = "Revoca l'autorizzazione";
$a->strings["No feature settings configured"] = "Non ci sono funzionalità aggiuntive personalizzabili";
$a->strings["Feature Settings"] = "Impostazioni aggiuntive";
$a->strings["Account Settings"] = "Impostazioni account";
$a->strings["Password Settings"] = "Impostazioni password";
$a->strings["New Password:"] = "Nuova password:";
$a->strings["Confirm:"] = "Conferma:";
$a->strings["Leave password fields blank unless changing"] = "Lascia questi campi in bianco per non cambiare la password";
$a->strings["Email Address:"] = "Indirizzo email:";
$a->strings["Remove Account"] = "Elimina l'account";
$a->strings["Warning: This action is permanent and cannot be reversed."] = "Attenzione: questa azione è permanente e non potrà più essere annullata.";
$a->strings["Off"] = "Off";
$a->strings["On"] = "On";
$a->strings["Additional Features"] = "Funzionalità aggiuntive";
$a->strings["Connector Settings"] = "Impostazioni del connettore";
$a->strings["Display Settings"] = "Impostazioni grafiche";
$a->strings["Display Theme:"] = "Tema per monitor:";
$a->strings["Mobile Theme:"] = "Tema per dispositivi mobili:";
$a->strings["Update browser every xx seconds"] = "Aggiorna il browser ogni x secondi";
$a->strings["Minimum of 10 seconds, no maximum"] = "Minimo 10 secondi, nessun limite massimo";
$a->strings["Maximum number of conversations to load at any time:"] = "Massimo numero di conversazioni da mostrare ogni volta:";
$a->strings["Maximum of 100 items"] = "Massimo 100";
$a->strings["Don't show emoticons"] = "Non mostrare le emoticons";
$a->strings["Do not view remote profiles in frames"] = "Visualizza gli altri profili come normali pagine web";
$a->strings["By default open in a sub-window of your own site"] = "Se non selezionato, i profili degli altri utenti sono mostrati dentro un riquadro nella pagina";
$a->strings["Nobody except yourself"] = "Nessuno tranne te";
$a->strings["Only those you specifically allow"] = "Solo chi riceve il mio permesso";
$a->strings["Anybody in your address book"] = "Chiunque tra i miei contatti";
$a->strings["Anybody on this website"] = "Chiunque su questo sito";
$a->strings["Anybody in this network"] = "Chiunque su Red";
$a->strings["Anybody on the internet"] = "Chiunque su internet";
$a->strings["Publish your default profile in the network directory"] = "Pubblica il mio profilo predefinito sull'elenco pubblico dei canali";
$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Vuoi essere suggerito come potenziale amico ai nuovi membri?";
$a->strings["or"] = "o";
$a->strings["Your channel address is"] = "L'indirizzo del tuo canale è";
$a->strings["Channel Settings"] = "Impostazioni del canale";
$a->strings["Basic Settings"] = "Impostazioni di base";
$a->strings["Your Timezone:"] = "Il tuo fuso orario:";
$a->strings["Default Post Location:"] = "Località predefinita:";
$a->strings["Use Browser Location:"] = "Usa la località rilevata dal browser:";
$a->strings["Adult Content"] = "Contenuto per adulti";
$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Questo canale pubblica frequentemente contenuto per adulti. (Il contenuto per adulti deve essere marcato con il tag #NSFW - Not Safe For Work)";
$a->strings["Security and Privacy Settings"] = "Impostazioni di sicurezza e privacy";
$a->strings["Hide my online presence"] = "Non mostrare la mia presenza online";
$a->strings["Prevents displaying in your profile that you are online"] = "Non mostra sul tuo profilo che sei online";
$a->strings["Simple Privacy Settings:"] = "Impostazioni di privacy semplificate";
$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>";
$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>";
$a->strings["Private - <em>default private, never open or public</em>"] = "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>";
$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloccato - <em>bloccato in ricezione e invio</em>";
$a->strings["Advanced Privacy Settings"] = "Impostazioni di privacy avanzate";
$a->strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:";
$a->strings["May reduce spam activity"] = "Serve e ridurre lo spam";
$a->strings["Default Post Permissions"] = "Permessi predefiniti per gli articoli";
$a->strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:";
$a->strings["Useful to reduce spamming"] = "Serve e ridurre lo spam";
$a->strings["Notification Settings"] = "Impostazioni di notifica";
$a->strings["By default post a status message when:"] = "Pubblica un messaggio di stato quando:";
$a->strings["accepting a friend request"] = "accetto una nuova amicizia";
$a->strings["joining a forum/community"] = "entro a far parte di un forum";
$a->strings["making an <em>interesting</em> profile change"] = "faccio un cambiamento <em>interessante</em> al mio profilo";
$a->strings["Send a notification email when:"] = "Invia una email di notifica quando:";
$a->strings["You receive an introduction"] = "Ricevi una richiesta di amicizia";
$a->strings["Your introductions are confirmed"] = "Le tue richieste di amicizia sono state accettate";
$a->strings["Someone writes on your profile wall"] = "Qualcuno scrive sulla tua bacheca";
$a->strings["Someone writes a followup comment"] = "Qualcuno scrive un commento a un tuo articolo";
$a->strings["You receive a private message"] = "Ricevi un messaggio privato";
$a->strings["You receive a friend suggestion"] = "Ti viene suggerito un amico";
$a->strings["You are tagged in a post"] = "Sei taggato in un articolo";
$a->strings["You are poked/prodded/etc. in a post"] = "Ricevi un poke in un articolo";
$a->strings["Advanced Account/Page Type Settings"] = "Impostazioni avanzate";
$a->strings["Change the behaviour of this account for special situations"] = "Cambia il funzionamento di questo account in situazioni particolari";
$a->strings["Please enable expert mode (in Settings > Additional features) to adjust!"] = "Abilita la modalità esperto per fare cambiamenti! (in Impostazioni > Funzionalità aggiuntive)";
$a->strings["Nothing to import."] = "Non c'è niente da importare.";
$a->strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio server";
$a->strings["Imported file is empty."] = "Il file da importare è vuoto.";

View file

@ -52,4 +52,5 @@ $(document).ready(function() {
$('.icon-circle-blank').addClass('');
$('.icon-circle').addClass('');
$('.icon-bookmark').addClass('');
$('.icon-fullscreen').addClass('');
});

View file

@ -197,57 +197,33 @@
/* setup field_richtext */
setupFieldRichtext();
/* popup menus */
function close_last_popup_menu() {
if(last_popup_menu) {
last_popup_menu.hide();
/* last_popup_button.removeClass("selected"); */
last_popup_menu = null;
last_popup_button = null;
}
}
/* Turn elements with one of our special rel tags into popup menus */
/* CHANGES: let bootstrap handle popups and only do the loading here */
$('a[rel^=#]').click(function(e){
manage_popup_menu(this,e);
return false;
return;
});
$('span[rel^=#]').click(function(e){
manage_popup_menu(this,e);
return false;
return;
});
function manage_popup_menu(w,e) {
close_last_popup_menu();
menu = $( $(w).attr('rel') );
e.preventDefault();
e.stopPropagation();
if (menu.attr('popup')=="false") return false;
/* $(w).parent().toggleClass("selected"); */
/* notification menus are loaded dynamically
* - here we find a rel tag to figure out what type of notification to load */
var loader_source = $(menu).attr('rel');
if(typeof(loader_source) != 'undefined' && loader_source.length) {
notify_popup_loader(loader_source);
}
menu.toggle();
if (menu.css("display") == "none") {
last_popup_menu = null;
last_popup_button = null;
} else {
last_popup_menu = menu;
last_popup_button = $(w).parent();
}
return false;
}
$('html').click(function() {
close_last_popup_menu();
});
// fancyboxes
$("a.popupbox").fancybox({
@ -324,46 +300,46 @@
if(data.network == 0) {
data.network = '';
$('#net-update').removeClass('show')
$('.net-update').removeClass('show')
}
else {
$('#net-update').addClass('show')
$('.net-update').addClass('show')
}
$('#net-update').html(data.network);
$('.net-update').html(data.network);
if(data.home == 0) { data.home = ''; $('#home-update').removeClass('show') } else { $('#home-update').addClass('show') }
$('#home-update').html(data.home);
if(data.home == 0) { data.home = ''; $('.home-update').removeClass('show') } else { $('.home-update').addClass('show') }
$('.home-update').html(data.home);
if(data.intros == 0) { data.intros = ''; $('#intro-update').removeClass('show') } else { $('#intro-update').addClass('show') }
$('#intro-update').html(data.intros);
if(data.intros == 0) { data.intros = ''; $('.intro-update').removeClass('show') } else { $('.intro-update').addClass('show') }
$('.intro-update').html(data.intros);
if(data.mail == 0) { data.mail = ''; $('#mail-update').removeClass('show') } else { $('#mail-update').addClass('show') }
$('#mail-update').html(data.mail);
if(data.mail == 0) { data.mail = ''; $('.mail-update').removeClass('show') } else { $('.mail-update').addClass('show') }
$('.mail-update').html(data.mail);
if(data.notify == 0) { data.notify = ''; $('#notify-update').removeClass('show') } else { $('#notify-update').addClass('show') }
$('#notify-update').html(data.notify);
if(data.notify == 0) { data.notify = ''; $('.notify-update').removeClass('show') } else { $('.notify-update').addClass('show') }
$('.notify-update').html(data.notify);
if(data.register == 0) { data.register = ''; $('#register-update').removeClass('show') } else { $('#register-update').addClass('show') }
$('#register-update').html(data.register);
if(data.register == 0) { data.register = ''; $('.register-update').removeClass('show') } else { $('.register-update').addClass('show') }
$('.register-update').html(data.register);
if(data.events == 0) { data.events = ''; $('#events-update').removeClass('show') } else { $('#events-update').addClass('show') }
$('#events-update').html(data.events);
if(data.events == 0) { data.events = ''; $('.events-update').removeClass('show') } else { $('.events-update').addClass('show') }
$('.events-update').html(data.events);
if(data.events_today == 0) { data.events_today = ''; $('#events-today-update').removeClass('show') } else { $('#events-today-update').addClass('show') }
$('#events-today-update').html(data.events_today);
if(data.events_today == 0) { data.events_today = ''; $('.events-today-update').removeClass('show') } else { $('.events-today-update').addClass('show') }
$('.events-today-update').html(data.events_today);
if(data.birthdays == 0) { data.birthdays = ''; $('#birthdays-update').removeClass('show') } else { $('#birthdays-update').addClass('show') }
$('#birthdays-update').html(data.birthdays);
if(data.birthdays == 0) { data.birthdays = ''; $('.birthdays-update').removeClass('show') } else { $('.birthdays-update').addClass('show') }
$('.birthdays-update').html(data.birthdays);
if(data.birthdays_today == 0) { data.birthdays_today = ''; $('#birthdays-today-update').removeClass('show') } else { $('#birthdays-today-update').addClass('show') }
$('#birthdays-today-update').html(data.birthdays_today);
if(data.birthdays_today == 0) { data.birthdays_today = ''; $('.birthdays-today-update').removeClass('show') } else { $('.birthdays-today-update').addClass('show') }
$('.birthdays-today-update').html(data.birthdays_today);
if(data.all_events == 0) { data.all_events = ''; $('#all_events-update').removeClass('show') } else { $('#all_events-update').addClass('show') }
$('#all_events-update').html(data.all_events);
if(data.all_events_today == 0) { data.all_events_today = ''; $('#all_events-today-update').removeClass('show') } else { $('#all_events-today-update').addClass('show') }
$('#all_events-today-update').html(data.all_events_today);
if(data.all_events == 0) { data.all_events = ''; $('.all_events-update').removeClass('show') } else { $('.all_events-update').addClass('show') }
$('.all_events-update').html(data.all_events);
if(data.all_events_today == 0) { data.all_events_today = ''; $('.all_events-today-update').removeClass('show') } else { $('.all_events-today-update').addClass('show') }
$('.all_events-today-update').html(data.all_events_today);
$(data.notice).each(function() {
@ -671,8 +647,7 @@ function updateConvItems(mode,data) {
$(data.notify).each(function() {
text = "<span class='contactname'>"+this.name+"</span>" + ' ' + this.message + '<br />';
html = notifications_tpl.format(this.notify_link,this.photo,text,this.when,this.class);
html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.class);
$("#nav-" + notifyType + "-menu").append(html);
});

View file

@ -140,6 +140,8 @@ blockquote {
filter:alpha(opacity=100);
}
/* this is not yet supported
nav {
background-image: linear-gradient(bottom, $nav_bg_1 26%, $nav_bg_2 82%);
background-image: -o-linear-gradient(bottom, $nav_bg_1 26%, $nav_bg_2 82%);
@ -151,8 +153,6 @@ nav {
}
nav:hover {
background-image: linear-gradient(bottom, $nav_bg_3 26%, $nav_bg_4 82%);
background-image: -o-linear-gradient(bottom, $nav_bg_3 26%, $nav_bg_4 82%);
@ -163,7 +163,7 @@ nav:hover {
filter:alpha(opacity=100);
}
*/
nav #site-location {
color: #888a85;
@ -204,15 +204,15 @@ header #site-location {
}
header #banner {
overflow: hidden;
text-align: center;
font-size: 1.4em;
font-size: 14px;
font-family: tahoma, "Lucida Sans", sans;
color: $banner_colour;
font-weight: bold;
margin-top: 1px;
margin-top: 14px;
}
header #banner a,
header #banner a:active,
header #banner a:visited,
@ -879,8 +879,8 @@ footer {
}
#nav-search-spinner {
float: right;
margin: 12px 12px 0px 0px;
float: left;
margin: 25px 0px 0px 25px;
color: #fff;
}
@ -892,6 +892,7 @@ footer {
#nav-search-text {
height: 20px;
margin: 15px;
padding: 0px 5px 0px 5px;
border-radius: 10px;
border: none;
@ -919,11 +920,6 @@ footer {
font-family: FontAwesome;
}
#nav-user-linkmenu img {
border-radius: $radiuspx;
margin-top: -4px;
}
.nav-dropdown-indicator {
opacity: 0.8;
filter:alpha(opacity=80);
@ -1548,8 +1544,8 @@ div.jGrowl div.info {
#nav-search-text-ac .autocomplete {
position: fixed;
top: 24px;
border: 1px solid $nav_bg_1;
top: 51px;
border: 1px solid #222;
border-top: none;
}
@ -1628,26 +1624,6 @@ nav .fakelink:hover { text-decoration: none; }
color: #000000;
}
nav ul {
margin: 0px;
padding: 0px 20px;
}
nav ul li {
list-style: none;
margin: 0px;
padding: 0px;
float: left;
}
nav ul li .menu-popup {
left: 0px;
right: auto;
top: 33px;
}
#nav-user-linkmenu {
margin-left: 5px;
}
nav .nav-menu-icon {
position: relative;
height: 22px;
@ -1785,13 +1761,10 @@ header {
position: fixed;
left: 43%;
right: 43%;
top: 0px;
margin: 0px;
padding: 0px;
/*width: 100%; height: 12px; */
z-index: 110;
color: #ffffff;
z-index: 1400;
color: #fff;
}
@ -2469,3 +2442,38 @@ img.mail-list-sender-photo {
border-radius: $radiuspx;
background-color: #eee;
}
/* nav bootstrap */
nav i {
font-size: 14px;
}
nav img {
height: 47px;
width: 47px;
margin: 2px 0px 1px 10px;
border-radius: $radiuspx;
}
nav ul li {
max-height: 50px
}
nav a,
nav a:active,
nav a:visited,
nav a:link {
color: #333;
}
nav .badge {
border-radius: $radiuspx;
}
nav .dropdown-menu {
font-size: $body_font_size;
border-top-right-radius: 0px;
border-top-left-radius: 0px;
border-bottom-right-radius: $radiuspx;
border-bottom-left-radius: $radiuspx;
}

View file

@ -4,7 +4,7 @@
</div>
{{if $expert}}
{{include file="field_select.tpl" field=$nav_colour}}
{{* include file="field_select.tpl" field=$nav_colour *}}
{{include file="field_input.tpl" field=$banner_colour}}
{{include file="field_input.tpl" field=$link_colour}}
{{include file="field_input.tpl" field=$bgcolour}}
@ -19,7 +19,7 @@
{{include file="field_input.tpl" field=$radius}}
{{include file="field_input.tpl" field=$shadow}}
{{include file="field_input.tpl" field=$converse_width}}
{{include file="field_input.tpl" field=$nav_min_opacity}}
{{* include file="field_input.tpl" field=$nav_min_opacity *}}
{{include file="field_input.tpl" field=$top_photo}}
{{include file="field_input.tpl" field=$reply_photo}}
{{include file="field_checkbox.tpl" field=$sloppy_photos}}

View file

@ -1,2 +1,2 @@
<div id="chanview-iframe-border" class="fakelink" onclick="chanviewFull(); return true;" title="{{$full}}" >&#x2610;</div>
<div id="chanview-iframe-border" class="fakelink" onclick="chanviewFull(); return true;" title="{{$full}}" ><i class="icon-fullscreen"></i></div>
<iframe id="remote-channel" width="100%" src="{{$url}}" onload="resize_iframe()"></iframe>

View file

@ -1,5 +1,6 @@
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<base href="{{$baseurl}}/" />
<meta name="viewport" content="width=device-width, initial-scale=0">
<meta name="generator" content="{{$generator}}" />
<!--[if IE]>

View file

@ -1,132 +1,165 @@
<header>
<div id="site-location">{{$sitelocation}}</div>
<div id="banner">{{$banner}}</div>
<!-- <div id="site-location">{{$sitelocation}}</div> -->
<div id="banner" class="hidden-sm hidden-xs">{{$banner}}</div>
</header>
<nav>
<ul>
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
{{if $userinfo}}
<li id="nav-user-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-user-menu" title="{{$userinfo.name}}"><img src="{{$userinfo.icon}}" alt="{{$userinfo.name}}"><span class="nav-dropdown-indicator">&#x25BC;</span></a>
<img class="dropdown-toggle fakelink" data-toggle="dropdown" id="avatar" src="{{$userinfo.icon}}" alt="{{$userinfo.name}}"><span class="caret"></span>
{{if $localuser}}
<ul id="nav-user-menu" class="menu-popup">
<ul class="dropdown-menu" role="menu" aria-labelledby="avatar">
{{foreach $nav.usermenu as $usermenu}}
<li><a class="{{$usermenu.2}}" href="{{$usermenu.0}}" title="{{$usermenu.3}}">{{$usermenu.1}}</a></li>
<li role="presentation"><a href="{{$usermenu.0}}" title="{{$usermenu.3}}" role="menuitem">{{$usermenu.1}}</a></li>
{{/foreach}}
{{if $nav.profiles}}<li><a class="{{$nav.profiles.2}}" href="{{$nav.profiles.0}}" title="{{$nav.profiles.3}}">{{$nav.profiles.1}}</a></li>{{/if}}
{{if $nav.manage}}<li><a class="{{$nav.manage.2}}" href="{{$nav.manage.0}}" title="{{$nav.manage.3}}">{{$nav.manage.1}}</a></li>{{/if}}
{{if $nav.contacts}}<li><a class="{{$nav.contacts.2}}" href="{{$nav.contacts.0}}" title="{{$nav.contacts.3}}" >{{$nav.contacts.1}}</a></li>{{/if}}
{{if $nav.settings}}<li><a class="{{$nav.settings.2}}" href="{{$nav.settings.0}}" title="{{$nav.settings.3}}">{{$nav.settings.1}}</a></li>{{/if}}
{{if $nav.admin}}<li><a class="{{$nav.admin.2}}" href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" >{{$nav.admin.1}}</a></li>{{/if}}
{{if $nav.logout}}<li><a class="menu-sep {{$nav.logout.2}}" href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" >{{$nav.logout.1}}</a></li>{{/if}}
{{if $nav.profiles}}<li role="presentation"><a href="{{$nav.profiles.0}}" title="{{$nav.profiles.3}}" role="menuitem">{{$nav.profiles.1}}</a></li>{{/if}}
{{if $nav.manage}}<li role="presentation"><a href="{{$nav.manage.0}}" title="{{$nav.manage.3}}" role="menuitem">{{$nav.manage.1}}</a></li>{{/if}}
{{if $nav.contacts}}<li role="presentation"><a href="{{$nav.contacts.0}}" title="{{$nav.contacts.3}}" role="menuitem">{{$nav.contacts.1}}</a></li>{{/if}}
{{if $nav.settings}}<li role="presentation"><a href="{{$nav.settings.0}}" title="{{$nav.settings.3}}" role="menuitem">{{$nav.settings.1}}</a></li>{{/if}}
{{if $nav.admin}}<li role="presentation"><a href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" role="menuitem">{{$nav.admin.1}}</a></li>{{/if}}
{{if $nav.logout}}
<li role="presentation" class="divider"></li>
<li role="presentation"><a href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" role="menuitem">{{$nav.logout.1}}</a></li>
{{/if}}
</ul>
{{/if}}
</li>
{{/if}}
</div>
<div class="collapse navbar-collapse" id="navbar-collapse-1">
<ul class="nav navbar-nav navbar-left">
{{if $nav.lock}}
<li id="nav-rmagic-link" class="nav-menu-icon" >
<i class="{{if $nav.locked}}icon-lock{{else}}icon-unlock{{/if}} fakelink nav-icon" onclick="window.location.href='{{$nav.lock.0}}'; return false;" title="{{$nav.lock.3}}" ></i>
<li>
<a class="fakelink" title="{{$nav.lock.3}}" onclick="window.location.href='{{$nav.lock.0}}'; return false;"><i class="{{if $nav.locked}}icon-lock{{else}}icon-unlock{{/if}}"></i></a>
</li>
{{/if}}
{{if $nav.network}}
<li id="nav-network-link" class="nav-menu {{$sel.network}}">
<a class="{{$nav.network.2}}" href="{{$nav.network.0}}" title="{{$nav.network.3}}" ><i class="icon-th nav-icon"></i></a>
<span id="net-update" class="nav-notify fakelink" rel="#nav-network-menu"></span>
<ul id="nav-network-menu" class="menu-popup notify-menus" rel="network">
<li class="{{$sel.network}} hidden-xs">
<a href="{{$nav.network.0}}" title="{{$nav.network.3}}" ><i class="icon-th"></i></a>
<span class="net-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-network-menu"></span>
<ul id="nav-network-menu" role="menu" class="dropdown-menu" rel="network">
{{* <li id="nav-network-see-all"><a href="{{$nav.network.all.0}}">{{$nav.network.all.1}}</a></li> *}}
<li id="nav-network-mark-all"><a href="#" onclick="markRead('network'); return false;">{{$nav.network.mark.1}}</a></li>
<li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
<li class="{{$sel.network}} visible-xs">
<a href="{{$nav.network.0}}" title="{{$nav.network.3}}" ><i class="icon-th"></i></a>
<span class="net-update badge" rel="#nav-network-menu"></span>
</li>
{{/if}}
{{if $nav.home}}
<li id="nav-home-link" class="nav-menu {{$sel.home}}">
<a class="{{$nav.home.2}}" href="{{$nav.home.0}}" title="{{$nav.home.3}}" ><i class="icon-home nav-icon"></i></a>
<span id="home-update" class="nav-notify fakelink" rel="#nav-home-menu"></span>
<ul id="nav-home-menu" class="menu-popup notify-menus" rel="home">
<li class="{{$sel.home}} hidden-xs">
<a class="{{$nav.home.2}}" href="{{$nav.home.0}}" title="{{$nav.home.3}}" ><i class="icon-home"></i></a>
<span class="home-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-home-menu"></span>
<ul id="nav-home-menu" class="dropdown-menu" rel="home">
{{* <li id="nav-home-see-all"><a href="{{$nav.home.all.0}}">{{$nav.home.all.1}}</a></li> *}}
<li id="nav-home-mark-all"><a href="#" onclick="markRead('home'); return false;">{{$nav.home.mark.1}}</a></li>
<li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
<li class="{{$sel.home}} visible-xs">
<a class="{{$nav.home.2}}" href="{{$nav.home.0}}" title="{{$nav.home.3}}" ><i class="icon-home"></i></a>
<span class="home-update badge"rel="#nav-home-menu"></span>
</li>
{{/if}}
{{if $nav.register}}<li id="nav-register-link" class="nav-menu {{$nav.register.2}}"><a href="{{$nav.register.0}}" title="{{$nav.register.3}}" >{{$nav.register.1}}</a><li>{{/if}}
{{if $nav.register}}<li class="{{$nav.register.2}}"><a href="{{$nav.register.0}}" title="{{$nav.register.3}}" >{{$nav.register.1}}</a><li>{{/if}}
{{if $nav.messages}}
<li id="nav-mail-link" class="nav-menu {{$sel.messages}}">
<a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" ><i class="icon-envelope nav-icon"></i></a>
<span id="mail-update" class="nav-notify fakelink" rel="#nav-messages-menu"></span>
<ul id="nav-messages-menu" class="menu-popup notify-menus" rel="messages">
<li class="{{$sel.messages}} hidden-xs">
<a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" ><i class="icon-envelope"></i></a>
<span class="mail-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-messages-menu"></span>
<ul id="nav-messages-menu" class="dropdown-menu" rel="messages">
<li id="nav-messages-see-all"><a href="{{$nav.messages.all.0}}">{{$nav.messages.all.1}}</a></li>
<li id="nav-messages-mark-all"><a href="#" onclick="markRead('messages'); return false;">{{$nav.messages.mark.1}}</a></li>
<li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
<li class="{{$sel.messages}} visible-xs">
<a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" ><i class="icon-envelope"></i></a>
<span class="mail-update badge" rel="#nav-messages-menu"></span>
</li>
{{/if}}
{{if $nav.all_events}}
<li id="nav-all_events-link" class="nav-menu {{$sel.all_events}}">
<a class="{{$nav.all_events.2}}" href="{{$nav.all_events.0}}" title="{{$nav.all_events.3}}" ><i class="icon-calendar nav-icon"></i></a>
<span id="all_events-update" class="nav-notify fakelink" rel="#nav-all_events-menu"></span>
<ul id="nav-all_events-menu" class="menu-popup notify-menus" rel="all_events">
<li class="{{$sel.all_events}} hidden-xs">
<a class="{{$nav.all_events.2}}" href="{{$nav.all_events.0}}" title="{{$nav.all_events.3}}" ><i class="icon-calendar"></i></a>
<span class="all_events-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-all_events-menu"></span>
<ul id="nav-all_events-menu" class="dropdown-menu" rel="all_events">
<li id="nav-all_events-see-all"><a href="{{$nav.all_events.all.0}}">{{$nav.all_events.all.1}}</a></li>
<li id="nav-all_events-mark-all"><a href="#" onclick="markRead('all_events'); return false;">{{$nav.all_events.mark.1}}</a></li>
<li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
<li class="{{$sel.all_events}} visible-xs">
<a class="{{$nav.all_events.2}}" href="{{$nav.all_events.0}}" title="{{$nav.all_events.3}}" ><i class="icon-calendar"></i></a>
<span class="all_events-update badge" rel="#nav-all_events-menu"></span>
</li>
{{/if}}
{{if $nav.intros}}
<li id="nav-intros-link" class="nav-menu {{$sel.intros}}">
<a class="{{$nav.intros.2}}" href="{{$nav.intros.0}}" title="{{$nav.intros.3}}" ><i class="icon-user nav-icon"></i></a>
<span id="intro-update" class="nav-notify fakelink" rel="#nav-intros-menu"></span>
<ul id="nav-intros-menu" class="menu-popup notify-menus" rel="intros">
<li class="{{$sel.intros}} hidden-xs">
<a class="{{$nav.intros.2}}" href="{{$nav.intros.0}}" title="{{$nav.intros.3}}" ><i class="icon-user"></i></a>
<span class="intro-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-intros-menu"></span>
<ul id="nav-intros-menu" class="dropdown-menu" rel="intros">
<li id="nav-intros-see-all"><a href="{{$nav.intros.all.0}}">{{$nav.intros.all.1}}</a></li>
<li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
<li class="{{$sel.intros}} visible-xs">
<a class="{{$nav.intros.2}}" href="{{$nav.intros.0}}" title="{{$nav.intros.3}}" ><i class="icon-user"></i></a>
<span class="intro-update badge" rel="#nav-intros-menu"></span>
</li>
{{/if}}
{{if $nav.notifications}}
<li id="nav-notify-linkmenu" class="nav-menu fakelink {{$sel.notifications}}">
<a href="{{$nav.notifications.0}}" title="{{$nav.notifications.1}}"><i class="icon-exclamation nav-icon"></i></a>
<span id="notify-update" class="nav-notify fakelink" rel="#nav-notify-menu"></span>
<ul id="nav-notify-menu" class="menu-popup notify-menus" rel="notify">
<li class="{{$sel.notifications}} hidden-xs">
<a href="{{$nav.notifications.0}}" title="{{$nav.notifications.1}}"><i class="icon-exclamation"></i></a>
<span class="notify-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-notify-menu"></span>
<ul id="nav-notify-menu" class="dropdown-menu" rel="notify">
<li id="nav-notify-see-all"><a href="{{$nav.notifications.all.0}}">{{$nav.notifications.all.1}}</a></li>
<li id="nav-notify-mark-all"><a href="#" onclick="markRead('notify'); return false;">{{$nav.notifications.mark.1}}</a></li>
<li class="empty">{{$emptynotifications}}</li>
</ul>
</li>
{{/if}}
{{if $nav.login}}<li id="nav-login-link" class="nav-menu {{$nav.login.2}}"><a href="{{$nav.login.0}}" title="{{$nav.login.3}}" >{{$nav.login.1}}</a><li>{{/if}}
{{if $nav.alogout}}<li id=nav-alogout-link" class="nav-menu {{$nav}}-alogout.2"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" >{{$nav.alogout.1}}</a></li>{{/if}}
{{if $nav.directory}}
<li id="nav-directory-link" class="nav-menu {{$sel.directory}}">
<a class="{{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}"><i class="icon-sitemap nav-icon"></i></a>
<li class="{{$sel.notifications}} visible-xs">
<a href="{{$nav.notifications.0}}" title="{{$nav.notifications.1}}"><i class="icon-exclamation"></i></a>
<span class="notify-update badge" rel="#nav-notify-menu"></span>
</li>
{{/if}}
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="hidden-xs">
<form method="get" action="search" role="search">
<div id="nav-search-spinner"></div><input class="icon-search" id="nav-search-text" type="text" value="" placeholder="&#xf002;" name="search" title="{{$nav.search.3}}" onclick="this.submit();" />
</form>
</li>
<li class="visible-xs">
<a href="/search" title="Search"><i class="icon-search"></i></a>
</li>
{{if $nav.help}}
<li id="nav-help-link" class="nav-menu {{$sel.help}}">
<a class="{{$nav.help.2}}" target="friendika-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" ><i class="icon-question nav-icon"></i></a>
{{if $nav.login}}<li class="{{$nav.login.2}}"><a href="{{$nav.login.0}}" title="{{$nav.login.3}}" >{{$nav.login.1}}</a><li>{{/if}}
{{if $nav.alogout}}<li class="{{$nav}}-alogout.2"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" >{{$nav.alogout.1}}</a></li>{{/if}}
{{if $nav.directory}}
<li class="{{$sel.directory}}">
<a class="{{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}"><i class="icon-sitemap"></i></a>
</li>
{{/if}}
{{if $nav.apps}}
<li id="nav-apps-link" class="nav-menu {{$sel.apps}}">
<a class=" {{$nav.apps.2}}" href="#" rel="#nav-apps-menu" title="{{$nav.apps.3}}" ><i class="icon-cogs nav-icon"></i></a>
<ul id="nav-apps-menu" class="menu-popup">
<li class="{{$sel.apps}} hidden-xs">
<a class="{{$nav.apps.2}} dropdown-toggle" data-toggle="dropdown" href="#" rel="#nav-apps-menu" title="{{$nav.apps.3}}" ><i class="icon-cogs"></i></a>
<ul id="nav-apps-menu" class="dropdown-menu">
{{foreach $apps as $ap}}
<li>{{$ap}}</li>
{{/foreach}}
@ -134,18 +167,18 @@
</li>
{{/if}}
<li id="nav-searchbar">
<form method="get" action="search">
<input class="icon-search" id="nav-search-text" type="text" value="" placeholder="&#xf002;" name="search" title="{{$nav.search.3}}" onclick="this.submit();" />
</form>
{{if $nav.help}}
<li class="{{$sel.help}}">
<a class="{{$nav.help.2}}" target="friendika-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" ><i class="icon-question"></i></a>
</li>
<div id="nav-search-spinner"></div>
{{/if}}
</ul>
</div>
</div>
</nav>
<ul id="nav-notifications-template" style="display:none;" rel="template">
<li class="{4}"><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li>
<li class="{5}"><a href="{0}" title="{2} {3}"><img src="{1}"><span class='contactname'>{2}</span>{3}<br><span class="notif-when">{4}</span></a></li>
</ul>
{{if $langselector}}<div id="langselector" >{{$langselector}}</div>{{/if}}

View file

@ -127,4 +127,23 @@
<input type="submit" name="submit" class="settings-submit" value="{{$submit}}"{{if !$expert}} onclick="$('select').prop('disabled', false);"{{/if}} />
</div>
{{if $menus}}
<h3 class="settings-heading">{{$lbl_misc}}</h3>
<div id="settings-menu-desc">{{$menu_desc}}</div>
<div class="settings-channel-menu-div">
<select name="channel_menu" class="settings-channel-menu-sel">
{{foreach $menus as $menu }}
<option value="{{$menu.name}}" {{$menu.selected}} >{{$menu.name}} </option>
{{/foreach}}
</select>
</div>
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="{{$submit}}"{{if !$expert}} onclick="$('select').prop('disabled', false);"{{/if}} />
</div>
<div id="settings-channel-menu-end"></div>
{{/if}}
</div>