Ejemplo n.º 1
0
function updateEvent($data)
{
    $em_event = em_get_event(getPostIdByMetaValue('_ss_id', $data['id']), 'post_id');
    $check = true;
    if (isset($data['command']) && $data['command'] == 'UPDATE') {
        if (!$em_event->event_id) {
            $em_event = new EM_Event();
        }
        $em_event->event_start_date = $data["starttag"];
        $em_event->event_start_time = $data["startzeit"];
        $em_event->event_end_date = $data["endtag"];
        $em_event->event_end_time = $data["endzeit"];
        $em_event->start = strtotime($em_event->event_start_date . " " . $em_event->event_start_time);
        $em_event->end = strtotime($em_event->event_end_date . " " . $em_event->event_end_time);
        $em_event->location_id = isset($data["venueid"]) ? $data["venueid"] : '';
        $em_event->post_title = $data["titel"];
        $em_event->event_name = $data["titel"];
        //$em_event->body = (($data["kurzbeschreibung"]) ? $data["kurzbeschreibung"] : '');
        $em_event->post_content = isset($data["kurzbeschreibung"]) ? $data["kurzbeschreibung"] : '';
        $em_event->post_excerpt = isset($data["auszug"]) ? $data["auszug"] : '';
        $em_event->post_tags = @$data["tags"];
        // meta
        $em_event->event_attributes = array('Status' => $data['status'], 'Line Up' => $data['lineup'], 'Stil' => isset($data["stil"]) ? $data["stil"] : '', 'Preis' => $data['preis'], 'Parent' => isset($data["parentid"]) ? $data["parentid"] : '', 'Team' => $data['team'], 'Recommended' => $data['recommended'], 'Promoted' => $data['promoted'], 'Gewinnspiel' => $data['gewinnspiel'], 'Kurzbeschreibung' => $data["kurzbeschreibung"]);
        $em_event->group_id = 0;
        $em_event->event_date_modified = date('Y-m-d H:i:s', time());
        $em_event->event_all_day = $data['ganztägig'] ? 1 : 0;
        $em_event->event_rsvp = 0;
        $check = $em_event->save();
        add_post_meta($em_event->post_id, '_ss_id', $data['id']);
        // add category
        $categories = array();
        $type = new EM_Category(strtolower($data["veranstaltungstyp"]));
        if (!$type->term_id) {
            $type = new EM_Category("sonstiges");
        }
        array_push($categories, $type->term_id);
        if ($data["recommended"]) {
            array_push($categories, get_cat_ID('tipp'));
        }
        if ($data["promoted"]) {
            array_push($categories, get_cat_ID('sponsored'));
        }
        if ($data["team"]) {
            array_push($categories, get_cat_ID('team'));
        }
        if ($data["veranstaltungstyp"]) {
            array_push($categories, get_cat_ID(strtolower($data["veranstaltungstyp"])));
        }
        if ($data["gewinnspiel"]) {
            array_push($categories, get_cat_ID('gewinnspiel'));
        }
        if ($data["preis"] != '' && $data["preis"] == 0) {
            array_push($categories, get_cat_ID('kostenlos'));
        }
        if (count($categories)) {
            wp_set_post_terms($em_event->post_id, $categories, 'event-categories', false);
        }
        // add tags
        $tags = array();
        if ($data["tags"]) {
            array_push($tags, $data["tags"]);
        }
        //if($data["ausverkauft"]) 	array_push($tags, "ausverkauft");
        if ($data["openair"]) {
            array_push($tags, "open air");
        }
        if ($data['lineup']) {
            $tags = array_merge($tags, explode(',', $data['lineup']));
        }
        if ($data['tags']) {
            $tags = array_merge($tags, explode(',', $data['tags']));
        }
        if (count($tags)) {
            wp_set_post_terms($em_event->post_id, $tags, 'event-tags', false);
        }
    } elseif (isset($data['command']) && $data['command'] == 'DELETE') {
        if ($em_event->event_id) {
            $check = $em_event->delete(true);
        }
    }
    return $check;
}