require_once BX_DIRECTORY_PATH_INC . 'sharing.inc.php'; require_once BX_DIRECTORY_PATH_INC . 'admin_design.inc.php'; require_once BX_DIRECTORY_PATH_INC . 'utils.inc.php'; $_page['extra_js'] = ''; $logged[admin] = member_auth(1); $ADMIN = $logged[admin]; $_page['css_name'] = 'browse.css'; $_page['header'] = "Browse Music"; $_page['header_text'] = "Browse Music"; $_ni = $_page['name_index']; $sType = 'Music'; if (isset($_POST['Check']) && is_array($_POST['Check'])) { foreach ($_POST['Check'] as $iKey => $iVal) { switch (true) { case isset($_POST['Delete']): deleteMedia((int) $iVal, $sType); break; case isset($_POST['Approve']): approveMedia((int) $iVal, $sType); break; } } } $aWhere = array(); $aWhere[] = '1'; if (isset($_GET['userID'])) { $iUser = (int) $_GET['userID']; $aWhere[] = "`a`.`medProfId`={$iUser}"; } if (isset($_GET['tag'])) { $sTag = htmlspecialchars_adv($_GET['tag']);
/** * Populate 'compound' media for this question. These fields are a concatenated version of number of form fields. * Assumes the the first item in the compound field will be the general question media * @param array $media_data the data source for the media information, normally the $_FILES array * @param array $deletion_data the data source for flagging media to be deleted, normally the $_POST array * @param string $general_field name of the field to use for the general question details media * @param string $prefix a prefix to apply to field names when used as keys into data array */ public function populate_compound_media($media_data, $deletion_data, $general_field = 'q_media', $prefix = 'question_media') { $old_media = $this->get_all_media(); $media_change = false; for ($i = 0; $i <= $this->max_stems; $i++) { $post_field = $i == 0 ? $general_field : "{$prefix}{$i}"; $media_name = isset($old_media['filenames'][$i]) ? $old_media['filenames'][$i] : ''; if ($media_data[$post_field]['name'] != $media_name and ($media_data[$post_field]['name'] != 'none' and $media_data[$post_field]['name'] != '')) { if ($media_name != '') { deleteMedia($media_name); } $new_media = uploadFile($post_field); $old_media['filenames'][$i] = $new_media['filename']; $old_media['widths'][$i] = $new_media['width']; $old_media['heights'][$i] = $new_media['height']; $this->add_unified_field_modification('q_media' . $i, 'q_media' . $i, $old_media['filenames'][$i], $new_media['filename'], $this->_lang_strings['editscenario']); } else { // Delete existing media if asked if (isset($deletion_data["delete_media{$i}"]) and $deletion_data["delete_media{$i}"] == 'on') { deleteMedia($media_name); $this->add_unified_field_modification('q_media' . $i, 'q_media' . $i, $media_name, '', $this->_lang_strings['mediadeleted']); $old_media['filenames'][$i] = ''; $old_media['widths'][$i] = 0; $old_media['heights'][$i] = 0; } } } $this->set_all_media($old_media); }
function delete($id, $type) { // Type 0: Delete Comment // Type 1: Delete Track // Type 2: Delete Chat Message // Prepare the statement if ($type == 0) { $stmt = $this->db->prepare("DELETE FROM `comments` WHERE `id` = '{$this->db->real_escape_string($id)}' AND `uid` = '{$this->db->real_escape_string($this->id)}'"); // Set $x variable to 1 if the delete query is for `comments` $x = 0; } elseif ($type == 1) { // Get the current type (for images and tracks deletion) $query = $this->db->query(sprintf("SELECT `art`, `name` FROM `tracks` WHERE `id` = '%s' AND `uid` = '%s'", $this->db->real_escape_string($id), $this->db->real_escape_string($this->id))); $track = $query->fetch_assoc(); $stmt = $this->db->prepare("DELETE FROM `tracks` WHERE `id` = '{$this->db->real_escape_string($id)}' AND `uid` = '{$this->db->real_escape_string($this->id)}'"); // Set $x variable to 1 if the delete query is for `tracks` $x = 1; } elseif ($type == 2) { $stmt = $this->db->prepare("DELETE FROM `chat` WHERE `id` = '{$this->db->real_escape_string($id)}' AND `from` = '{$this->db->real_escape_string($this->id)}'"); $x = 2; } elseif ($type == 3) { $stmt = $this->db->prepare("DELETE FROM `playlists` WHERE `id` = '{$this->db->real_escape_string($id)}' AND `by` = '{$this->db->real_escape_string($this->id)}'"); $x = 3; } // Execute the statement $stmt->execute(); // Save the affected rows $affected = $stmt->affected_rows; // Close the statement $stmt->close(); // If the tracks/comments table was affected if ($affected) { // Deletes the Comments/Likes/Reports/Notifications/Playlists and Images if the Track was deleted if ($x == 1) { $this->db->query("DELETE FROM `comments` WHERE `tid` = '{$this->db->real_escape_string($id)}'"); $this->db->query("DELETE FROM `likes` WHERE `track` = '{$this->db->real_escape_string($id)}'"); $this->db->query("DELETE FROM `reports` WHERE `track` = '{$this->db->real_escape_string($id)}' AND `parent` = '0'"); $this->db->query("DELETE FROM `notifications` WHERE `parent` = '{$this->db->real_escape_string($id)}'"); $this->db->query("DELETE FROM `playlistentries` WHERE `track` = '{$this->db->real_escape_string($id)}'"); // Execute the deleteMedia function deleteMedia($track['art'], $track['name']); } elseif ($x == 0) { $this->db->query("DELETE FROM `reports` WHERE `post` = '{$this->db->real_escape_string($id)}' AND `parent` != '0'"); $this->db->query("DELETE FROM `notifications` WHERE `child` = '{$this->db->real_escape_string($id)}' AND `type` = '1'"); } elseif ($x == 3) { $this->db->query("DELETE FROM `playlistentries` WHERE `playlist` = '{$this->db->real_escape_string($id)}'"); } } return $affected ? 1 : 0; }
function defineBrowseAction($sAct, $sType, $iUser = 0) { global $member; $sqlQuery = ''; switch ($sAct) { case 'fav': $sUserCond = $iUser != 0 ? " AND `userID`={$iUser}" : ""; $sqlQuery = "SELECT `medID` FROM `share" . $sType . "Favorites` WHERE 1 " . $sUserCond; $sType = $sType == 'Video' ? 'Movie' : $sType; if ($sType == 'Photo') { $sRes = " AND `share{$sType}Files`.`medID` IN("; } else { $sRes = " AND `Ray{$sType}Files`.`ID` IN("; } $rList = db_res($sqlQuery); while ($aList = mysql_fetch_row($rList)) { $sParam .= $aList[0] . ','; } if (strlen($sParam) > 0) { $sRes = $sRes . trim($sParam, ',') . ')'; } else { $sRes = ' AND 0'; } break; case 'del': if (isset($_GET['fileID'])) { $iFile = (int) $_GET['fileID']; deleteMedia($iFile, $sType); } $sRes = ''; break; } return $sRes; }
require_once('metadata_layergroups.php'); getLayerGroups($responseDoc, $rootNode); break; case 'deleteLayerGroup': require_once('metadata_layergroups.php'); deleteLayerGroup($responseDoc, $rootNode, $requestDoc->getElementsByTagName('params')->item(0)); break; case 'getLayersForGroup': require_once('metadata_layergroupsmapping.php'); getLayersForGroup($responseDoc, $rootNode, $requestDoc->getElementsByTagName('params')->item(0)); break; case 'getLayersListForManageGroup': require_once('metadata_layergroupsmapping.php'); getLayersListForManageGroup($responseDoc, $rootNode, $requestDoc->getElementsByTagName('params')->item(0)); break; case 'saveLayerGroup': require_once('metadata_layergroupsmapping.php'); saveLayerGroup($responseDoc, $rootNode, $requestDoc->getElementsByTagName('params')->item(0)); break; case 'deleteMedia': require_once('ml_deletemedia.php'); deleteMedia($responseDoc, $rootNode, $requestDoc->getElementsByTagName('params')->item(0)); break; default: die(sendErrorResponse("Incorrect parameters set.")); break; } echo $responseDoc->saveXML(); ?>
function save_options($question, $userObject, $db) { $unified_part_names = $question->get_unified_fields(); for ($option_no = 1; $option_no <= $question->max_options; $option_no++) { $option = null; if (isset($_POST["optionid{$option_no}"]) and $_POST["optionid{$option_no}"] != -1) { // Editing existing option $option = $question->options[$_POST["optionid{$option_no}"]]; $part_names = $option->get_editable_fields(); // Build arrays for compound fields $compound_fields = $option->get_compound_fields(); if (!isset($existing_values)) { $existing_values = array(); } $option->populate_compound(array_keys($compound_fields), $_POST, $existing_values, 'option_'); // Save editable fields that aren't unified $option->populate($part_names, $option_no, $_POST, array_merge(array_keys($unified_part_names), array_keys($compound_fields)), 'option_'); // Save fields that are the same across options $option->populate_unified($unified_part_names, $_POST, array_keys($compound_fields), 'option_'); } else { // Create new option if have required data $option = OptionEdit::option_factory($db, $userObject->get_user_ID(), $question, $option_no, $string, array('marks' => 1)); if ($option->minimum_fields_exist($_POST, $_FILES, $option_no)) { $correct_fb = isset($_POST["option_correct_fback{$option_no}"]) ? $_POST["option_correct_fback{$option_no}"] : ''; $incorrect_fb = isset($_POST["option_incorrect_fback{$option_no}"]) ? $_POST["option_incorrect_fback{$option_no}"] : ''; $part_names = $option->get_editable_fields(); // Build arrays for compound fields $compound_fields = $option->get_compound_fields(); if (!isset($existing_values)) { $existing_values = array(); } $option->populate_compound(array_keys($compound_fields), $_POST, $existing_values, 'option_'); // Save editable fields that aren't unified $option->populate($part_names, $option_no, $_POST, array_merge(array_keys($unified_part_names), array_keys($compound_fields)), 'option_'); // Save fields that are the same across options $option->populate_unified($unified_part_names, $_POST, array_keys($compound_fields), 'option_', false); $question->options[] = $option; } } if ($option != null and !in_array('media', $question->get_compound_fields())) { // Handle changes in media $old_media = $option->get_media(); if (isset($_FILES["option_media{$option_no}"]) and $_FILES["option_media{$option_no}"]['name'] != $old_media['filename'] and ($_FILES["option_media{$option_no}"]['name'] != 'none' and $_FILES["option_media{$option_no}"]['name'] != '')) { if ($old_media['filename'] != '') { deleteMedia($old_media['filename']); } $option->set_media(uploadFile("option_media{$option_no}")); } else { // Delete existing media if asked if (isset($_POST["delete_media{$option_no}"]) and $_POST["delete_media{$option_no}"] == 'on') { deleteMedia($old_media['filename']); $option->set_media(array('filename' => '', 'width' => 0, 'height' => 0)); } } } } }