contactedit-actions-button: doing some availability checks for the actions
This commit is contained in:
parent
991cbd604a
commit
cc18fd7ad9
1 changed files with 66 additions and 53 deletions
|
@ -565,7 +565,7 @@ function contacts_content(&$a) {
|
|||
($contact['rel'] == CONTACT_IS_FOLLOWER))
|
||||
$follow = $a->get_baseurl(true)."/follow?url=".urlencode($contact["url"]);
|
||||
|
||||
$contact_actions = contact_action_menu($contact);
|
||||
$contact_actions = contact_actions($contact);
|
||||
|
||||
|
||||
$o .= replace_macros($tpl, array(
|
||||
|
@ -959,64 +959,77 @@ function _contact_detail_for_template($rr){
|
|||
|
||||
}
|
||||
|
||||
function contact_action_menu($contact) {
|
||||
/**
|
||||
* @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 actions related actions
|
||||
*/
|
||||
function contact_actions($contact) {
|
||||
|
||||
$contact_action_menu = array(
|
||||
'suggest' => array(
|
||||
$poll_enabled = in_array($contact['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_FEED, NETWORK_MAIL, NETWORK_MAIL2));
|
||||
$contact_action_menu = array();
|
||||
|
||||
if($contact['network'] === NETWORK_DFRN) {
|
||||
$contact_actions['suggest'] = array(
|
||||
'label' => t('Suggest friends'),
|
||||
'url' => app::get_baseurl(true) . '/fsuggest/' . $contact['id'],
|
||||
'title' => '',
|
||||
'sel' => '',
|
||||
'id' => 'suggest',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
'update' => array(
|
||||
if($poll_enabled) {
|
||||
$contact_actions['update'] = array(
|
||||
'label' => t('Update now'),
|
||||
'url' => app::get_baseurl(true) . '/contacts/' . $contact['id'] . '/update',
|
||||
'title' => '',
|
||||
'sel' => '',
|
||||
'id' => 'update',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
'repair' => array(
|
||||
$contact_actions['repair'] = array(
|
||||
'label' => t('Repair'),
|
||||
'url' => app::get_baseurl(true) . '/crepair/' . $contact['id'],
|
||||
'title' => t('Advanced Contact Settings'),
|
||||
'sel' => '',
|
||||
'id' => 'repair',
|
||||
),
|
||||
);
|
||||
|
||||
'block' => array(
|
||||
$contact_actions['block'] = array(
|
||||
'label' => (intval($contact['blocked']) ? t('Unblock') : t('Block') ),
|
||||
'url' => app::get_baseurl(true) . '/contacts/' . $contact['id'] . '/block',
|
||||
'title' => t('Toggle Blocked status'),
|
||||
'sel' => (intval($contact['blocked']) ? 'active' : ''),
|
||||
'id' => 'toggle-block',
|
||||
),
|
||||
);
|
||||
|
||||
'ignore' => array(
|
||||
$contact_actions['ignore'] = array(
|
||||
'label' => (intval($contact['readonly']) ? t('Unignore') : t('Ignore') ),
|
||||
'url' => app::get_baseurl(true) . '/contacts/' . $contact['id'] . '/ignore',
|
||||
'title' => t('Toggle Ignored status'),
|
||||
'sel' => (intval($contact['readonly']) ? 'active' : ''),
|
||||
'id' => 'toggle-ignore',
|
||||
),
|
||||
);
|
||||
|
||||
'archive' => array(
|
||||
$contact_actions['archive'] = array(
|
||||
'label' => (intval($contact['archive']) ? t('Unarchive') : t('Archive') ),
|
||||
'url' => app::get_baseurl(true) . '/contacts/' . $contact['id'] . '/archive',
|
||||
'title' => t('Toggle Archive status'),
|
||||
'sel' => (intval($contact['archive']) ? 'active' : ''),
|
||||
'id' => 'toggle-archive',
|
||||
),
|
||||
);
|
||||
|
||||
'delete' => array(
|
||||
$contact_actions['delete'] = array(
|
||||
'label' => t('Delete'),
|
||||
'url' => app::get_baseurl(true) . '/contacts/' . $contact['id'] . '/drop',
|
||||
'title' => t('Delete contact'),
|
||||
'sel' => '',
|
||||
'id' => 'delete',
|
||||
)
|
||||
);
|
||||
|
||||
return $contact_action_menu;
|
||||
|
|
Loading…
Reference in a new issue