示例#1
0
 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));
     }
 }