whereRealm($_POST['realm'])->first(); if (empty($char->ID)) { $char = new Character(); $char->name = $_POST['name']; $char->realm = $_POST['realm']; $char->updateFromAPI(); $char->updateMedia(); } } } break; case 'deleteCharacter': isAllowed('wowpress_edit_characters'); if (isset($_POST['deleteCharacter_nonce']) && wp_verify_nonce($_POST['deleteCharacter_nonce'], 'deleteCharacter')) { if (isset($_POST['id'])) { $char = Character::find($_POST['id']); if ($char->ID) { $char->delete(); } } } break; case 'updateCharacter': isAllowed('wowpress_edit_characters'); if (isset($_POST['updateCharacter_nonce']) && wp_verify_nonce($_POST['updateCharacter_nonce'], 'updateCharacter')) { if (isset($_POST['id'])) { $char = Character::find($_POST['id']); if ($char->ID) { $char->updateFromAPI(); $char->updateMedia(); } } } break; case 'toggleRaidchar': isAllowed('wowpress_edit_characters'); if (isset($_POST['toggleRaidchar_nonce']) && wp_verify_nonce($_POST['toggleRaidchar_nonce'], 'toggleRaidchar')) { if (isset($_POST['id'])) { $char = Character::find($_POST['id']); if ($char->ID) { $char->raidchar = !$char->raidchar; $char->save(); } } } break; case 'changeUser': isAllowed('wowpress_edit_characters'); if (isset($_POST['changeUser_nonce']) && wp_verify_nonce($_POST['changeUser_nonce'], 'changeUser')) { if (isset($_POST['char_id']) && isset($_POST['uid'])) { $char = Character::find($_POST['char_id']); $user = User::find($_POST['uid']); if (!empty($char->ID)) { if (empty($user->ID)) { $char->user_id = null; $char->save(); } else $char->user_id = $user->ID; $char->save(); } } } break; case 'importRaid': isAllowed('wowpress_edit_raids'); if (isset($_POST['importRaid_nonce']) && wp_verify_nonce($_POST['importRaid_nonce'], 'importRaid')) { if (isset($_POST['id_wowaudit'])) { if (!empty(Raid::where('id_wowaudit', $_POST['id_wowaudit'])->first())) { break; } $raid = new Raid(); $raid->id_wowaudit = $_POST['id_wowaudit']; $raid->sync(); if (!empty($raid->title)) { $raid->save(); } } } break; case 'signupRaid': isAllowed('wowpress_view_raids'); if (isset($_POST['signupRaid_nonce']) && wp_verify_nonce($_POST['signupRaid_nonce'], 'signupRaid')) { if (isset($_POST['raid_id']) && isset($_POST['raid_character']) && isset($_POST['raid_status']) && isset($_POST['raid_role']) && isset($_POST['comment'])) { $char = Character::find($_POST['raid_character']); $raid = Raid::find($_POST['raid_id']); if ($char->can_edit) { if (!$char->id_wowaudit) { $cw = $char->user->characters()->whereNot('id_wowaudit', 'NULL')->first(); if (empty($cw->ID)) { break; } } else { $cw = $char; } $comment = htmlentities2($_POST['comment']); $signup = new Signup(); $signup->raid_id = $raid->ID; $signup->character_id = $cw->ID; $signup->setStatus($_POST['raid_status']); $signup->setRole($_POST['raid_role']); $signup->comment = $comment; $sup = $signup->updateAPI($char); if (!empty($sup['error'])) { dd($sup); } $raid->sync(true); $raid->save(); } } } break; case 'addSKS': isAllowed('wowpress_edit_raids'); if (isset($_POST['addSKS_nonce']) && wp_verify_nonce($_POST['addSKS_nonce'], 'addSKS')) { if (isset($_POST['name']) && isset($_POST['realm']) && isset($_POST['list_name'])) { $char = Character::whereName($_POST['name'])->whereRealm($_POST['realm'])->first(); if (empty($char->ID)) { $char = new Character(); $char->name = $_POST['name']; $char->realm = $_POST['realm']; } $sks = new SKS(); $sks->char_name = $char->name; $sks->realm_name = $char->realm; $sks->list_name = $_POST['list_name']; $sks->active = true; $sks_last = SKS::where('list_name', $sks->list_name)->orderBy('rank', 'desc')->first(); $sks->rank = !empty($sks_last->rank) ? $sks_last->rank + 1 : 1; $sks->save(); } } break; case 'toggleSKS': isAllowed('wowpress_edit_raids'); if (isset($_POST['toggleSKS_nonce']) && wp_verify_nonce($_POST['toggleSKS_nonce'], 'toggleSKS')) { if (isset($_POST['sks_id'])) { $sks = SKS::find($_POST['sks_id']); if ($sks->ID) { $sks->active = !$sks->active; $sks->save(); } } } break; case 'deleteSKS': isAllowed('wowpress_edit_raids'); if (isset($_POST['deleteSKS_nonce']) && wp_verify_nonce($_POST['deleteSKS_nonce'], 'deleteSKS')) { if (isset($_POST['sks_id'])) { $sks = SKS::find($_POST['sks_id']); if ($sks->ID) { $after = $sks->getAfter(false); foreach ($after as $sk) { $sk->rank = $sk->rank - 1; $sk->save(); } $sks->delete(); } } } break; case 'lootSKS': isAllowed('wowpress_edit_raids'); if (isset($_POST['lootSKS_nonce']) && wp_verify_nonce($_POST['lootSKS_nonce'], 'lootSKS')) { if (isset($_POST['sks_id'])) { $sks = SKS::find($_POST['sks_id']); if ($sks->ID) { $sks->loot(); } } } break; case 'rollSKS': isAllowed('wowpress_edit_raids'); if (isset($_POST['rollSKS_nonce']) && wp_verify_nonce($_POST['rollSKS_nonce'], 'rollSKS')) { if (isset($_POST['list_name'])) { $sks = SKS::where('list_name', $_POST['list_name'])->first(); if (!empty($sks->ID)) { $sks->roll(); } } } break; case 'fixSKS': isAllowed('wowpress_edit_raids'); if (isset($_POST['fixSKS_nonce']) && wp_verify_nonce($_POST['fixSKS_nonce'], 'fixSKS')) { if (isset($_POST['sks_id']) && isset($_POST['rank'])) { $sks = SKS::find($_POST['sks_id']); if ($sks->ID) { $sks->rank = intval($_POST['rank']); $sks->save(); } } } break; } header('Location: ' . $_SERVER['HTTP_REFERER']);