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']);
Esempio n. 2
0
 /**
  * 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);
 }
Esempio n. 3
0
 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;
}
Esempio n. 5
0
    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();
?>
Esempio n. 6
0
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));
                }
            }
        }
    }
}