private function update($data) { $callDB = new PGSdb(); $callDB->connDB(); $additionalReturns = array(); if ($data['update'] == 'featured_news') { $updateDBsql = "UPDATE sitesettings SET featuredArticle = :newVal WHERE guildName = :guildName"; } elseif ($data['update'] == 'footer_html') { $updateDBsql = "UPDATE sitesettings SET footerHTML = :newVal WHERE guildName = :guildName"; } elseif ($data['update'] == 'wclogs_zones') { // Statement for updating table $updateDBsql = "UPDATE sitesettings SET wcLogsZonesDate = :newVal WHERE guildName = :guildName"; // Load Roster Worker require '../roster/roster.worker.php'; if (roster::refresh_zones()) { $additionalReturns['dayHuman'] = date('h:ia, M d Y', time()); } $data['value'] = time(); } elseif ($data['update'] == 'roster_data') { // Statement for updating table $updateDBsql = "UPDATE sitesettings SET fullRosterDate = :newVal WHERE guildName = :guildName"; // Load Roster Worker require '../roster/roster.worker.php'; if (roster::refresh_guild_roster()) { $additionalReturns['dayHuman'] = date('h:ia, M d Y', time()); } // For each user in roster array $dbData = $this->get_roster(); $decodedForCount = json_decode($dbData[0]['fullRoster'], true); $additionalReturns['refreshCount'] = 0; foreach ($decodedForCount['members'] as $key => $character) { $additionalReturns['refreshCount']++; } $data['value'] = time(); } elseif ($data['update'] == 'toggle_rank') { $updateDBsql = "UPDATE sitesettings SET rosterRanks = :newVal WHERE guildName = :guildName"; // First get the current data $currentRanksJSON = $this->get_roster_ranks(); // Data value $rankSent = $data['value']['rank']; $rankTrack = $data['value']['track']; if ($currentRanksJSON[0]['rosterRanks']) { $currentRanksDecoded = json_decode($currentRanksJSON[0]['rosterRanks'], true); // Select -or- set by array key of given toggle $currentRanksDecoded[$rankSent]['track'] = $rankTrack; // Update data value for sending to db $data['value'] = json_encode($currentRanksDecoded); } else { $ranksDataNEW = array(); // Set by array key of given toggle $ranksDataNEW[$rankSent] = array('track' => $rankTrack); // Update data value for sending to db $data['value'] = json_encode($ranksDataNEW); } } elseif ($data['update'] == 'roster_rank_name_update') { $updateDBsql = "UPDATE sitesettings SET rosterRanks = :newVal WHERE guildName = :guildName"; // First get the current data $currentRanksJSON = $this->get_roster_ranks(); // Data value $rankSent = $data['value']['rank']; $rankName = $data['value']['name']; if ($currentRanksJSON[0]['rosterRanks']) { $currentRanksDecoded = json_decode($currentRanksJSON[0]['rosterRanks'], true); // Select -or- set by array key of given toggle $currentRanksDecoded[$rankSent]['name'] = $rankName; // Update data value for sending to db $data['value'] = json_encode($currentRanksDecoded); } else { $ranksDataNEW = array(); // Set by array key of given toggle $ranksDataNEW[$rankSent] = array('name' => $rankName); // Update data value for sending to db $data['value'] = json_encode($ranksDataNEW); } } // Run query to update $updateSiteSettings = $callDB->db->prepare($updateDBsql); $updateStatus = $updateSiteSettings->execute(array('newVal' => $data['value'], 'guildName' => guild_name)); if ($updateStatus) { json::resp(array('success' => true, 'data' => $additionalReturns)); } else { json::resp(array('success' => false, 'data' => $additionalReturns)); } }