コード例 #1
0
ファイル: hooks.php プロジェクト: amcfarlane1251/ongarde
/**
 * Setup entity menu
 *
 * @param string $hook		Equals 'register'
 * @param string $type		Equals 'menu:entity'
 * @param array $return		Current menu
 * @param array $params		Additional params
 * @return array			Updated menu
 */
function entity_menu_setup($hook, $type, $return, $params)
{
    $entity = elgg_extract('entity', $params);
    if (!elgg_instanceof($entity, 'object', HYPEGAMEMECHANICS_BADGE_SUBTYPE)) {
        return $return;
    }
    $return = array();
    if ($entity->canEdit()) {
        $options = array('name' => 'edit', 'text' => elgg_echo('edit'), 'title' => elgg_echo('edit:this'), 'href' => PAGEHANDLER . "/badge/edit/{$entity->guid}", 'priority' => 200);
        $return[] = ElggMenuItem::factory($options);
        $options = array('name' => 'delete', 'text' => elgg_view_icon('delete'), 'title' => elgg_echo('delete:this'), 'href' => "action/badge/delete?guid={$entity->guid}", 'confirm' => elgg_echo('deleteconfirm'), 'priority' => 300);
        $return[] = ElggMenuItem::factory($options);
    }
    if (!gmReward::isClaimed($entity->guid) && gmReward::isEligible($entity->guid)) {
        $options = array('name' => 'claim', 'text' => elgg_echo('mechanics:claim'), 'href' => "action/badge/claim?guid={$entity->guid}", 'is_action' => true, 'confirm' => $entity->points_cost > 0 ? elgg_echo('mechanics:claim:confirm', array($entity->points_cost)) : false, 'priority' => 400);
        $return[] = ElggMenuItem::factory($options);
    }
    return $return;
}