X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=mod%2Fcontacts.php;h=8a36fa4cb6ced11b63946b00bd81a4f5e0193eaf;hb=339c0ef735a517f8fe3987aa305ef46981e51ac1;hp=8670c0c800d94320037f65d64a2d6b59f860cbd6;hpb=92820c51811f80634c3e235c0ca67deea823d2d9;p=friendica.git diff --git a/mod/contacts.php b/mod/contacts.php index 8670c0c800..8a36fa4cb6 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -28,21 +28,42 @@ function contacts_init(&$a) { if($contact_id) { $a->data['contact'] = $r[0]; - $o .= '
'; - $o .= '
' . $a->data['contact']['name'] . '
'; - $o .= '
' . $a->data['contact']['name'] . '
'; - $o .= '
'; - $a->page['aside'] .= $o; - + $vcard_widget = replace_macros(get_markup_template("vcard-widget.tpl"),array( + '$name' => $a->data['contact']['name'], + '$photo' => $a->data['contact']['photo'] + )); + $follow_widget = ''; } - else - $a->page['aside'] .= follow_widget(); + else { + $vcard_widget = ''; + $follow_widget = follow_widget(); + } - $a->page['aside'] .= group_side('contacts','group',false,0,$contact_id); + $groups_widget .= group_side('contacts','group',false,0,$contact_id); + $findpeople_widget .= findpeople_widget(); + $networks_widget .= networks_widget('contacts',$_GET['nets']); + $a->page['aside'] .= replace_macros(get_markup_template("contacts-widget-sidebar.tpl"),array( + '$vcard_widget' => $vcard_widget, + '$follow_widget' => $follow_widget, + '$groups_widget' => $groups_widget, + '$findpeople_widget' => $findpeople_widget, + '$networks_widget' => $networks_widget + )); + + $base = $a->get_baseurl(); + $tpl = get_markup_template("contacts-head.tpl"); + $a->page['htmlhead'] .= replace_macros($tpl,array( + '$baseurl' => $a->get_baseurl(true), + '$base' => $base + )); + + $tpl = get_markup_template("contacts-end.tpl"); + $a->page['end'] .= replace_macros($tpl,array( + '$baseurl' => $a->get_baseurl(true), + '$base' => $base + )); - $a->page['aside'] .= findpeople_widget(); - $a->page['aside'] .= networks_widget('contacts',$_GET['nets']); } function contacts_post(&$a) { @@ -182,6 +203,22 @@ function contacts_content(&$a) { return; // NOTREACHED } + + if($cmd === 'archive') { + $archived = (($orig_record[0]['archive']) ? 0 : 1); + $r = q("UPDATE `contact` SET `archive` = %d WHERE `id` = %d AND `uid` = %d LIMIT 1", + intval($archived), + intval($contact_id), + intval(local_user()) + ); + if($r) { + //notice( t('Contact has been ') . (($archived) ? t('archived') : t('unarchived')) . EOL ); + info( (($archived) ? t('Contact has been archived') : t('Contact has been unarchived')) . EOL ); + } + goaway($a->get_baseurl(true) . '/contacts/' . $contact_id); + return; // NOTREACHED + } + if($cmd === 'drop') { require_once('include/Contact.php'); @@ -211,6 +248,10 @@ function contacts_content(&$a) { '$baseurl' => $a->get_baseurl(true), '$editselect' => $editselect, )); + $a->page['end'] .= replace_macros(get_markup_template('contact_end.tpl'), array( + '$baseurl' => $a->get_baseurl(true), + '$editselect' => $editselect, + )); require_once('include/contact_selectors.php'); @@ -274,21 +315,32 @@ function contacts_content(&$a) { 'label' => (($contact['blocked']) ? t('Unblock') : t('Block') ), 'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/block', 'sel' => '', + 'title' => t('Toggle Blocked status'), ), array( 'label' => (($contact['readonly']) ? t('Unignore') : t('Ignore') ), 'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/ignore', 'sel' => '', + 'title' => t('Toggle Ignored status'), + ), + + array( + 'label' => (($contact['archive']) ? t('Unarchive') : t('Archive') ), + 'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/archive', + 'sel' => '', + 'title' => t('Toggle Archive status'), ), array( 'label' => t('Repair'), 'url' => $a->get_baseurl(true) . '/crepair/' . $contact_id, 'sel' => '', + 'title' => t('Advanced Contact Settings'), ) ); $tab_tpl = get_markup_template('common_tabs.tpl'); $tab_str = replace_macros($tab_tpl, array('$tabs' => $tabs)); + $lost_contact = (($contact['archive'] && $contact['term-date'] != '0000-00-00 00:00:00' && $contact['term-date'] < datetime_convert('','','now')) ? t('Communications lost with this contact!') : ''); $o .= replace_macros($tpl,array( '$header' => t('Contact Editor'), @@ -299,7 +351,7 @@ function contacts_content(&$a) { '$lbl_info1' => t('Contact Information / Notes'), '$infedit' => t('Edit contact notes'), '$common_text' => $common_text, - '$common_link' => $a->get_baseurl(true) . '/common/' . $contact['id'], + '$common_link' => $a->get_baseurl(true) . '/common/loc/' . local_user() . '/' . $contact['id'], '$all_friends' => $all_friends, '$relation_text' => $relation_text, '$visit' => sprintf( t('Visit %s\'s profile [%s]'),$contact['name'],$contact['url']), @@ -313,6 +365,7 @@ function contacts_content(&$a) { '$poll_interval' => contact_poll_interval($contact['priority'],(! $poll_enabled)), '$poll_enabled' => $poll_enabled, '$lastupdtext' => t('Last update:'), + '$lost_contact' => $lost_contact, '$updpub' => t('Update public posts'), '$last_update' => $last_update, '$udnow' => t('Update now'), @@ -324,6 +377,7 @@ function contacts_content(&$a) { '$info' => $contact['info'], '$blocked' => (($contact['blocked']) ? t('Currently blocked') : ''), '$ignored' => (($contact['readonly']) ? t('Currently ignored') : ''), + '$archived' => (($contact['archive']) ? t('Currently archived') : ''), '$hidden' => array('hidden', t('Hide this contact from others'), ($contact['hidden'] == 1), t('Replies/likes to your public posts may still be visible')), '$photo' => $contact['photo'], '$name' => $contact['name'], @@ -365,6 +419,10 @@ function contacts_content(&$a) { $sql_extra = " AND `readonly` = 1 "; $ignored = true; } + elseif(($a->argc == 2) && ($a->argv[1] === 'archived')) { + $sql_extra = " AND `archive` = 1 "; + $archived = true; + } else $sql_extra = " AND `blocked` = 0 "; @@ -376,34 +434,47 @@ function contacts_content(&$a) { 'label' => t('Suggestions'), 'url' => $a->get_baseurl(true) . '/suggest', 'sel' => '', + 'title' => t('Suggest potential friends'), ), array( 'label' => t('All Contacts'), 'url' => $a->get_baseurl(true) . '/contacts/all', 'sel' => ($all) ? 'active' : '', + 'title' => t('Show all contacts'), ), array( - 'label' => t('Unblocked Contacts'), + 'label' => t('Unblocked'), 'url' => $a->get_baseurl(true) . '/contacts', - 'sel' => ((! $all) && (! $blocked) && (! $hidden) && (! $search) && (! $nets) && (! $ignored)) ? 'active' : '', + 'sel' => ((! $all) && (! $blocked) && (! $hidden) && (! $search) && (! $nets) && (! $ignored) && (! $archived)) ? 'active' : '', + 'title' => t('Only show unblocked contacts'), ), array( - 'label' => t('Blocked Contacts'), + 'label' => t('Blocked'), 'url' => $a->get_baseurl(true) . '/contacts/blocked', 'sel' => ($blocked) ? 'active' : '', + 'title' => t('Only show blocked contacts'), ), array( - 'label' => t('Ignored Contacts'), + 'label' => t('Ignored'), 'url' => $a->get_baseurl(true) . '/contacts/ignored', 'sel' => ($ignored) ? 'active' : '', + 'title' => t('Only show ignored contacts'), + ), + + array( + 'label' => t('Archived'), + 'url' => $a->get_baseurl(true) . '/contacts/archived', + 'sel' => ($archived) ? 'active' : '', + 'title' => t('Only show archived contacts'), ), array( - 'label' => t('Hidden Contacts'), + 'label' => t('Hidden'), 'url' => $a->get_baseurl(true) . '/contacts/hidden', 'sel' => ($hidden) ? 'active' : '', + 'title' => t('Only show hidden contacts'), ), ); @@ -413,12 +484,13 @@ function contacts_content(&$a) { - + $searching = false; if($search) { $search_hdr = $search; - $search = dbesc($search.'*'); + $search_txt = dbesc(protect_sprintf(preg_quote($search))); + $searching = true; } - $sql_extra .= ((strlen($search)) ? " AND MATCH `name` AGAINST ('$search' IN BOOLEAN MODE) " : ""); + $sql_extra .= (($searching) ? " AND `name` REGEXP '$search_txt' " : ""); if($nets) $sql_extra .= sprintf(" AND network = '%s' ", dbesc($nets)); @@ -435,7 +507,6 @@ function contacts_content(&$a) { } - $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 ORDER BY `name` ASC LIMIT %d , %d ", intval($_SESSION['uid']), intval($a->pager['start']), @@ -502,7 +573,7 @@ function contacts_content(&$a) { '$total' => $total, '$search' => $search_hdr, '$desc' => t('Search your contacts'), - '$finding' => (strlen($search) ? t('Finding: ') . "'" . $search . "'" : ""), + '$finding' => (($searching) ? t('Finding: ') . "'" . $search . "'" : ""), '$submit' => t('Find'), '$cmd' => $a->cmd, '$contacts' => $contacts,