コード例 #1
0
ファイル: r.php プロジェクト: espantosdarren/board
/**
 * Common method to handle DELETE method
 *
 * @param string $r_resource_cmd     URL
 * @param array  $r_resource_vars    Array generated from URL
 * @param array  $r_resource_filters Array generated from URL query string
 *
 * @return mixed
 */
function r_delete($r_resource_cmd, $r_resource_vars, $r_resource_filters)
{
    global $r_debug, $db_lnk, $authUser, $_server_domain_url;
    $sql = false;
    $pg_params = array();
    $response = array();
    switch ($r_resource_cmd) {
        case '/users/?':
            // delete users
            $qry_val_arr = array($r_resource_vars['users']);
            $s_result = pg_query_params($db_lnk, 'SELECT username FROM users WHERE id = $1', $qry_val_arr);
            $username = pg_fetch_assoc($s_result);
            $foreign_id['user_id'] = $r_resource_vars['users'];
            $comment = '##USER_NAME## deleted "' . $username['username'] . '"';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_user', $foreign_id);
            $sql = 'DELETE FROM users WHERE id= $1';
            array_push($pg_params, $r_resource_vars['users']);
            break;
        case '/organizations/?/organizations_users/?':
            // delete organization user
            $qry_val_arr = array($r_resource_vars['organizations_users']);
            $s_result = pg_query_params($db_lnk, 'SELECT username, organization_id, name, full_name FROM organizations_users_listing WHERE id = $1', $qry_val_arr);
            $previous_value = pg_fetch_assoc($s_result);
            $foreign_ids['organization_id'] = $previous_value['organization_id'];
            $comment = '##USER_NAME## removed member "' . $previous_value['full_name'] . '" from organization';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_organization_user', $foreign_ids, '', $r_resource_vars['organizations_users']);
            $sql = 'DELETE FROM organizations_users WHERE id= $1';
            array_push($pg_params, $r_resource_vars['organizations_users']);
            $conditions = array($previous_value['organization_id'], $r_resource_vars['organizations_users']);
            pg_query_params($db_lnk, 'DELETE FROM boards_users WHERE board_id IN (SELECT id FROM boards WHERE organization_id = $1) AND user_id = $2', $conditions);
            break;
        case '/boards/?/boards_users/?':
            // delete board user
            $qry_val_arr = array($r_resource_vars['boards_users']);
            $s_result = pg_query_params($db_lnk, 'SELECT username, full_name, board_id, user_id, board_name FROM boards_users_listing WHERE id = $1', $qry_val_arr);
            $previous_value = pg_fetch_assoc($s_result);
            $foreign_ids['board_id'] = $previous_value['board_id'];
            $comment = '##USER_NAME## removed member "' . $previous_value['username'] . '" from board';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_board_user', $foreign_ids, '', $r_resource_vars['boards_users']);
            $sql = 'DELETE FROM boards_users WHERE id= $1';
            $conditions = array($previous_value['board_id']);
            $cards = pg_query_params($db_lnk, 'SELECT id FROM cards WHERE board_id = $1', $conditions);
            while ($row = pg_fetch_assoc($cards)) {
                $conditions = array($row['id'], $previous_value['user_id']);
                pg_query_params($db_lnk, 'DELETE FROM cards_users WHERE card_id = $1 AND user_id = $2', $conditions);
            }
            array_push($pg_params, $r_resource_vars['boards_users']);
            break;
        case '/boards/?/lists/?':
            // delete lists
            $qry_val_arr = array($r_resource_vars['lists']);
            $s_result = pg_query_params($db_lnk, 'SELECT name, board_id, position FROM lists WHERE id = $1', $qry_val_arr);
            $previous_value = pg_fetch_assoc($s_result);
            $foreign_id['board_id'] = $r_resource_vars['boards'];
            $foreign_id['list_id'] = $r_resource_vars['lists'];
            $comment = '##USER_NAME## deleted "' . $previous_value['name'] . '"';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_list', $foreign_id);
            $sql = 'DELETE FROM lists WHERE id= $1';
            array_push($pg_params, $r_resource_vars['lists']);
            break;
        case '/boards/?/lists':
            // delete Archived lists
            $qry_val_arr = array($r_resource_vars['boards']);
            $sql = 'DELETE FROM lists WHERE board_id = $1 AND is_archived = true';
            array_push($pg_params, $r_resource_vars['boards']);
            break;
        case '/boards/?/cards':
            // delete Archived cards
            $qry_val_arr = array($r_resource_vars['boards']);
            $sql = 'DELETE FROM cards WHERE board_id = $1 AND is_archived = true';
            array_push($pg_params, $r_resource_vars['boards']);
            break;
        case '/organizations/?':
            // delete organization
            $qry_val_arr = array($r_resource_vars['organizations']);
            $foreign_id['organization_id'] = $r_resource_vars['organizations'];
            $comment = '##USER_NAME## deleted organization';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_organization', $foreign_id);
            $data = array(0, 2, $foreign_id['organization_id']);
            pg_query_params($db_lnk, 'UPDATE boards SET organization_id = $1, board_visibility = $2 WHERE organization_id = $3', $data);
            $conditions = array($foreign_id['organization_id']);
            $s_result = pg_query_params($db_lnk, 'SELECT user_id FROM organizations WHERE id = $1', $conditions);
            $organization = pg_fetch_assoc($s_result);
            $conditions = array($organization['user_id'], $foreign_id['organization_id']);
            pg_query_params($db_lnk, 'DELETE FROM organizations_users WHERE user_id = $1 AND organization_id = $2', $conditions);
            $sql = 'DELETE FROM organizations WHERE id= $1';
            array_push($pg_params, $r_resource_vars['organizations']);
            break;
        case '/boards/?/labels/?':
            // delete Labels in Filter
            $sql = 'DELETE FROM cards_labels WHERE board_id = $1 AND label_id = $2';
            array_push($pg_params, $r_resource_vars['boards'], $r_resource_vars['labels']);
            break;
        case '/boards/?/lists/?/cards/?':
            // delete card
            $qry_val_arr = array($r_resource_vars['cards']);
            $s_result = pg_query_params($db_lnk, 'SELECT name, board_id, position FROM cards WHERE id = $1', $qry_val_arr);
            $previous_value = pg_fetch_assoc($s_result);
            $foreign_id['board_id'] = $r_resource_vars['boards'];
            $foreign_id['list_id'] = $r_resource_vars['lists'];
            $foreign_id['card_id'] = $r_resource_vars['cards'];
            $comment = '##USER_NAME## deleted card ' . $previous_value['name'];
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_card', $foreign_id);
            $sql = 'DELETE FROM cards WHERE id = $1';
            array_push($pg_params, $r_resource_vars['cards']);
            break;
        case '/boards/?/lists/?/cards/?/card_voters/?':
            // delete card voters
            $sql = 'DELETE FROM card_voters WHERE id = $1';
            array_push($pg_params, $r_resource_vars['card_voters']);
            $qry_val_arr = array($r_resource_vars['cards']);
            $previous_value = executeQuery('SELECT name FROM cards WHERE id =  $1', $qry_val_arr);
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $comment = '##USER_NAME## unvoted this card ##CARD_LINK##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'unvote_card', $foreign_ids, null, $r_resource_vars['card_voters']);
            break;
        case '/boards/?/lists/?/cards/?/comments/?':
            // comment DELETE
            $qry_val_arr = array($r_resource_vars['comments']);
            $revisions = executeQuery('SELECT comment, revisions FROM activities WHERE id =  $1 OR foreign_id = $1 ORDER BY id desc limit 1', $qry_val_arr);
            $comment = '##USER_NAME## deleted comment in card ##CARD_LINK##';
            if (!empty($revisions['revisions'])) {
                $revision = unserialize($revisions['revisions']);
                $revisions_del['comment'] = $comment;
                $revisions_del['old_value'] = $revision['new_value']['comment'];
                $revisions_del['new_value'] = '';
                $revisions_del = serialize($revisions_del);
            } else {
                $revisions_del['comment'] = $comment;
                $revisions_del['old_value'] = $revisions['comment'];
                $revisions_del['new_value'] = '';
                $revisions_del = serialize($revisions_del);
            }
            $sql = 'DELETE FROM activities WHERE id = $1';
            array_push($pg_params, $r_resource_vars['comments']);
            $qry_val_arr = array($r_resource_vars['cards']);
            $previous_value = executeQuery('SELECT name FROM cards WHERE id =  $1', $qry_val_arr);
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_card_comment', $foreign_ids, $revisions_del, $r_resource_vars['comments']);
            if (!empty($response['activity']['revisions']) && trim($response['activity']['revisions']) != '') {
                $revisions = unserialize($response['activity']['revisions']);
            }
            if (!empty($revisions) && $response['activity']['type'] != 'moved_card_checklist_item') {
                if (!empty($revisions['new_value'])) {
                    foreach ($revisions['new_value'] as $key => $value) {
                        if ($key != 'is_archived' && $key != 'is_deleted' && $key != 'created' && $key != 'modified' && $key != 'is_offline' && $key != 'uuid' && $key != 'to_date' && $key != 'temp_id' && $activity_type != 'moved_card_checklist_item' && $activity_type != 'add_card_desc' && $activity_type != 'add_card_duedate' && $activity_type != 'delete_card_duedate' && $activity_type != 'add_background' && $activity_type != 'change_background' && $activity_type != 'change_visibility') {
                            $old_val = isset($revisions['old_value'][$key]) ? $revisions['old_value'][$key] : '';
                            $new_val = isset($revisions['new_value'][$key]) ? $revisions['new_value'][$key] : '';
                            $dif[] = nl2br(getRevisiondifference($old_val, $new_val));
                        }
                        if ($activity_type == 'add_card_desc' || $activity_type == 'edit_card_duedate' || $activity_type == 'add_background' || $activity_type == 'change_background' || $activity_type == 'change_visibility') {
                            $dif[] = $revisions['new_value'][$key];
                        }
                    }
                } else {
                    if (!empty($revisions['old_value']) && isset($response['activity']['type']) && $response['activity']['type'] == 'delete_card_comment') {
                        $dif[] = nl2br(getRevisiondifference($revisions['old_value'], ''));
                    }
                }
            }
            if (isset($dif)) {
                $response['activity']['difference'] = $dif;
            }
            break;
        case '/boards/?/lists/?/cards/?/attachments/?':
            //delete card attachment
            $sql = 'DELETE FROM card_attachments WHERE id = $1';
            array_push($pg_params, $r_resource_vars['attachments']);
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $comment = '##USER_NAME## deleted attachment from card ##CARD_LINK##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_card_attachment', $foreign_ids, null, $r_resource_vars['attachments']);
            break;
        case '/boards/?/lists/?/cards/?/checklists/?':
            // delete checklist
            $qry_val_arr = array($r_resource_vars['checklists']);
            $s_result = pg_query_params($db_lnk, 'SELECT name FROM checklists WHERE id = $1', $qry_val_arr);
            $checklist = pg_fetch_assoc($s_result);
            pg_query_params($db_lnk, 'DELETE FROM checklist_items WHERE checklist_id = $1', $qry_val_arr);
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $comment = '##USER_NAME## deleted checklist ' . $checklist['name'] . ' from card ##CARD_LINK##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_checklist', $foreign_ids, null, $r_resource_vars['checklists']);
            $sql = 'DELETE FROM checklists WHERE id = $1';
            array_push($pg_params, $r_resource_vars['checklists']);
            break;
        case '/boards/?/lists/?/cards/?/checklists/?/items/?':
            // delete items
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $comment = '##USER_NAME## deleted checklist ##CHECKLIST_NAME## item from card ##CARD_LINK##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_checklist_item', $foreign_ids, null, $r_resource_vars['items']);
            $sql = 'DELETE FROM checklist_items WHERE id = $1';
            array_push($pg_params, $r_resource_vars['items']);
            break;
        case '/boards/?/lists/?/cards/?/cards_users/?':
            // delete  card_user
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $comment = '##USER_NAME## deleted member from card ##CARD_LINK##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_card_users', $foreign_ids, null, $r_resource_vars['cards_users']);
            $sql = 'DELETE FROM cards_users WHERE id = $1';
            array_push($pg_params, $r_resource_vars['cards_users']);
            break;
        case '/oauth/clients/?':
            $sql = 'DELETE FROM oauth_clients WHERE id= $1';
            array_push($pg_params, $r_resource_vars['clients']);
            break;
        case '/oauth/applications/?':
            $conditions = array($r_resource_vars['applications']);
            pg_query_params($db_lnk, 'DELETE FROM oauth_access_tokens WHERE client_id = $1', $conditions);
            pg_query_params($db_lnk, 'DELETE FROM oauth_refresh_tokens WHERE client_id = $1', $conditions);
            $sql = false;
            break;
        case '/webhooks/?':
            $sql = 'DELETE FROM webhooks WHERE id= $1';
            array_push($pg_params, $r_resource_vars['webhooks']);
            break;
        default:
            header($_SERVER['SERVER_PROTOCOL'] . ' 501 Not Implemented', true, 501);
            break;
    }
    if (!empty($sql)) {
        $result = pg_query_params($db_lnk, $sql, $pg_params);
        $response['error'] = array('code' => !$result ? 1 : 0);
    }
    echo json_encode($response);
}
コード例 #2
0
ファイル: core.php プロジェクト: espantosdarren/board
/**
 * Copy Card
 *
 * @param array   $card_fields  Fields of the card
 * @param array   $cards        Card record array
 * @param integer $new_list_id  List id of the new card
 * @param string  $name         Card name
 * @param integer $new_board_id Board id of the new card
 *
 * @return void
 */
function copyCards($card_fields, $cards, $new_list_id, $name, $new_board_id = '')
{
    global $db_lnk, $authUser;
    while ($card = pg_fetch_object($cards)) {
        $card->list_id = $new_list_id;
        $card_id = $card->id;
        if ($card->due_date === null) {
            unset($card->due_date);
        }
        $card_result = pg_execute_insert('cards', $card);
        if ($card_result) {
            $card_result = pg_fetch_assoc($card_result);
            $new_card_id = $card_result['id'];
            $foreign_ids['card_id'] = $new_card_id;
            $foreign_ids['board_id'] = $new_board_id;
            $foreign_ids['list_id'] = $new_list_id;
            $comment = '##USER_NAME## added ' . $card_result['name'] . ' card to ' . $name . '.';
            insertActivity($authUser['id'], $comment, 'add_card', $foreign_ids);
            //Copy card attachments
            $attachment_fields = 'list_id, card_id, name, path, mimetype';
            if (!empty($new_board_id)) {
                $attachment_fields = 'board_id, list_id, card_id, name, path, mimetype';
            }
            $qry_val_arr = array($card_id);
            $attachments = pg_query_params($db_lnk, 'SELECT id, ' . $attachment_fields . ' FROM card_attachments WHERE card_id = $1 ORDER BY id', $qry_val_arr);
            if ($attachments && pg_num_rows($attachments)) {
                while ($attachment = pg_fetch_object($attachments)) {
                    $attachment->board_id = $new_board_id;
                    $attachment->list_id = $new_list_id;
                    $attachment->card_id = $new_card_id;
                    $attachment_result = pg_execute_insert('card_attachments', $attachment);
                    $attachment_result = pg_fetch_assoc($attachment_result);
                    $comment = '##USER_NAME## added attachment to this card ##CARD_LINK##';
                    insertActivity($authUser['id'], $comment, 'add_card_attachment', $foreign_ids, null, $attachment_result['id']);
                }
            }
            //Copy card comments
            $comment_fields = 'list_id, card_id, board_id, user_id, type, comment, root, freshness_ts, depth, path, materialized_path';
            $qry_val_arr = array($card_id, 'add_comment');
            $comments = pg_query_params($db_lnk, 'SELECT id, ' . $comment_fields . ' FROM activities WHERE card_id = $1 AND type = $2 ORDER BY id', $qry_val_arr);
            if ($comments && pg_num_rows($comments)) {
                while ($comment = pg_fetch_object($comments)) {
                    $comment->board_id = $new_board_id;
                    $comment->list_id = $new_list_id;
                    $comment->card_id = $new_card_id;
                    $card_result = pg_execute_insert('activities', $comment);
                }
            }
            //Copy checklists
            $checklist_fields = 'card_id, user_id, name, checklist_item_count, checklist_item_completed_count, position';
            $qry_val_arr = array($card_id);
            $checklists = pg_query_params($db_lnk, 'SELECT id, ' . $checklist_fields . ' FROM checklists WHERE card_id = $1 ORDER BY id', $qry_val_arr);
            if ($checklists && pg_num_rows($checklists)) {
                while ($checklist = pg_fetch_object($checklists)) {
                    $checklist_id = $checklist->id;
                    $checklist->card_id = $new_card_id;
                    $checklist_result = pg_execute_insert('checklists', $checklist);
                    if ($checklist_result) {
                        $checklist_result = pg_fetch_assoc($checklist_result);
                        $new_checklist_id = $checklist_result['id'];
                        $comment = '##USER_NAME## added checklist to this card ##CARD_LINK##';
                        insertActivity($authUser['id'], $comment, 'add_card_checklist', $foreign_ids, '', $new_checklist_id);
                        $copy_checklists[] = $checklist_result;
                        //Copy checklist items
                        $checklist_item_fields = 'card_id, checklist_id, user_id, name, position';
                        $qry_val_arr = array($checklist_id);
                        $checklist_items = pg_query_params($db_lnk, 'SELECT id, ' . $checklist_item_fields . ' FROM checklist_items WHERE checklist_id = $1 ORDER BY id', $qry_val_arr);
                        if ($checklist_items && pg_num_rows($checklist_items)) {
                            while ($checklist_item = pg_fetch_object($checklist_items)) {
                                $checklist_item->card_id = $new_card_id;
                                $checklist_item->checklist_id = $new_checklist_id;
                                $checklist_item_result = pg_execute_insert('checklist_items', $checklist_item);
                                $checklist_item_result = pg_fetch_assoc($checklist_item_result);
                                $copy_checklists_items[] = $checklist_item_result;
                                $comment = '##USER_NAME## added checklist item to this card ##CARD_LINK##';
                                insertActivity($authUser['id'], $comment, 'add_checklist_item', $foreign_ids, '', $checklist_item_result['id']);
                            }
                        }
                    }
                }
            }
            //Copy card labels
            $cards_label_fields = 'list_id, card_id, board_id, label_id';
            if (!empty($new_board_id)) {
                $cards_label_fields = 'board_id, list_id, card_id, label_id';
            }
            $qry_val_arr = array($card_id);
            $cards_labels = pg_query_params($db_lnk, 'SELECT id, ' . $cards_label_fields . ' FROM cards_labels WHERE card_id = $1 ORDER BY id', $qry_val_arr);
            if ($cards_labels && pg_num_rows($cards_labels)) {
                while ($cards_label = pg_fetch_object($cards_labels)) {
                    if (!empty($new_board_id)) {
                        $cards_label->board_id = $new_board_id;
                        $cards_label->list_id = $new_list_id;
                        $cards_label->card_id = $new_card_id;
                        $cards_label_values = $new_board_id . ', ' . $new_list_id . ', ' . $new_card_id;
                    } else {
                        $cards_label_values = $new_list_id . ', ' . $new_card_id;
                    }
                    $cards_label_result = pg_execute_insert('cards_labels', $cards_label);
                    $cards_label_result = pg_fetch_assoc($cards_label_result);
                    $comment = '##USER_NAME## added label(s) to this card ##CARD_LINK## - ##LABEL_NAME##';
                    insertActivity($authUser['id'], $comment, 'add_card_label', $foreign_ids);
                }
            }
            //Copy card users
            $cards_user_fields = 'card_id, user_id';
            $qry_val_arr = array($card_id);
            $cards_users = pg_query_params($db_lnk, 'SELECT id, ' . $cards_user_fields . ' FROM cards_users WHERE card_id = $1 ORDER BY id', $qry_val_arr);
            if ($cards_users && pg_num_rows($cards_users)) {
                while ($cards_user = pg_fetch_object($cards_users)) {
                    $cards_user->card_id = $new_card_id;
                    $cards_user_result = pg_execute_insert('cards_users', $cards_user);
                    $cards_user_result = pg_fetch_assoc($cards_user_result);
                    $qry_val_arr = array($cards_user->user_id);
                    $_user = executeQuery('SELECT username FROM users WHERE id = $1', $qry_val_arr);
                    $comment = '##USER_NAME## added ' . $_user['username'] . ' as member to this card ##CARD_LINK##';
                    $response['activity'] = insertActivity($authUser['id'], $comment, 'add_card_user', $foreign_ids, '', $cards_user_result['id']);
                }
            }
        }
    }
}
コード例 #3
0
ファイル: r.php プロジェクト: ntamvl/board
/**
 * Common method to handle DELETE method
 *
 * @param  $r_resource_cmd
 * @param  $r_resource_vars
 * @param  $r_resource_filters
 * @return mixed
 */
function r_delete($r_resource_cmd, $r_resource_vars, $r_resource_filters)
{
    global $r_debug, $db_lnk, $authUser, $_server_domain_url;
    $sql = false;
    $pg_params = array();
    $response = array();
    switch ($r_resource_cmd) {
        case '/organizations/?':
            //organizations delete
            $sql = 'DELETE FROM organizations WHERE id= $1';
            array_push($pg_params, $r_resource_vars['organizations']);
            pg_query_params($db_lnk, 'UPDATE boards SET organization_id = $1, board_visibility = $2 WHERE organization_id= $3', array(0, 0, $r_resource_vars['organizations']));
            break;
        case '/organizations_users/?':
            //organizations delete
            $sql = 'DELETE FROM organizations_users WHERE id= $1';
            array_push($pg_params, $r_resource_vars['organizations_users']);
            break;
        case '/boards_users/?':
            //board user delete
            $s_result = pg_query_params($db_lnk, 'SELECT username, board_id, board_name FROM boards_users_listing WHERE id = $1', array($r_resource_vars['boards_users']));
            $previous_value = pg_fetch_assoc($s_result);
            $foreign_ids['board_id'] = $previous_value['board_id'];
            $comment = $authUser['username'] . ' removed member "' . $previous_value['username'] . '" from board';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_board_user', $foreign_ids, '', $r_resource_vars['boards_users']);
            $sql = 'DELETE FROM boards_users WHERE id= $1';
            array_push($pg_params, $r_resource_vars['boards_users']);
            break;
        case '/boards/?/lists/?':
            //lists delete
            $s_result = pg_query_params($db_lnk, 'SELECT name, board_id, position FROM lists WHERE id = $1', array($r_resource_vars['lists']));
            $previous_value = pg_fetch_assoc($s_result);
            $foreign_id['board_id'] = $r_resource_vars['boards'];
            $foreign_id['list_id'] = $r_resource_vars['lists'];
            $comment = $authUser['username'] . ' deleted "' . $previous_value['name'] . '"';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_list', $foreign_id);
            $sql = 'DELETE FROM lists WHERE id= $1';
            array_push($pg_params, $r_resource_vars['lists']);
            break;
        case '/boards/?/lists/?/cards/?/card_voters/?':
            $sql = 'DELETE FROM card_voters WHERE id = $1';
            array_push($pg_params, $r_resource_vars['card_voters']);
            $previous_value = executeQuery('SELECT name FROM cards WHERE id =  $1', array($r_resource_vars['cards']));
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $comment = $authUser['username'] . ' unvoted this card ##CARD_LINK##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'unvote_card', $foreign_ids, NULL, $r_resource_vars['card_voters']);
            break;
        case '/boards/?/lists/?/cards/?/comments/?':
            // comment DELETE
            $sql = 'DELETE FROM activities WHERE id = $1';
            array_push($pg_params, $r_resource_vars['comments']);
            $previous_value = executeQuery('SELECT name FROM cards WHERE id =  $1', array($r_resource_vars['cards']));
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $comment = $authUser['username'] . ' deleted comment in card ##CARD_LINK##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_card_comment', $foreign_ids, NULL, $r_resource_vars['comments']);
            break;
        case '/boards/?/lists/?/cards/?':
            $s_result = pg_query_params($db_lnk, 'SELECT name, board_id, position FROM cards WHERE id = $1', array($r_resource_vars['cards']));
            $previous_value = pg_fetch_assoc($s_result);
            $foreign_id['board_id'] = $r_resource_vars['boards'];
            $foreign_id['list_id'] = $r_resource_vars['lists'];
            $foreign_id['card_id'] = $r_resource_vars['cards'];
            $comment = $authUser['username'] . ' deleted card ' . $previous_value['name'];
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_card', $foreign_id);
            $sql = 'DELETE FROM cards WHERE id = $1';
            array_push($pg_params, $r_resource_vars['cards']);
            break;
        case '/boards/?/lists/?/cards/?/attachments/?':
            //card view
            $sql = 'DELETE FROM card_attachments WHERE id = $1';
            array_push($pg_params, $r_resource_vars['attachments']);
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $comment = $authUser['username'] . ' deleted attachment from card ##CARD_LINK##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_card_attachment', $foreign_ids, NULL, $r_resource_vars['attachments']);
            break;
        case '/boards/?/lists/?/cards/?/checklists/?':
            pg_query_params($db_lnk, 'DELETE FROM checklist_items WHERE checklist_id = $1', array($r_resource_vars['checklists']));
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $comment = $authUser['username'] . ' deleted checklist from card ##CARD_LINK##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_checklist', $foreign_ids, NULL, $r_resource_vars['checklists']);
            $sql = 'DELETE FROM checklists WHERE id = $1';
            array_push($pg_params, $r_resource_vars['checklists']);
            break;
        case '/boards/?/lists/?/cards/?/checklists/?/items/?':
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $comment = $authUser['username'] . ' deleted checklist item from card ##CARD_LINK##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_checklist_item', $foreign_ids, NULL, $r_resource_vars['items']);
            $sql = 'DELETE FROM checklist_items WHERE id = $1';
            array_push($pg_params, $r_resource_vars['items']);
            break;
        case '/boards/?/lists/?/cards/?/cards_users/?':
            $foreign_ids['board_id'] = $r_resource_vars['boards'];
            $foreign_ids['list_id'] = $r_resource_vars['lists'];
            $foreign_ids['card_id'] = $r_resource_vars['cards'];
            $comment = $authUser['username'] . ' deleted member from card ##CARD_LINK##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_card_users', $foreign_ids, NULL, $r_resource_vars['cards_users']);
            $sql = 'DELETE FROM cards_users WHERE id = $1';
            array_push($pg_params, $r_resource_vars['cards_users']);
            break;
        case '/users/?':
            //users delete
            $sql = 'DELETE FROM users WHERE id= $1';
            array_push($pg_params, $r_resource_vars['users']);
            break;
        case '/boards/?/lists/?/cards/?':
            $foreign_id['board_id'] = $r_resource_vars['boards'];
            $foreign_id['list_id'] = $r_resource_vars['lists'];
            $foreign_id['card_id'] = $r_resource_vars['cards'];
            $comment = $authUser['username'] . ' deleted card ##CARD_NAME##';
            $response['activity'] = insertActivity($authUser['id'], $comment, 'delete_card', $foreign_id);
            $sql = 'UPDATE cards SET is_deleted = true WHERE id= $1';
            array_push($pg_params, $r_resource_vars['cards']);
            break;
        default:
            header($_SERVER['SERVER_PROTOCOL'] . ' 501 Not Implemented', true, 501);
            break;
    }
    if (!empty($sql)) {
        $result = pg_query_params($db_lnk, $sql, $pg_params);
        $response['error'] = array('code' => !$result ? 1 : 0);
    }
    echo json_encode($response);
}