Merge branch 'develop' of https://github.com/friendica/friendica into develop
This commit is contained in:
commit
808eaa633a
|
@ -27,7 +27,6 @@ function nav(&$a) {
|
|||
|
||||
$a->page['nav'] .= replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$langselector' => lang_selector(),
|
||||
'$sitelocation' => $nav_info['sitelocation'],
|
||||
'$nav' => $nav_info['nav'],
|
||||
'$banner' => $nav_info['banner'],
|
||||
|
|
|
@ -705,8 +705,8 @@ function ostatus_completion($conversation_url, $uid, $item = array()) {
|
|||
$no_of_items = sizeof($items);
|
||||
|
||||
if (@is_array($conv_as->items))
|
||||
foreach ($conv_as->items AS $item)
|
||||
$items[$item->id] = $item;
|
||||
foreach ($conv_as->items AS $single_item)
|
||||
$items[$single_item->id] = $single_item;
|
||||
|
||||
if ($no_of_items == sizeof($items))
|
||||
break;
|
||||
|
|
|
@ -21,22 +21,22 @@ if(! function_exists('get_browser_language')) {
|
|||
function get_browser_language() {
|
||||
|
||||
if (x($_SERVER,'HTTP_ACCEPT_LANGUAGE')) {
|
||||
// break up string into pieces (languages and q factors)
|
||||
preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i',
|
||||
// break up string into pieces (languages and q factors)
|
||||
preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i',
|
||||
$_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);
|
||||
|
||||
if (count($lang_parse[1])) {
|
||||
// create a list like "en" => 0.8
|
||||
$langs = array_combine($lang_parse[1], $lang_parse[4]);
|
||||
if (count($lang_parse[1])) {
|
||||
// create a list like "en" => 0.8
|
||||
$langs = array_combine($lang_parse[1], $lang_parse[4]);
|
||||
|
||||
// set default to 1 for any without q factor
|
||||
foreach ($langs as $lang => $val) {
|
||||
if ($val === '') $langs[$lang] = 1;
|
||||
}
|
||||
// set default to 1 for any without q factor
|
||||
foreach ($langs as $lang => $val) {
|
||||
if ($val === '') $langs[$lang] = 1;
|
||||
}
|
||||
|
||||
// sort list based on value
|
||||
arsort($langs, SORT_NUMERIC);
|
||||
}
|
||||
// sort list based on value
|
||||
arsort($langs, SORT_NUMERIC);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($langs) && count($langs)) {
|
||||
|
@ -161,3 +161,26 @@ function string_plural_select_default($n) {
|
|||
return ($n != 1);
|
||||
}}
|
||||
|
||||
|
||||
/**
|
||||
* Return installed languages as associative array
|
||||
* [
|
||||
* lang => lang,
|
||||
* ...
|
||||
* ]
|
||||
*/
|
||||
function get_avaiable_languages() {
|
||||
$lang_choices = array();
|
||||
$langs = glob('view/*/strings.php'); /**/
|
||||
|
||||
if(is_array($langs) && count($langs)) {
|
||||
if(! in_array('view/en/strings.php',$langs))
|
||||
$langs[] = 'view/en/';
|
||||
asort($langs);
|
||||
foreach($langs as $l) {
|
||||
$t = explode("/",$l);
|
||||
$lang_choices[$t[1]] = $t[1];
|
||||
}
|
||||
}
|
||||
return $lang_choices;
|
||||
}
|
||||
|
|
|
@ -1020,8 +1020,9 @@ if(! function_exists('valid_email')) {
|
|||
*/
|
||||
function valid_email($x){
|
||||
|
||||
if(get_config('system','disable_email_validation'))
|
||||
return true;
|
||||
// Removed because Fabio told me so.
|
||||
//if(get_config('system','disable_email_validation'))
|
||||
// return true;
|
||||
|
||||
if(preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x))
|
||||
return true;
|
||||
|
@ -1738,50 +1739,6 @@ function unamp($s) {
|
|||
}}
|
||||
|
||||
|
||||
|
||||
|
||||
if(! function_exists('lang_selector')) {
|
||||
/**
|
||||
* get html for language selector
|
||||
* @global string $lang
|
||||
* @return string
|
||||
* @template lang_selector.tpl
|
||||
*/
|
||||
function lang_selector() {
|
||||
global $lang;
|
||||
|
||||
$langs = glob('view/*/strings.php');
|
||||
|
||||
$lang_options = array();
|
||||
$selected = "";
|
||||
|
||||
if(is_array($langs) && count($langs)) {
|
||||
$langs[] = '';
|
||||
if(! in_array('view/en/strings.php',$langs))
|
||||
$langs[] = 'view/en/';
|
||||
asort($langs);
|
||||
foreach($langs as $l) {
|
||||
if($l == '') {
|
||||
$lang_options[""] = t('default');
|
||||
continue;
|
||||
}
|
||||
$ll = substr($l,5);
|
||||
$ll = substr($ll,0,strrpos($ll,'/'));
|
||||
$selected = (($ll === $lang && (x($_SESSION, 'language'))) ? $ll : $selected);
|
||||
$lang_options[$ll]=$ll;
|
||||
}
|
||||
}
|
||||
|
||||
$tpl = get_markup_template("lang_selector.tpl");
|
||||
$o = replace_macros($tpl, array(
|
||||
'$title' => t('Select an alternate language'),
|
||||
'$langs' => array($lang_options, $selected),
|
||||
|
||||
));
|
||||
return $o;
|
||||
}}
|
||||
|
||||
|
||||
if(! function_exists('return_bytes')) {
|
||||
/**
|
||||
* return number of bytes in size (K, M, G)
|
||||
|
|
12
index.php
12
index.php
|
@ -102,13 +102,13 @@ session_start();
|
|||
* Language was set earlier, but we can over-ride it in the session.
|
||||
* We have to do it here because the session was just now opened.
|
||||
*/
|
||||
|
||||
if(array_key_exists('system_language',$_POST)) {
|
||||
if(strlen($_POST['system_language']))
|
||||
$_SESSION['language'] = $_POST['system_language'];
|
||||
else
|
||||
unset($_SESSION['language']);
|
||||
if (x($_SESSION,'authenticated') && !x($_SESSION,'language')) {
|
||||
// we didn't loaded user data yet, but we need user language
|
||||
$r = q("SELECT language FROM user WHERE uid=%d", intval($_SESSION['uid']));
|
||||
$_SESSION['language'] = $lang;
|
||||
if (count($r)>0) $_SESSION['language'] = $r[0]['language'];
|
||||
}
|
||||
|
||||
if((x($_SESSION,'language')) && ($_SESSION['language'] !== $lang)) {
|
||||
$lang = $_SESSION['language'];
|
||||
load_translation_table($lang);
|
||||
|
|
|
@ -603,18 +603,7 @@ function admin_page_site_post(&$a){
|
|||
function admin_page_site(&$a) {
|
||||
|
||||
/* Installed langs */
|
||||
$lang_choices = array();
|
||||
$langs = glob('view/*/strings.php'); /**/
|
||||
|
||||
if(is_array($langs) && count($langs)) {
|
||||
if(! in_array('view/en/strings.php',$langs))
|
||||
$langs[] = 'view/en/';
|
||||
asort($langs);
|
||||
foreach($langs as $l) {
|
||||
$t = explode("/",$l);
|
||||
$lang_choices[$t[1]] = $t[1];
|
||||
}
|
||||
}
|
||||
$lang_choices = get_avaiable_languages();
|
||||
|
||||
if (strlen(get_config('system','directory_submit_url')) AND
|
||||
!strlen(get_config('system','directory'))) {
|
||||
|
|
|
@ -25,13 +25,20 @@ function dirfind_init(&$a) {
|
|||
function dirfind_content(&$a, $prefix = "") {
|
||||
|
||||
$community = false;
|
||||
$discover_user = false;
|
||||
|
||||
$local = get_config('system','poco_local_search');
|
||||
|
||||
$search = $prefix.notags(trim($_REQUEST['search']));
|
||||
|
||||
if(strpos($search,'@') === 0)
|
||||
if(strpos($search,'@') === 0) {
|
||||
$search = substr($search,1);
|
||||
if ((valid_email($search) AND validate_email($search)) OR
|
||||
(substr(normalise_link($search), 0, 7) == "http://")) {
|
||||
$user_data = probe_url($search);
|
||||
$discover_user = (in_array($user_data["network"], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA)));
|
||||
}
|
||||
}
|
||||
|
||||
if(strpos($search,'!') === 0) {
|
||||
$search = substr($search,1);
|
||||
|
@ -42,7 +49,32 @@ function dirfind_content(&$a, $prefix = "") {
|
|||
|
||||
if($search) {
|
||||
|
||||
if ($local) {
|
||||
if ($discover_user) {
|
||||
$j = new stdClass();
|
||||
$j->total = 1;
|
||||
$j->items_page = 1;
|
||||
$j->page = $a->pager['page'];
|
||||
|
||||
$objresult = new stdClass();
|
||||
$objresult->cid = 0;
|
||||
$objresult->name = $user_data["name"];
|
||||
$objresult->addr = $user_data["addr"];
|
||||
$objresult->url = $user_data["url"];
|
||||
$objresult->photo = $user_data["photo"];
|
||||
$objresult->tags = "";
|
||||
$objresult->network = $user_data["network"];
|
||||
|
||||
$contact = q("SELECT `id` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc(normalise_link($user_data["url"])), intval(local_user()));
|
||||
if ($contact)
|
||||
$objresult->cid = $contact[0]["id"];
|
||||
|
||||
|
||||
$j->results[] = $objresult;
|
||||
|
||||
poco_check($user_data["url"], $user_data["name"], $user_data["network"], $user_data["photo"],
|
||||
"", "", "", "", "", datetime_convert(), 0);
|
||||
} elseif ($local) {
|
||||
|
||||
if ($community)
|
||||
$extra_sql = " AND `community`";
|
||||
|
|
128
mod/message.php
128
mod/message.php
|
@ -4,7 +4,13 @@ require_once('include/acl_selectors.php');
|
|||
require_once('include/message.php');
|
||||
|
||||
function message_init(&$a) {
|
||||
$tabs = array();
|
||||
|
||||
$tabs = '';
|
||||
|
||||
if ($a->argc >1 && is_numeric($a->argv[1])) {
|
||||
$tabs = render_messages(get_messages(local_user(),0,5), 'mail_list.tpl');
|
||||
}
|
||||
|
||||
$new = array(
|
||||
'label' => t('New Message'),
|
||||
'url' => $a->get_baseurl(true) . '/message/new',
|
||||
|
@ -344,75 +350,29 @@ function message_content(&$a) {
|
|||
|
||||
if($a->argc == 1) {
|
||||
|
||||
// list messages
|
||||
// List messages
|
||||
|
||||
$o .= $header;
|
||||
|
||||
|
||||
$r = q("SELECT count(*) AS `total` FROM `mail`
|
||||
WHERE `mail`.`uid` = %d GROUP BY `parent-uri` ORDER BY `created` DESC",
|
||||
intval(local_user()),
|
||||
dbesc($myprofile)
|
||||
);
|
||||
if(count($r))
|
||||
$a->set_pager_total($r[0]['total']);
|
||||
|
||||
$r = q("SELECT max(`mail`.`created`) AS `mailcreated`, min(`mail`.`seen`) AS `mailseen`,
|
||||
`mail`.* , `contact`.`name`, `contact`.`url`, `contact`.`thumb` , `contact`.`network`,
|
||||
count( * ) as count
|
||||
FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id`
|
||||
WHERE `mail`.`uid` = %d GROUP BY `parent-uri` ORDER BY `mailcreated` DESC LIMIT %d , %d ",
|
||||
intval(local_user()),
|
||||
//
|
||||
intval($a->pager['start']),
|
||||
intval($a->pager['itemspage'])
|
||||
);
|
||||
if(count($r)) $a->set_pager_total($r[0]['total']);
|
||||
|
||||
$r = get_messages(local_user(), $a->pager['start'], $a->pager['itemspage']);
|
||||
|
||||
if(! count($r)) {
|
||||
info( t('No messages.') . EOL);
|
||||
return $o;
|
||||
}
|
||||
|
||||
$tpl = get_markup_template('mail_list.tpl');
|
||||
foreach($r as $rr) {
|
||||
if($rr['unknown']) {
|
||||
$partecipants = sprintf( t("Unknown sender - %s"),$rr['from-name']);
|
||||
}
|
||||
elseif (link_compare($rr['from-url'],$myprofile)){
|
||||
$partecipants = sprintf( t("You and %s"), $rr['name']);
|
||||
}
|
||||
else {
|
||||
$partecipants = sprintf( t("%s and You"), $rr['from-name']);
|
||||
}
|
||||
$o .= render_messages($r, 'mail_list.tpl');
|
||||
|
||||
if($a->theme['template_engine'] === 'internal') {
|
||||
$subject_e = template_escape((($rr['mailseen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>'));
|
||||
$body_e = template_escape($rr['body']);
|
||||
$to_name_e = template_escape($rr['name']);
|
||||
}
|
||||
else {
|
||||
$subject_e = (($rr['mailseen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>');
|
||||
$body_e = $rr['body'];
|
||||
$to_name_e = $rr['name'];
|
||||
}
|
||||
|
||||
$o .= replace_macros($tpl, array(
|
||||
'$id' => $rr['id'],
|
||||
'$from_name' => $partecipants,
|
||||
'$from_url' => (($rr['network'] === NETWORK_DFRN) ? $a->get_baseurl(true) . '/redir/' . $rr['contact-id'] : $rr['url']),
|
||||
'$sparkle' => ' sparkle',
|
||||
'$from_photo' => (($rr['thumb']) ? $rr['thumb'] : $rr['from-photo']),
|
||||
'$subject' => $subject_e,
|
||||
'$delete' => t('Delete conversation'),
|
||||
'$body' => $body_e,
|
||||
'$to_name' => $to_name_e,
|
||||
'$date' => datetime_convert('UTC',date_default_timezone_get(),$rr['mailcreated'], t('D, d M Y - g:i A')),
|
||||
'$ago' => relative_date($rr['mailcreated']),
|
||||
'$seen' => $rr['mailseen'],
|
||||
'$count' => sprintf( tt('%d message', '%d messages', $rr['count']), $rr['count']),
|
||||
));
|
||||
}
|
||||
$o .= paginate($a);
|
||||
|
||||
return $o;
|
||||
}
|
||||
|
||||
|
@ -569,5 +529,65 @@ function message_content(&$a) {
|
|||
|
||||
return $o;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function get_messages($user, $lstart, $lend) {
|
||||
|
||||
return q("SELECT max(`mail`.`created`) AS `mailcreated`, min(`mail`.`seen`) AS `mailseen`,
|
||||
`mail`.* , `contact`.`name`, `contact`.`url`, `contact`.`thumb` , `contact`.`network`,
|
||||
count( * ) as count
|
||||
FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id`
|
||||
WHERE `mail`.`uid` = %d GROUP BY `parent-uri` ORDER BY `mailcreated` DESC LIMIT %d , %d ",
|
||||
intval($user), intval($lstart), intval($lend)
|
||||
);
|
||||
}
|
||||
|
||||
function render_messages($msg, $t) {
|
||||
|
||||
$a = get_app();
|
||||
|
||||
$tpl = get_markup_template($t);
|
||||
$rslt = '';
|
||||
|
||||
foreach($msg as $rr) {
|
||||
|
||||
if($rr['unknown']) {
|
||||
$participants = sprintf( t("Unknown sender - %s"),$rr['from-name']);
|
||||
}
|
||||
elseif (link_compare($rr['from-url'], $myprofile)){
|
||||
$participants = sprintf( t("You and %s"), $rr['name']);
|
||||
}
|
||||
else {
|
||||
$participants = sprintf( t("%s and You"), $rr['from-name']);
|
||||
}
|
||||
|
||||
if($a->theme['template_engine'] === 'internal') {
|
||||
$subject_e = template_escape((($rr['mailseen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>'));
|
||||
$body_e = template_escape($rr['body']);
|
||||
$to_name_e = template_escape($rr['name']);
|
||||
}
|
||||
else {
|
||||
$subject_e = (($rr['mailseen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>');
|
||||
$body_e = $rr['body'];
|
||||
$to_name_e = $rr['name'];
|
||||
}
|
||||
|
||||
$rslt .= replace_macros($tpl, array(
|
||||
'$id' => $rr['id'],
|
||||
'$from_name' => $participants,
|
||||
'$from_url' => (($rr['network'] === NETWORK_DFRN) ? $a->get_baseurl(true) . '/redir/' . $rr['contact-id'] : $rr['url']),
|
||||
'$sparkle' => ' sparkle',
|
||||
'$from_photo' => (($rr['thumb']) ? $rr['thumb'] : $rr['from-photo']),
|
||||
'$subject' => $subject_e,
|
||||
'$delete' => t('Delete conversation'),
|
||||
'$body' => $body_e,
|
||||
'$to_name' => $to_name_e,
|
||||
'$date' => datetime_convert('UTC',date_default_timezone_get(),$rr['mailcreated'], t('D, d M Y - g:i A')),
|
||||
'$ago' => relative_date($rr['mailcreated']),
|
||||
'$seen' => $rr['mailseen'],
|
||||
'$count' => sprintf( tt('%d message', '%d messages', $rr['count']), $rr['count']),
|
||||
));
|
||||
}
|
||||
|
||||
return $rslt;
|
||||
}
|
||||
|
|
|
@ -12,8 +12,7 @@ function navigation_content(&$a) {
|
|||
|
||||
$tpl = get_markup_template('navigation.tpl');
|
||||
return replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$langselector' => lang_selector(),
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$sitelocation' => $nav_info['sitelocation'],
|
||||
'$nav' => $nav_info['nav'],
|
||||
'$banner' => $nav_info['banner'],
|
||||
|
|
24
mod/ping.php
24
mod/ping.php
|
@ -33,6 +33,7 @@ function ping_init(&$a) {
|
|||
|
||||
$home = 0;
|
||||
$network = 0;
|
||||
$network_group = array();
|
||||
|
||||
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`wall`, `item`.`author-name`,
|
||||
`item`.`contact-id`, `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object`,
|
||||
|
@ -84,6 +85,22 @@ function ping_init(&$a) {
|
|||
}
|
||||
}
|
||||
|
||||
if ( $network )
|
||||
{
|
||||
# Find out how unseen network posts are spread across groups
|
||||
$sql = "SELECT g.id, g.name, count(i.id) count " .
|
||||
"FROM `group` g, group_member gm, item i " .
|
||||
"WHERE g.uid = %d " .
|
||||
"AND i.uid = %d " .
|
||||
"AND i.unseen AND i.visible " .
|
||||
"AND NOT i.deleted " .
|
||||
"AND i.`contact-id` = gm.`contact-id` " .
|
||||
"AND gm.gid = g.id GROUP BY g.id";
|
||||
#echo '<SQL id="' . intval(local_user()) . '">' . $sql . '</SQL>';
|
||||
$network_group = q($sql, intval(local_user()), intval(local_user()));
|
||||
#echo '<COUNT R="' . count($network_group) . '"/>';
|
||||
}
|
||||
|
||||
$intros1 = q("SELECT `intro`.`id`, `intro`.`datetime`,
|
||||
`fcontact`.`name`, `fcontact`.`url`, `fcontact`.`photo`
|
||||
FROM `intro` LEFT JOIN `fcontact` ON `intro`.`fid` = `fcontact`.`id`
|
||||
|
@ -202,6 +219,13 @@ function ping_init(&$a) {
|
|||
<net>$network</net>
|
||||
<home>$home</home>\r\n";
|
||||
if ($register!=0) echo "<register>$register</register>";
|
||||
if ( count($network_group) ) {
|
||||
echo '<groups>';
|
||||
foreach ($network_group as $it) {
|
||||
echo '<group id="' . $it['id'] . '">' . $it['count'] . "</group>";
|
||||
}
|
||||
echo "</groups>";
|
||||
}
|
||||
|
||||
echo "<all-events>$all_events</all-events>
|
||||
<all-events-today>$all_events_today</all-events-today>
|
||||
|
|
|
@ -386,6 +386,8 @@ function settings_post(&$a) {
|
|||
$username = ((x($_POST,'username')) ? notags(trim($_POST['username'])) : '');
|
||||
$email = ((x($_POST,'email')) ? notags(trim($_POST['email'])) : '');
|
||||
$timezone = ((x($_POST,'timezone')) ? notags(trim($_POST['timezone'])) : '');
|
||||
$language = ((x($_POST,'language')) ? notags(trim($_POST['language'])) : '');
|
||||
|
||||
$defloc = ((x($_POST,'defloc')) ? notags(trim($_POST['defloc'])) : '');
|
||||
$openid = ((x($_POST,'openid_url')) ? notags(trim($_POST['openid_url'])) : '');
|
||||
$maxreq = ((x($_POST,'maxreq')) ? intval($_POST['maxreq']) : 0);
|
||||
|
@ -532,7 +534,15 @@ function settings_post(&$a) {
|
|||
}
|
||||
}
|
||||
|
||||
$r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `maxreq` = %d, `expire` = %d, `openidserver` = '%s', `def_gid` = %d, `blockwall` = %d, `hidewall` = %d, `blocktags` = %d, `unkmail` = %d, `cntunkmail` = %d WHERE `uid` = %d",
|
||||
|
||||
$r = q("UPDATE `user` SET `username` = '%s', `email` = '%s',
|
||||
`openid` = '%s', `timezone` = '%s',
|
||||
`allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s',
|
||||
`notify-flags` = %d, `page-flags` = %d, `default-location` = '%s',
|
||||
`allow_location` = %d, `maxreq` = %d, `expire` = %d, `openidserver` = '%s',
|
||||
`def_gid` = %d, `blockwall` = %d, `hidewall` = %d, `blocktags` = %d,
|
||||
`unkmail` = %d, `cntunkmail` = %d, `language` = '%s'
|
||||
WHERE `uid` = %d",
|
||||
dbesc($username),
|
||||
dbesc($email),
|
||||
dbesc($openid),
|
||||
|
@ -554,11 +564,15 @@ function settings_post(&$a) {
|
|||
intval($blocktags),
|
||||
intval($unkmail),
|
||||
intval($cntunkmail),
|
||||
dbesc($language),
|
||||
intval(local_user())
|
||||
);
|
||||
if($r)
|
||||
info( t('Settings updated.') . EOL);
|
||||
|
||||
// clear session language
|
||||
unset($_SESSION['language']);
|
||||
|
||||
$r = q("UPDATE `profile`
|
||||
SET `publish` = %d,
|
||||
`name` = '%s',
|
||||
|
@ -985,6 +999,7 @@ function settings_content(&$a) {
|
|||
$email = $a->user['email'];
|
||||
$nickname = $a->user['nickname'];
|
||||
$timezone = $a->user['timezone'];
|
||||
$language = $a->user['language'];
|
||||
$notify = $a->user['notify-flags'];
|
||||
$defloc = $a->user['default-location'];
|
||||
$openid = $a->user['openid'];
|
||||
|
@ -1168,6 +1183,8 @@ function settings_content(&$a) {
|
|||
else
|
||||
$public_post_link = '&public=1';
|
||||
|
||||
/* Installed langs */
|
||||
$lang_choices = get_avaiable_languages();
|
||||
|
||||
$o .= replace_macros($stpl, array(
|
||||
'$ptitle' => t('Account Settings'),
|
||||
|
@ -1190,6 +1207,7 @@ function settings_content(&$a) {
|
|||
'$username' => array('username', t('Full Name:'), $username,''),
|
||||
'$email' => array('email', t('Email Address:'), $email, '', '', '', 'email'),
|
||||
'$timezone' => array('timezone_select' , t('Your Timezone:'), select_timezone($timezone), ''),
|
||||
'$language' => array('language', t('Your Language:'), $language, t('Set the language we use to show you friendica interface and to send you emails'), $lang_choices),
|
||||
'$defloc' => array('defloc', t('Default Post Location:'), $defloc, ''),
|
||||
'$allowloc' => array('allow_location', t('Use Browser Location:'), ($a->user['allow_location'] == 1), ''),
|
||||
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" >lang</div>
|
||||
<div id="language-selector" style="display: none;" >
|
||||
<form action="#" method="post" >
|
||||
<select name="system_language" onchange="this.form.submit();" >
|
||||
{{foreach $langs.0 as $v=>$l}}
|
||||
<option value="{{$v|escape:'html'}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
|
@ -1,11 +1,10 @@
|
|||
|
||||
<div id="message-sidebar" class="widget">
|
||||
<div id="message-new"><a href="{{$new.url}}" accesskey="m" class="{{if $new.sel}}newmessage-selected{{/if}}">{{$new.label}}</a> </div>
|
||||
|
||||
<ul role="menu" class="message-ul">
|
||||
{{foreach $tabs as $t}}
|
||||
<li role="menuitem" class="tool"><a href="{{$t.url}}" {{if $t.accesskey}}accesskey="$t.accesskey"{{/if}} class="message-link{{if $t.sel}}message-selected{{/if}}">{{$t.label}}</a></li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{if $tabs}}
|
||||
<div id="message-preview">
|
||||
{{$tabs}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
{{include file="field_input.tpl" field=$email}}
|
||||
{{include file="field_password.tpl" field=$password4}}
|
||||
{{include file="field_custom.tpl" field=$timezone}}
|
||||
{{include file="field_select.tpl" field=$language}}
|
||||
{{include file="field_input.tpl" field=$defloc}}
|
||||
{{include file="field_checkbox.tpl" field=$allowloc}}
|
||||
|
||||
|
|
|
@ -3394,11 +3394,6 @@ aside input[type='text'] {
|
|||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
#language-selector {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 16px;
|
||||
}
|
||||
|
||||
#group-members {
|
||||
margin-top: 20px;
|
||||
|
@ -3576,20 +3571,6 @@ aside input[type='text'] {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#lang-select-icon {
|
||||
cursor: pointer;
|
||||
position: fixed;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
opacity: 0.2;
|
||||
filter:alpha(opacity=20);
|
||||
}
|
||||
|
||||
#lang-select-icon:hover {
|
||||
opacity: 1;
|
||||
filter:alpha(opacity=100);
|
||||
}
|
||||
|
||||
.notif-image {
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
|
@ -3601,7 +3582,6 @@ aside input[type='text'] {
|
|||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Plugins settings
|
||||
*/
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
|
||||
<div id="language-selector" style="display: none;" >
|
||||
<form action="#" method="post" >
|
||||
<select name="system_language" onchange="this.form.submit();" >
|
||||
{{foreach $langs.0 as $v=>$l}}
|
||||
<option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
|
@ -27,6 +27,7 @@
|
|||
{{include file="field_input.tpl" field=$email}}
|
||||
{{include file="field_password.tpl" field=$password4}}
|
||||
{{include file="field_custom.tpl" field=$timezone}}
|
||||
{{include file="field_select.tpl" field=$language}}
|
||||
{{include file="field_input.tpl" field=$defloc}}
|
||||
{{include file="field_checkbox.tpl" field=$allowloc}}
|
||||
|
||||
|
|
|
@ -125,8 +125,6 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
#notify-update{background-position:-60px 0px;}
|
||||
#home-update{background-position:-90px 0px;}
|
||||
#intro-update{background-position:-120px 0px;}
|
||||
#lang-select-icon{cursor:pointer;position:fixed;left:28px;bottom:6px;z-index:10;}
|
||||
#language-selector{position:fixed;bottom:2px;left:52px;z-index:10;}
|
||||
.menu-popup{position:absolute;display:none;background:white;color:#2e2f2e;margin:0px;padding:0px;font-size:small;line-height:1.2;border:3px solid #88a9d2;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100000;-moz-box-shadow:5px 5px 5px 0px #111111;-o-box-shadow:5px 5px 5px 0px #111111;-webkit-box-shadow:5px 5px 5px 0px #111111;-ms-box-shadow:5px 5px 5px 0px #111111;box-shadow:5px 5px 5px 0px #111111;}.menu-popup a{display:block;color:#2e2f2e;padding:5px 10px;text-decoration:none;}.menu-popup a:hover{color:#eeeecc;background-color:#88a9d2;}
|
||||
.menu-popup .menu-sep{border-top:1px solid #4e4f4e;}
|
||||
.menu-popup li{float:none;overflow:auto;height:auto;display:block;}.menu-popup li img{float:left;width:16px;height:16px;padding-right:5px;}
|
||||
|
|
|
@ -798,19 +798,7 @@ nav #nav-notifications-linkmenu {
|
|||
#intro-update {
|
||||
background-position: -120px 0px;
|
||||
}
|
||||
#lang-select-icon {
|
||||
cursor: pointer;
|
||||
position: fixed;
|
||||
left: 28px;
|
||||
bottom: 6px;
|
||||
z-index: 10;
|
||||
}
|
||||
#language-selector {
|
||||
position: fixed;
|
||||
bottom: 2px;
|
||||
left: 52px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.menu-popup {
|
||||
position: absolute;
|
||||
display: none;
|
||||
|
|
|
@ -125,8 +125,6 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
#notify-update{background-position:-60px 0px;}
|
||||
#home-update{background-position:-90px 0px;}
|
||||
#intro-update{background-position:-120px 0px;}
|
||||
#lang-select-icon{cursor:pointer;position:fixed;left:28px;bottom:6px;z-index:10;}
|
||||
#language-selector{position:fixed;bottom:2px;left:52px;z-index:10;}
|
||||
.menu-popup{position:absolute;display:none;background:white;color:#111111;margin:0px;padding:0px;font-size:small;line-height:1.2;border:3px solid #3465a4;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100000;-moz-box-shadow:5px 5px 5px 0px #111111;-o-box-shadow:5px 5px 5px 0px #111111;-webkit-box-shadow:5px 5px 5px 0px #111111;-ms-box-shadow:5px 5px 5px 0px #111111;box-shadow:5px 5px 5px 0px #111111;}.menu-popup a{display:block;color:#111111;padding:5px 10px;text-decoration:none;}.menu-popup a:hover{color:#eeeeec;background-color:#3465a4;}
|
||||
.menu-popup .menu-sep{border-top:1px solid #4e4f4e;}
|
||||
.menu-popup li{float:none;overflow:auto;height:auto;display:block;}.menu-popup li img{float:left;width:16px;height:16px;padding-right:5px;}
|
||||
|
|
|
@ -799,19 +799,7 @@ nav #nav-notifications-linkmenu {
|
|||
#intro-update {
|
||||
background-position: -120px 0px;
|
||||
}
|
||||
#lang-select-icon {
|
||||
cursor: pointer;
|
||||
position: fixed;
|
||||
left: 28px;
|
||||
bottom: 6px;
|
||||
z-index: 10;
|
||||
}
|
||||
#language-selector {
|
||||
position: fixed;
|
||||
bottom: 2px;
|
||||
left: 52px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.menu-popup {
|
||||
position: absolute;
|
||||
display: none;
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
|
||||
<div id="language-selector" style="display: none;" >
|
||||
<form action="#" method="post" >
|
||||
<select name="system_language" onchange="this.form.submit();" >
|
||||
{{foreach $langs.0 as $v=>$l}}
|
||||
<option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
|
@ -2713,12 +2713,6 @@ aside input[type='text'] {
|
|||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
#language-selector {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 16px;
|
||||
}
|
||||
|
||||
#group-members {
|
||||
margin-top: 20px;
|
||||
padding: 10px;
|
||||
|
@ -2888,19 +2882,6 @@ aside input[type='text'] {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#lang-select-icon {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
opacity: 0.2;
|
||||
filter:alpha(opacity=20);
|
||||
}
|
||||
|
||||
#lang-select-icon:hover {
|
||||
opacity: 1;
|
||||
filter:alpha(opacity=100);
|
||||
}
|
||||
|
||||
.notif-image {
|
||||
height: 80px;
|
||||
|
@ -3495,5 +3476,9 @@ ul.menu-popup {
|
|||
.videos .video-top-wrapper:hover .video-delete {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
#message-preview .mail-list-sender-url, #message-preview .mail-list-delete {
|
||||
display: none;
|
||||
}
|
||||
#message-preview .mail-list-outside-wrapper {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
|
||||
<div id="language-selector" style="display: none;" >
|
||||
<form action="#" method="post" >
|
||||
<select name="system_language" onchange="this.form.submit();" >
|
||||
{{foreach $langs.0 as $v=>$l}}
|
||||
<option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
|
@ -2493,11 +2493,6 @@ aside input[type='text'] {
|
|||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
#language-selector {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 16px;
|
||||
}
|
||||
|
||||
#group-members {
|
||||
margin-top: 20px;
|
||||
|
@ -2668,19 +2663,6 @@ aside input[type='text'] {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#lang-select-icon {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
opacity: 0.2;
|
||||
filter:alpha(opacity=20);
|
||||
}
|
||||
|
||||
#lang-select-icon:hover {
|
||||
opacity: 1;
|
||||
filter:alpha(opacity=100);
|
||||
}
|
||||
|
||||
.notif-image {
|
||||
height: 80px;
|
||||
|
|
|
@ -3389,11 +3389,6 @@ aside input[type='text'] {
|
|||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
#language-selector {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 16px;
|
||||
}
|
||||
|
||||
#group-members {
|
||||
margin-top: 20px;
|
||||
|
@ -3570,20 +3565,6 @@ aside input[type='text'] {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#lang-select-icon {
|
||||
cursor: pointer;
|
||||
position: fixed;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
opacity: 0.2;
|
||||
filter:alpha(opacity=20);
|
||||
}
|
||||
|
||||
#lang-select-icon:hover {
|
||||
opacity: 1;
|
||||
filter:alpha(opacity=100);
|
||||
}
|
||||
|
||||
.notif-image {
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
|
||||
<div id="language-selector" style="display: none;" >
|
||||
<form action="#" method="post" >
|
||||
<select name="system_language" onchange="this.form.submit();" >
|
||||
{{foreach $langs.0 as $v=>$l}}
|
||||
<option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
|
@ -27,6 +27,7 @@
|
|||
{{include file="field_input.tpl" field=$email}}
|
||||
{{include file="field_password.tpl" field=$password4}}
|
||||
{{include file="field_custom.tpl" field=$timezone}}
|
||||
{{include file="field_select.tpl" field=$language}}
|
||||
{{include file="field_input.tpl" field=$defloc}}
|
||||
{{include file="field_checkbox.tpl" field=$allowloc}}
|
||||
|
||||
|
|
|
@ -3159,12 +3159,6 @@ aside input[type='text'] {
|
|||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
#language-selector {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 16px;
|
||||
}
|
||||
|
||||
#group-members {
|
||||
margin-top: 20px;
|
||||
padding: 10px;
|
||||
|
@ -3351,19 +3345,6 @@ aside input[type='text'] {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#lang-select-icon {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
opacity: 0.2;
|
||||
filter:alpha(opacity=20);
|
||||
}
|
||||
|
||||
#lang-select-icon:hover {
|
||||
opacity: 1;
|
||||
filter:alpha(opacity=100);
|
||||
}
|
||||
|
||||
.notif-image {
|
||||
height: 80px;
|
||||
|
@ -4165,5 +4146,9 @@ ul.notifications-menu-popup {
|
|||
margin-left: 40px;
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
|
||||
#message-preview .mail-list-sender, #message-preview .mail-list-delete {
|
||||
display:none;
|
||||
}
|
||||
#message-preview .mail-list-outside-wrapper {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
|
||||
<div id="language-selector" style="display: none;" >
|
||||
<form action="#" method="post" >
|
||||
<select name="system_language" onchange="this.form.submit();" >
|
||||
{{foreach $langs.0 as $v=>$l}}
|
||||
<option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
|
@ -575,19 +575,7 @@ ul#user-menu-popup li a.nav-sep {
|
|||
background-position: 0px 0px;
|
||||
}
|
||||
|
||||
#lang-select-icon {
|
||||
bottom: 5px;
|
||||
cursor: pointer;
|
||||
left: 25px;
|
||||
position: fixed;
|
||||
z-index: 10;
|
||||
}
|
||||
#language-selector {
|
||||
position: fixed;
|
||||
bottom: 2px;
|
||||
left: 55px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
|
||||
/* =================== */
|
||||
/* = System Messages = */
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
|
||||
<div id="language-selector" style="display: none;" >
|
||||
<form action="#" method="post" >
|
||||
<select name="system_language" onchange="this.form.submit();" >
|
||||
{{foreach $langs.0 as $v=>$l}}
|
||||
<option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
|
@ -388,18 +388,7 @@ ul#user-menu-popup li a.nav-sep { border-top: 1px solid #989898; border-style:in
|
|||
#intro-update { background-position: 0px -84px; }
|
||||
#home-update { background-position: 0px 0px; }
|
||||
|
||||
#lang-select-icon {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
#language-selector {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 16px;
|
||||
}
|
||||
|
||||
/* =================== */
|
||||
/* = System Messages = */
|
||||
|
|
|
@ -3037,3 +3037,8 @@ a.mail-list-link {
|
|||
|
||||
/* upload/select popup */
|
||||
.fbrowser.image .photo-album-image-wrapper { margin-left: 10px; }
|
||||
#message-preview { margin-top: 15px; }
|
||||
#message-preview span { width: 100%; }
|
||||
#message-preview .mail-count, #message-preview .mail-delete { display:none; }
|
||||
#message-preview .mail-list-wrapper { padding: 3px; }
|
||||
#message-preview .mail-date { opacity:0.6; font-size:10px; }
|
||||
|
|
Loading…
Reference in New Issue
Block a user