/**
 * Help to check if a notification needs to be send
 *
 * @package Rendez Vous
 * @subpackage Notifications
 *
 * @since Rendez Vous (1.0.0)
 */
function rendez_vous_maybe_notify_updates($args = array(), $notify = 0)
{
    $rendez_vous = rendez_vous();
    if (empty($notify) || empty($args)) {
        return;
    }
    $rendez_vous->item = rendez_vous_get_item(absint($args['id']));
    if (empty($rendez_vous->item)) {
        return;
    }
    if (empty($rendez_vous->item->def_date) && !empty($args['def_date'])) {
        $rendez_vous->item->date_fixed = $args['def_date'];
    }
    if (empty($rendez_vous->item->report) && !empty($args['report'])) {
        $rendez_vous->item->report_created = 1;
    }
}
/**
 * Updated!
 *
 * @package Rendez Vous
 * @subpackage Activity
 *
 * @since Rendez Vous (1.0.0)
 */
function rendez_vous_updated_activity($id = 0, $args = array(), $notify = false, $activity = false)
{
    if (empty($id) || empty($activity)) {
        return;
    }
    $rdv = rendez_vous();
    if (empty($rdv->item->id)) {
        $rendez_vous = rendez_vous_get_item($id);
    } else {
        $rendez_vous = $rdv->item;
    }
    $rendez_vous_url = rendez_vous_get_single_link($id, $rendez_vous->organizer);
    $rendez_vous_link = '<a href="' . esc_url($rendez_vous_url) . '">' . esc_html($rendez_vous->title) . '</a>';
    $user_link = bp_core_get_userlink($rendez_vous->organizer);
    $action_part = __('updated a', 'rendez-vous');
    $action = sprintf(__('%1$s %2$s rendez-vous, %3$s', 'rendez-vous'), $user_link, $action_part, $rendez_vous_link);
    $activity_id = bp_activity_add(apply_filters('rendez_vous_updated_activity_args', array('action' => $action, 'component' => buddypress()->rendez_vous->id, 'type' => 'updated_rendez_vous', 'primary_link' => $rendez_vous_url, 'user_id' => $rendez_vous->organizer, 'item_id' => $rendez_vous->id, 'secondary_item_id' => $rendez_vous->organizer)));
    if (!empty($activity_id)) {
        bp_activity_update_meta($activity_id, 'rendez_vous_title', $rendez_vous->title);
    }
    return true;
}
/**
 * Check whether types have been created.
 *
 * @package Rendez Vous
 * @subpackage Functions
 *
 * @since Rendez Vous (1.2.0)
 *
 * @param int|Rendez_Vous_Item $rendez_vous_id ID or object for the rendez-vous
 * @uses rendez_vous_get_terms()
 * @return bool Whether the taxonomy exists.
 */
function rendez_vous_has_types($rendez_vous = null)
{
    $rdv = rendez_vous();
    if (empty($rdv->types)) {
        $types = rendez_vous_get_terms(array('hide_empty' => false));
        $rdv->types = $types;
    } else {
        $types = $rdv->types;
    }
    if (empty($types)) {
        return false;
    }
    $retval = true;
    if (!empty($rendez_vous)) {
        if (!is_a($rendez_vous, 'Rendez_Vous_Item')) {
            $rendez_vous = rendez_vous_get_item($rendez_vous);
        }
        $retval = !empty($rendez_vous->type);
    }
    return $retval;
}