Merge branch 'develop' of github.com:friendica/friendica into rhaeder-develop
This commit is contained in:
commit
c60605ce0c
50 changed files with 2266 additions and 1619 deletions
|
@ -598,6 +598,7 @@ function admin_page_site_post(&$a) {
|
|||
$dfrn_only = ((x($_POST,'dfrn_only')) ? True : False);
|
||||
$ostatus_disabled = !((x($_POST,'ostatus_disabled')) ? True : False);
|
||||
$ostatus_poll_interval = ((x($_POST,'ostatus_poll_interval')) ? intval(trim($_POST['ostatus_poll_interval'])) : 0);
|
||||
$ostatus_full_threads = ((x($_POST,'ostatus_full_threads')) ? True : False);
|
||||
$diaspora_enabled = ((x($_POST,'diaspora_enabled')) ? True : False);
|
||||
$ssl_policy = ((x($_POST,'ssl_policy')) ? intval($_POST['ssl_policy']) : 0);
|
||||
$force_ssl = ((x($_POST,'force_ssl')) ? True : False);
|
||||
|
@ -618,6 +619,9 @@ function admin_page_site_post(&$a) {
|
|||
$only_tag_search = ((x($_POST,'only_tag_search')) ? True : False);
|
||||
$rino = ((x($_POST,'rino')) ? intval($_POST['rino']) : 0);
|
||||
$embedly = ((x($_POST,'embedly')) ? notags(trim($_POST['embedly'])) : '');
|
||||
$worker = ((x($_POST,'worker')) ? True : False);
|
||||
$worker_queues = ((x($_POST,'worker_queues')) ? intval($_POST['worker_queues']) : 4);
|
||||
$worker_dont_fork = ((x($_POST,'worker_dont_fork')) ? True : False);
|
||||
|
||||
if($a->get_path() != "")
|
||||
$diaspora_enabled = false;
|
||||
|
@ -746,6 +750,7 @@ function admin_page_site_post(&$a) {
|
|||
set_config('system','dfrn_only', $dfrn_only);
|
||||
set_config('system','ostatus_disabled', $ostatus_disabled);
|
||||
set_config('system','ostatus_poll_interval', $ostatus_poll_interval);
|
||||
set_config('system','ostatus_full_threads', $ostatus_full_threads);
|
||||
set_config('system','diaspora_enabled', $diaspora_enabled);
|
||||
|
||||
set_config('config','private_addons', $private_addons);
|
||||
|
@ -763,7 +768,9 @@ function admin_page_site_post(&$a) {
|
|||
set_config('system','proxy_disabled', $proxy_disabled);
|
||||
set_config('system','old_pager', $old_pager);
|
||||
set_config('system','only_tag_search', $only_tag_search);
|
||||
|
||||
set_config('system','worker', $worker);
|
||||
set_config('system','worker_queues', $worker_queues);
|
||||
set_config('system','worker_dont_fork', $worker_dont_fork);
|
||||
|
||||
if($rino==2 and !function_exists('mcrypt_create_iv')) {
|
||||
notice(t("RINO2 needs mcrypt php extension to work."));
|
||||
|
@ -902,6 +909,7 @@ function admin_page_site(&$a) {
|
|||
'$advanced' => t('Advanced'),
|
||||
'$portable_contacts' => t('Auto Discovered Contact Directory'),
|
||||
'$performance' => t('Performance'),
|
||||
'$worker_title' => t('Worker'),
|
||||
'$relocate'=> t('Relocate - WARNING: advanced function. Could make this server unreachable.'),
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
// name, label, value, help string, extra data...
|
||||
|
@ -947,6 +955,7 @@ function admin_page_site(&$a) {
|
|||
'$max_author_posts_community_page' => array('max_author_posts_community_page', t("Posts per user on community page"), get_config('system','max_author_posts_community_page'), t("The maximum number of posts per user on the community page. (Not valid for 'Global Community')")),
|
||||
'$ostatus_disabled' => array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disabled'), t("Provide built-in OStatus \x28StatusNet, GNU Social etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed.")),
|
||||
'$ostatus_poll_interval' => array('ostatus_poll_interval', t("OStatus conversation completion interval"), (string) intval(get_config('system','ostatus_poll_interval')), t("How often shall the poller check for new entries in OStatus conversations? This can be a very ressource task."), $ostatus_poll_choices),
|
||||
'$ostatus_full_threads' => array('ostatus_full_threads', t("Only import OStatus threads from our contacts"), get_config('system','ostatus_full_threads'), t("Normally we import every content from our OStatus contacts. With this option we only store threads that are started by a contact that is known on our system.")),
|
||||
'$ostatus_not_able' => t("OStatus support can only be enabled if threading is enabled."),
|
||||
'$diaspora_able' => $diaspora_able,
|
||||
'$diaspora_not_able' => t("Diaspora support can't be enabled because Friendica was installed into a sub directory."),
|
||||
|
@ -989,6 +998,10 @@ function admin_page_site(&$a) {
|
|||
'$rino' => array('rino', t("RINO Encryption"), intval(get_config('system','rino_encrypt')), t("Encryption layer between nodes."), array("Disabled", "RINO1 (deprecated)", "RINO2")),
|
||||
'$embedly' => array('embedly', t("Embedly API key"), get_config('system','embedly'), t("<a href='http://embed.ly'>Embedly</a> is used to fetch additional data for web pages. This is an optional parameter.")),
|
||||
|
||||
'$worker' => array('worker', t("Enable 'worker' background processing"), get_config('system','worker'), t("The worker background processing limits the number of parallel background jobs to a maximum number and respects the system load.")),
|
||||
'$worker_queues' => array('worker_queues', t("Maximum number of parallel workers"), get_config('system','worker_queues'), t("On shared hosters set this to 2. On larger systems, values of 10 are great. Default value is 4.")),
|
||||
'$worker_dont_fork' => array('worker_dont_fork', t("Don't use 'proc_open' with the worker"), get_config('system','worker_dont_fork'), t("Enable this if your system doesn't allow the use of 'proc_open'. This can happen on shared hosters. If this is enabled you should increase the frequency of poller calls in your crontab.")),
|
||||
|
||||
'$form_security_token' => get_form_security_token("admin_site")
|
||||
|
||||
));
|
||||
|
|
119
mod/contacts.php
119
mod/contacts.php
|
@ -565,6 +565,9 @@ function contacts_content(&$a) {
|
|||
($contact['rel'] == CONTACT_IS_FOLLOWER))
|
||||
$follow = $a->get_baseurl(true)."/follow?url=".urlencode($contact["url"]);
|
||||
|
||||
// Load contactact related actions like hide, suggest, delete and others
|
||||
$contact_actions = contact_actions($contact);
|
||||
|
||||
|
||||
$o .= replace_macros($tpl, array(
|
||||
//'$header' => t('Contact Editor'),
|
||||
|
@ -584,7 +587,7 @@ function contacts_content(&$a) {
|
|||
'$lblcrepair' => t("Repair URL settings"),
|
||||
'$lblrecent' => t('View conversations'),
|
||||
'$lblsuggest' => $lblsuggest,
|
||||
'$delete' => t('Delete contact'),
|
||||
//'$delete' => t('Delete contact'),
|
||||
'$nettype' => $nettype,
|
||||
'$poll_interval' => $poll_interval,
|
||||
'$poll_enabled' => $poll_enabled,
|
||||
|
@ -622,7 +625,11 @@ function contacts_content(&$a) {
|
|||
'$about' => bbcode($contact["about"], false, false),
|
||||
'$about_label' => t("About:"),
|
||||
'$keywords' => $contact["keywords"],
|
||||
'$keywords_label' => t("Tags:")
|
||||
'$keywords_label' => t("Tags:"),
|
||||
'$contact_action_button' => t("Actions"),
|
||||
'$contact_actions' => $contact_actions,
|
||||
'$contact_status' => t("Status"),
|
||||
'$contact_settings_label' => t('Contact Settings'),
|
||||
|
||||
));
|
||||
|
||||
|
@ -800,6 +807,17 @@ function contacts_content(&$a) {
|
|||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief List of pages for the Contact TabBar
|
||||
*
|
||||
* Available Pages are 'Status', 'Profile', 'Contacts' and 'Common Friends'
|
||||
*
|
||||
* @param app $a
|
||||
* @param int $contact_id The ID of the contact
|
||||
* @param int $active_tab 1 if tab should be marked as active
|
||||
*
|
||||
* @return array with with contact TabBar data
|
||||
*/
|
||||
function contacts_tab($a, $contact_id, $active_tab) {
|
||||
// tabs
|
||||
$tabs = array(
|
||||
|
@ -821,6 +839,7 @@ function contacts_tab($a, $contact_id, $active_tab) {
|
|||
)
|
||||
);
|
||||
|
||||
// Show this tab only if there is visible friend list
|
||||
$x = count_all_friends(local_user(), $contact_id);
|
||||
if ($x)
|
||||
$tabs[] = array('label'=>t('Contacts'),
|
||||
|
@ -830,6 +849,7 @@ function contacts_tab($a, $contact_id, $active_tab) {
|
|||
'id' => 'allfriends-tab',
|
||||
'accesskey' => 't');
|
||||
|
||||
// Show this tab only if there is visible common friend list
|
||||
$common = count_common_friends(local_user(),$contact_id);
|
||||
if ($common)
|
||||
$tabs[] = array('label'=>t('Common Friends'),
|
||||
|
@ -839,35 +859,13 @@ function contacts_tab($a, $contact_id, $active_tab) {
|
|||
'id' => 'common-loc-tab',
|
||||
'accesskey' => 'd');
|
||||
|
||||
$tabs[] = array('label' => t('Repair'),
|
||||
$tabs[] = array('label' => t('Advanced'),
|
||||
'url' => 'crepair/' . $contact_id,
|
||||
'sel' => (($active_tab == 5)?'active':''),
|
||||
'title' => t('Advanced Contact Settings'),
|
||||
'id' => 'repair-tab',
|
||||
'id' => 'advanced-tab',
|
||||
'accesskey' => 'r');
|
||||
|
||||
|
||||
$tabs[] = array('label' => (($contact['blocked']) ? t('Unblock') : t('Block') ),
|
||||
'url' => 'contacts/' . $contact_id . '/block',
|
||||
'sel' => '',
|
||||
'title' => t('Toggle Blocked status'),
|
||||
'id' => 'toggle-block-tab',
|
||||
'accesskey' => 'b');
|
||||
|
||||
$tabs[] = array('label' => (($contact['readonly']) ? t('Unignore') : t('Ignore') ),
|
||||
'url' => 'contacts/' . $contact_id . '/ignore',
|
||||
'sel' => '',
|
||||
'title' => t('Toggle Ignored status'),
|
||||
'id' => 'toggle-ignore-tab',
|
||||
'accesskey' => 'i');
|
||||
|
||||
$tabs[] = array('label' => (($contact['archive']) ? t('Unarchive') : t('Archive') ),
|
||||
'url' => 'contacts/' . $contact_id . '/archive',
|
||||
'sel' => '',
|
||||
'title' => t('Toggle Archive status'),
|
||||
'id' => 'toggle-archive-tab',
|
||||
'accesskey' => 'v');
|
||||
|
||||
$tab_tpl = get_markup_template('common_tabs.tpl');
|
||||
$tab_str = replace_macros($tab_tpl, array('$tabs' => $tabs));
|
||||
|
||||
|
@ -954,3 +952,72 @@ function _contact_detail_for_template($rr){
|
|||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Gives a array with actions which can performed to a given contact
|
||||
*
|
||||
* This includes actions like e.g. 'block', 'hide', 'archive', 'delete' and others
|
||||
*
|
||||
* @param array $contact Data about the Contact
|
||||
* @return array with contact related actions
|
||||
*/
|
||||
function contact_actions($contact) {
|
||||
|
||||
$poll_enabled = in_array($contact['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_FEED, NETWORK_MAIL, NETWORK_MAIL2));
|
||||
$contact_action = array();
|
||||
|
||||
// Provide friend suggestion only for Friendica contacts
|
||||
if($contact['network'] === NETWORK_DFRN) {
|
||||
$contact_actions['suggest'] = array(
|
||||
'label' => t('Suggest friends'),
|
||||
'url' => 'fsuggest/' . $contact['id'],
|
||||
'title' => '',
|
||||
'sel' => '',
|
||||
'id' => 'suggest',
|
||||
);
|
||||
}
|
||||
|
||||
if($poll_enabled) {
|
||||
$contact_actions['update'] = array(
|
||||
'label' => t('Update now'),
|
||||
'url' => 'contacts/' . $contact['id'] . '/update',
|
||||
'title' => '',
|
||||
'sel' => '',
|
||||
'id' => 'update',
|
||||
);
|
||||
}
|
||||
|
||||
$contact_actions['block'] = array(
|
||||
'label' => (intval($contact['blocked']) ? t('Unblock') : t('Block') ),
|
||||
'url' => 'contacts/' . $contact['id'] . '/block',
|
||||
'title' => t('Toggle Blocked status'),
|
||||
'sel' => (intval($contact['blocked']) ? 'active' : ''),
|
||||
'id' => 'toggle-block',
|
||||
);
|
||||
|
||||
$contact_actions['ignore'] = array(
|
||||
'label' => (intval($contact['readonly']) ? t('Unignore') : t('Ignore') ),
|
||||
'url' => 'contacts/' . $contact['id'] . '/ignore',
|
||||
'title' => t('Toggle Ignored status'),
|
||||
'sel' => (intval($contact['readonly']) ? 'active' : ''),
|
||||
'id' => 'toggle-ignore',
|
||||
);
|
||||
|
||||
$contact_actions['archive'] = array(
|
||||
'label' => (intval($contact['archive']) ? t('Unarchive') : t('Archive') ),
|
||||
'url' => 'contacts/' . $contact['id'] . '/archive',
|
||||
'title' => t('Toggle Archive status'),
|
||||
'sel' => (intval($contact['archive']) ? 'active' : ''),
|
||||
'id' => 'toggle-archive',
|
||||
);
|
||||
|
||||
$contact_actions['delete'] = array(
|
||||
'label' => t('Delete'),
|
||||
'url' => 'contacts/' . $contact['id'] . '/drop',
|
||||
'title' => t('Delete contact'),
|
||||
'sel' => '',
|
||||
'id' => 'delete',
|
||||
);
|
||||
|
||||
return $contact_actions;
|
||||
}
|
||||
|
|
|
@ -489,13 +489,10 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
$g = q("select def_gid from user where uid = %d limit 1",
|
||||
intval($uid)
|
||||
);
|
||||
if($contact && $g && intval($g[0]['def_gid'])) {
|
||||
$def_gid = get_default_group($uid, $contact["network"]);
|
||||
if($contact && intval($def_gid)) {
|
||||
require_once('include/group.php');
|
||||
group_add_member($uid,'',$contact['id'],$g[0]['def_gid']);
|
||||
group_add_member($uid, '', $contact['id'], $def_gid);
|
||||
}
|
||||
|
||||
// Let's send our user to the contact editor in case they want to
|
||||
|
|
|
@ -174,18 +174,16 @@ function dfrn_request_post(&$a) {
|
|||
info( t("Introduction complete.") . EOL);
|
||||
}
|
||||
|
||||
$r = q("select id from contact where uid = %d and url = '%s' and `site-pubkey` = '%s' limit 1",
|
||||
$r = q("SELECT `id`, `network` FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `site-pubkey` = '%s' LIMIT 1",
|
||||
intval(local_user()),
|
||||
dbesc($dfrn_url),
|
||||
$parms['key'] // this was already escaped
|
||||
);
|
||||
if(count($r)) {
|
||||
$g = q("select def_gid from user where uid = %d limit 1",
|
||||
intval(local_user())
|
||||
);
|
||||
if($g && intval($g[0]['def_gid'])) {
|
||||
$def_gid = get_default_group(local_user(), $r[0]["network"]);
|
||||
if(intval($def_gid)) {
|
||||
require_once('include/group.php');
|
||||
group_add_member(local_user(),'',$r[0]['id'],$g[0]['def_gid']);
|
||||
group_add_member(local_user(), '', $r[0]['id'], $def_gid);
|
||||
}
|
||||
$forwardurl = $a->get_baseurl()."/contacts/".$r[0]['id'];
|
||||
} else
|
||||
|
@ -388,19 +386,17 @@ function dfrn_request_post(&$a) {
|
|||
intval($rel)
|
||||
);
|
||||
|
||||
$r = q("select id from contact where poll = '%s' and uid = %d limit 1",
|
||||
$r = q("SELECT `id`, `network` FROM `contact` WHERE `poll` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($poll),
|
||||
intval($uid)
|
||||
);
|
||||
if(count($r)) {
|
||||
$contact_id = $r[0]['id'];
|
||||
|
||||
$g = q("select def_gid from user where uid = %d limit 1",
|
||||
intval($uid)
|
||||
);
|
||||
if($g && intval($g[0]['def_gid'])) {
|
||||
$def_gid = get_default_group($uid, $r[0]["network"]);
|
||||
if (intval($def_gid)) {
|
||||
require_once('include/group.php');
|
||||
group_add_member($uid,'',$contact_id,$g[0]['def_gid']);
|
||||
group_add_member($uid, '', $contact_id, $def_gid);
|
||||
}
|
||||
|
||||
$photo = avatar_img($addr);
|
||||
|
|
|
@ -207,7 +207,7 @@ function ping_init(&$a) {
|
|||
call_hooks('ping_xmlize', $n);
|
||||
$notsxml = '<note id="%d" href="%s" name="%s" url="%s" photo="%s" date="%s" seen="%s" timestamp="%s" >%s</note>'."\n";
|
||||
return sprintf ( $notsxml, intval($n['id']),
|
||||
xmlify($n['href']), xmlify($n['name']), xmlify($n['url']), xmlify($n['photo']),
|
||||
xmlify($n['href']), xmlify(xmlify($n['name'])), xmlify($n['url']), xmlify($n['photo']),
|
||||
xmlify(relative_date($n['date'])), xmlify($n['seen']), xmlify(strtotime($local_time)),
|
||||
xmlify($n['message'])
|
||||
);
|
||||
|
|
|
@ -199,6 +199,7 @@ function settings_post(&$a) {
|
|||
if(x($_POST, 'general-submit')) {
|
||||
set_pconfig(local_user(), 'system', 'no_intelligent_shortening', intval($_POST['no_intelligent_shortening']));
|
||||
set_pconfig(local_user(), 'system', 'ostatus_autofriend', intval($_POST['snautofollow']));
|
||||
set_pconfig(local_user(), 'ostatus', 'default_group', $_POST['group-selection']);
|
||||
set_pconfig(local_user(), 'ostatus', 'legacy_contact', $_POST['legacy_contact']);
|
||||
} elseif(x($_POST, 'imap-submit')) {
|
||||
|
||||
|
@ -797,8 +798,11 @@ function settings_content(&$a) {
|
|||
$settings_connectors .= '<span class="field_help">'.t('If you receive a message from an unknown OStatus user, this option decides what to do. If it is checked, a new contact will be created for every unknown user.').'</span>';
|
||||
$settings_connectors .= '</div>';
|
||||
|
||||
$default_group = get_pconfig(local_user(), 'ostatus', 'default_group');
|
||||
$legacy_contact = get_pconfig(local_user(), 'ostatus', 'legacy_contact');
|
||||
|
||||
$settings_connectors .= mini_group_select(local_user(), $default_group, t("Default group for OStatus contacts"));
|
||||
|
||||
if ($legacy_contact != "")
|
||||
$a->page['htmlhead'] = '<meta http-equiv="refresh" content="0; URL='.$a->get_baseurl().'/ostatus_subscribe?url='.urlencode($legacy_contact).'">';
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue