+
+function _contact_detail_for_template($rr){
+
+ switch($rr['rel']) {
+ case CONTACT_IS_FRIEND:
+ $dir_icon = 'images/lrarrow.gif';
+ $alt_text = t('Mutual Friendship');
+ break;
+ case CONTACT_IS_FOLLOWER;
+ $dir_icon = 'images/larrow.gif';
+ $alt_text = t('is a fan of yours');
+ break;
+ case CONTACT_IS_SHARING;
+ $dir_icon = 'images/rarrow.gif';
+ $alt_text = t('you are a fan of');
+ break;
+ default:
+ break;
+ }
+ if(($rr['network'] === NETWORK_DFRN) && ($rr['rel'])) {
+ $url = "redir/{$rr['id']}";
+ $sparkle = ' class="sparkle" ';
+ }
+ else {
+ $url = $rr['url'];
+ $sparkle = '';
+ }
+
+ return array(
+ 'img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']),
+ 'edit_hover' => t('Edit contact'),
+ 'photo_menu' => contact_photo_menu($rr),
+ 'id' => $rr['id'],
+ 'alt_text' => $alt_text,
+ 'dir_icon' => $dir_icon,
+ 'thumb' => proxy_url($rr['thumb'], false, PROXY_SIZE_THUMB),
+ 'name' => htmlentities($rr['name']),
+ 'username' => htmlentities($rr['name']),
+ 'account_type' => account_type($rr),
+ 'sparkle' => $sparkle,
+ 'itemurl' => (($rr['addr'] != "") ? $rr['addr'] : $rr['url']),
+ 'url' => $url,
+ 'network' => network_to_name($rr['network'], $rr['url']),
+ );
+
+}
+
+/**
+ * @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;
+}