X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fcontacts.php;h=388bf08e6389499de19974567dd7808772b7f32f;hb=43110db749850e49d309ad8b3e72266bd373a2a8;hp=92bce0a73fef4f9b4577c4c9391dfa0557cc620d;hpb=51bcfb649fe2a20c9b8b1e66bc59e39da80d326b;p=friendica.git diff --git a/mod/contacts.php b/mod/contacts.php index 92bce0a73f..388bf08e63 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -3,21 +3,40 @@ require_once('include/Contact.php'); function contacts_init(&$a) { + if(! local_user()) + return; + require_once('include/group.php'); if(! x($a->page,'aside')) $a->page['aside'] = ''; $a->page['aside'] .= group_side(); - if($a->config['register_policy'] != REGISTER_CLOSED) - $a->page['aside'] .= ''; + $inv = ''; + + if(get_config('system','invitations_only')) { + $x = get_pconfig(local_user(),'system','invites_remaining'); + if($x || is_site_admin()) { + $a->page['aside'] .= '' . $inv; + } + } + elseif($a->config['register_policy'] != REGISTER_CLOSED) + $a->page['aside'] .= $inv; + + + $a->page['aside'] .= ''; - $tpl = load_view_file('view/follow.tpl'); + $tpl = get_markup_template('follow.tpl'); $a->page['aside'] .= replace_macros($tpl,array( - '$label' => t('Connect/Follow [profile address]'), + '$label' => t('Connect/Follow'), '$hint' => t('Example: bob@example.com, http://example.com/barbara'), '$follow' => t('Follow') )); + + } function contacts_post(&$a) { @@ -40,6 +59,8 @@ function contacts_post(&$a) { return; // NOTREACHED } + call_hooks('contact_edit_post', $_POST); + $profile_id = intval($_POST['profile-assign']); if($profile_id) { $r = q("SELECT `id` FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1", @@ -53,7 +74,7 @@ function contacts_post(&$a) { } - $priority = intval($_POST['priority']); + $priority = intval($_POST['poll']); if($priority == (-1)) if($priority > 5 || $priority < 0) @@ -78,7 +99,7 @@ function contacts_post(&$a) { intval(local_user()) ); if($r) - notice( t('Contact updated.') . EOL); + info( t('Contact updated.') . EOL); else notice( t('Failed to update contact record.') . EOL); return; @@ -119,6 +140,13 @@ function contacts_content(&$a) { return; // NOTREACHED } + if($cmd === 'update') { + + // pull feed and consume it, which should subscribe to the hub. + proc_run('php',"include/poller.php","$contact_id"); + goaway($a->get_baseurl() . '/contacts/' . $contact_id); + // NOTREACHED + } if($cmd === 'block') { $blocked = (($orig_record[0]['blocked']) ? 0 : 1); @@ -128,7 +156,8 @@ function contacts_content(&$a) { intval(local_user()) ); if($r) { - notice( t('Contact has been ') . (($blocked) ? t('blocked') : t('unblocked')) . EOL ); + //notice( t('Contact has been ') . (($blocked) ? t('blocked') : t('unblocked')) . EOL ); + info( (($blocked) ? t('Contact has been blocked') : t('Contact has been unblocked')) . EOL ); } goaway($a->get_baseurl() . '/contacts/' . $contact_id); return; // NOTREACHED @@ -142,7 +171,7 @@ function contacts_content(&$a) { intval(local_user()) ); if($r) { - notice( t('Contact has been ') . (($readonly) ? t('ignored') : t('unignored')) . EOL ); + info( (($readonly) ? t('Contact has been ignored') : t('Contact has been unignored')) . EOL ); } goaway($a->get_baseurl() . '/contacts/' . $contact_id); return; // NOTREACHED @@ -153,7 +182,7 @@ function contacts_content(&$a) { // create an unfollow slap if($orig_record[0]['network'] === 'stat') { - $tpl = load_view_file('view/follow_slap.tpl'); + $tpl = get_markup_template('follow_slap.tpl'); $slap = replace_macros($tpl, array( '$name' => $a->user['username'], '$profile_page' => $a->get_baseurl() . '/profile/' . $a->user['nickname'], @@ -165,8 +194,8 @@ function contacts_content(&$a) { '$type' => 'text', '$content' => t('stopped following'), '$nick' => $a->user['nickname'], - '$verb' => ACTIVITY_UNFOLLOW, - '$ostat_follow' => 'http://ostatus.org/schema/1.0/unfollow' . "\r\n" + '$verb' => 'http://ostatus.org/schema/1.0/unfollow', // ACTIVITY_UNFOLLOW, + '$ostat_follow' => '' // 'http://ostatus.org/schema/1.0/unfollow' . "\r\n" )); if((x($orig_record[0],'notify')) && (strlen($orig_record[0]['notify']))) { @@ -175,8 +204,14 @@ function contacts_content(&$a) { } } + if($orig_record[0]['network'] === 'dfrn') { + require_once('include/items.php'); + dfrn_deliver($a->user,$orig_record[0],'placeholder', 1); + } + + contact_remove($contact_id); - notice( t('Contact has been removed.') . EOL ); + info( t('Contact has been removed.') . EOL ); goaway($a->get_baseurl() . '/contacts'); return; // NOTREACHED } @@ -194,12 +229,12 @@ function contacts_content(&$a) { return; } - $tpl = load_view_file('view/contact_head.tpl'); + $tpl = get_markup_template('contact_head.tpl'); $a->page['htmlhead'] .= replace_macros($tpl, array('$baseurl' => $a->get_baseurl())); require_once('include/contact_selectors.php'); - $tpl = load_view_file("view/contact_edit.tpl"); + $tpl = get_markup_template("contact_edit.tpl"); switch($r[0]['rel']) { case REL_BUD: @@ -228,23 +263,58 @@ function contacts_content(&$a) { $sparkle = ''; } + $grps = ''; + $member_of = member_of($r[0]['id']); + if(is_array($member_of) && count($member_of)) { + $grps = t('Member of: ') . EOL . ''; + } + + $insecure = '

' . t('Privacy Unavailable') . ' ' + . t('Private communications are not available for this contact.') . '

'; + + $last_update = (($r[0]['last-update'] == '0000-00-00 00:00:00') + ? t('Never') + : datetime_convert('UTC',date_default_timezone_get(),$r[0]['last-update'],'D, j M Y, g:i A')); + + if($r[0]['last-update'] !== '0000-00-00 00:00:00') + $last_update .= ' ' . (($r[0]['last-update'] == $r[0]['success_update']) ? t("\x28Update was successful\x29") : t("\x28Update was not successful\x29")); + + $lblsuggest = (($r[0]['network'] === NETWORK_DFRN) + ? '
' . t('Suggest friends') . '
' : ''); + + $o .= replace_macros($tpl,array( '$header' => t('Contact Editor'), - '$visit' => t('Visit $name\'s profile'), + '$submit' => t('Submit'), + '$lbl_vis1' => t('Profile Visibility'), + '$lbl_vis2' => sprintf( t('Please choose the profile you would like to display to %s when viewing your profile securely.'), $r[0]['name']), + '$lbl_info1' => t('Contact Information / Notes'), + '$lbl_rep1' => t('Online Reputation'), + '$lbl_rep2' => t('Occasionally your friends may wish to inquire about this person\'s online legitimacy.'), + '$lbl_rep3' => t('You may help them choose whether or not to interact with this person by providing a reputation to guide them.'), + '$lbl_rep4' => t('Please take a moment to elaborate on this selection if you feel it could be helpful to others.'), + '$visit' => sprintf( t('Visit %s\'s profile [%s]'),$r[0]['name'],$r[0]['url']), '$blockunblock' => t('Block/Unblock contact'), '$ignorecont' => t('Ignore contact'), + '$altcrepair' => t('Repair contact URL settings'), + '$lblcrepair' => t("Repair contact URL settings \x28WARNING: Advanced\x29"), + '$lblrecent' => t('View conversations'), + '$lblsuggest' => $lblsuggest, + '$grps' => $grps, '$delete' => t('Delete contact'), '$poll_interval' => contact_poll_interval($r[0]['priority']), '$lastupdtext' => t('Last updated: '), '$updpub' => t('Update public posts: '), - '$last_update' => (($r[0]['last-update'] == '0000-00-00 00:00:00') - ? t('Never') - : datetime_convert('UTC',date_default_timezone_get(),$r[0]['last-update'],'D, j M Y, g:i A')), + '$last_update' => $last_update, + '$udnow' => t('Update now'), '$profile_select' => contact_profile_assign($r[0]['profile-id'],(($r[0]['network'] !== 'dfrn') ? true : false)), '$contact_id' => $r[0]['id'], '$block_text' => (($r[0]['blocked']) ? t('Unblock this contact') : t('Block this contact') ), '$ignore_text' => (($r[0]['readonly']) ? t('Unignore this contact') : t('Ignore this contact') ), - '$insecure' => (($r[0]['network'] === 'dfrn') ? '' : load_view_file('view/insecure_net.tpl')), + '$insecure' => (($r[0]['network'] !== NETWORK_DFRN && $r[0]['network'] !== NETWORK_MAIL && $r[0]['network'] !== NETWORK_FACEBOOK) ? $insecure : ''), '$info' => $r[0]['info'], '$blocked' => (($r[0]['blocked']) ? '
' . t('Currently blocked') . '
' : ''), '$ignored' => (($r[0]['readonly']) ? '
' . t('Currently ignored') . '
' : ''), @@ -260,7 +330,11 @@ function contacts_content(&$a) { )); - return $o; + $arr = array('contact' => $r[0],'output' => $o); + + call_hooks('contact_edit', $arr); + + return $arr['output']; } @@ -272,7 +346,7 @@ function contacts_content(&$a) { $search = ((x($_GET,'search')) ? notags(trim($_GET['search'])) : ''); - $tpl = load_view_file("view/contacts-top.tpl"); + $tpl = get_markup_template("contacts-top.tpl"); $o .= replace_macros($tpl,array( '$header' => t('Contacts'), '$hide_url' => ((strlen($sql_extra)) ? 'contacts/all' : 'contacts' ), @@ -306,7 +380,7 @@ function contacts_content(&$a) { if(count($r)) { - $tpl = load_view_file("view/contact_template.tpl"); + $tpl = get_markup_template("contact_template.tpl"); foreach($r as $rr) { if($rr['self']) @@ -339,20 +413,22 @@ function contacts_content(&$a) { $o .= replace_macros($tpl, array( - '$img_hover' => t('Visit ') . $rr['name'] . t('\'s profile'), + '$img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']), '$edit_hover' => t('Edit contact'), '$id' => $rr['id'], '$alt_text' => $alt_text, '$dir_icon' => $dir_icon, '$thumb' => $rr['thumb'], - '$name' => $rr['name'], + '$name' => substr($rr['name'],0,20), + '$username' => $rr['name'], '$sparkle' => $sparkle, '$url' => $url )); } + $o .= '
'; } $o .= paginate($a); return $o; -} \ No newline at end of file +}