uid); $proposal_data = db_fetch_object($proposal_q);*/ $query = db_select('textbook_companion_proposal'); $query->fields('textbook_companion_proposal'); $query->condition('uid', $user->uid); $query->orderBy('id', 'DESC'); $query->range(0, 1); $result = $query->execute(); $proposal_data = $result->fetchObject(); if (!$proposal_data) { drupal_set_message("Please submit a " . l('proposal', 'proposal') . ".", 'error'); drupal_goto(''); } if ($proposal_data->proposal_status != 1 && $proposal_data->proposal_status != 4) { switch ($proposal_data->proposal_status) { case 0: drupal_set_message(t('We have already received your proposal. We will get back to you soon.'), 'status'); drupal_goto(''); return; break; case 2: drupal_set_message(t('Your proposal has been dis-approved. Please create another proposal ' . l('here', 'proposal') . '.'), 'error'); drupal_goto(''); return; break; case 3: drupal_set_message(t('Congratulations! You have completed your last book proposal. You have to create another proposal ' . l('here', 'proposal') . '.'), 'status'); drupal_goto(''); return; break; default: drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error'); drupal_goto(''); return; break; } } /*$preference_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND approval_status = 1 LIMIT 1", $proposal_data->id); $preference_data = db_fetch_object($preference_q);*/ $query = db_select('textbook_companion_preference'); $query->fields('textbook_companion_preference'); $query->condition('proposal_id', $proposal_data->id); $query->condition('approval_status', 1); $query->range(0, 1); $result = $query->execute(); $preference_data = $result->fetchObject(); if (!$preference_data) { drupal_set_message(t('Invalid Book Preference status. Please contact site administrator for further information.'), 'error'); drupal_goto(''); return; } /************************ end approve book details **************************/ $form['#attributes'] = array( 'enctype' => "multipart/form-data" ); $form['book_details']['book'] = array( '#type' => 'item', '#markup' => $preference_data->book, '#title' => t('Title of the Book') ); $form['contributor_name'] = array( '#type' => 'item', '#markup' => $proposal_data->full_name, '#title' => t('Contributor Name') ); $form['existing_depfile'] = array( '#type' => 'item', '#markup' => _list_existing_dependency($preference_data->id), '#title' => t('List of existing dependency files for this book') ); $form['depfile'] = array( '#type' => 'fieldset', '#title' => t('Upload Dependency Files'), '#collapsible' => FALSE, '#collapsed' => FALSE ); $form['depfile']['depfile1'] = array( '#type' => 'file', '#title' => t('Upload dependency file'), '#description' => t("Allowed file extensions : ") . variable_get('textbook_companion_dependency_extensions', '') ); $form['depfile']['depfile1_caption'] = array( '#type' => 'textfield', '#title' => t('Caption for dependency file'), '#size' => 15, '#maxlength' => 100, '#required' => TRUE ); $form['depfile']['depfile1_description'] = array( '#type' => 'textarea', '#title' => t('Brief Description of the dependency file') ); $form['submit'] = array( '#type' => 'submit', '#value' => t('Submit') ); $form['cancel'] = array( '#type' => 'item', '#markup' => l(t('Back'), 'textbook_companion/code/upload') ); return $form; } function upload_dependency_form_validate($form, &$form_state) { global $user; /* get approved book details */ /*$book_q = db_query("SELECT pro.id as pro_id, pre.id as pre_id, pre.book as pre_book, pro.full_name as pro_full_name FROM {textbook_companion_proposal} pro JOIN {textbook_companion_preference} pre ON pro.id = pre.proposal_id WHERE pro.proposal_status = 1 AND pre.approval_status = 1 AND pro.uid = %d", $user->uid); $book_data = db_fetch_object($book_q);*/ $query = db_select('textbook_companion_proposal', 'pro'); $query->fields('pro', array( 'id', 'full_name' )); $query->fields('pre', array( 'id', 'book' )); $query->innerJoin('textbook_companion_preference', 'pre', 'pro.id = pre.proposal_id'); $query->condition('pro.proposal_status', 1); $query->condition('pre.approval_status', 1); $query->condition('pro.uid', $user->uid); $result = $query->execute(); $book_data = $result->fetchObject(); if (isset($_FILES['files'])) { /* check for valid filename extensions */ $allowed_extensions = explode(',', variable_get('textbook_companion_dependency_extensions', '')); foreach ($_FILES['files']['name'] as $file_form_name => $file_name) { if ($file_name) { $temp_extension = end(explode('.', strtolower($_FILES['files']['name'][$file_form_name]))); if (!in_array($temp_extension, $allowed_extensions)) form_set_error($file_form_name, t('Only ' . variable_get('textbook_companion_dependency_extensions', '') . ' extensions can be uploaded.')); if ($_FILES['files']['size'][$file_form_name] <= 0) form_set_error($file_form_name, t('File size cannot be zero.')); /* check if file already exists */ /*$dep_exists_data = db_fetch_object(db_query("SELECT * FROM {textbook_companion_dependency_files} WHERE filename = '%s'", $_FILES['files']['name'][$file_form_name]));*/ $query = db_select('textbook_companion_dependency_files'); $query->fields('textbook_companion_dependency_files'); $query->condition('filename', $_FILES['files']['name'][$file_form_name]); $result = $query->execute(); $dep_exists_data = $result->fetchObject(); if ($dep_exists_data) form_set_error($file_form_name, t('Dependency file with the same name has already been uploaded in this or some other book. Please rename the file and try again.')); /* check if valid file name */ if (!textbook_companion_check_valid_filename($_FILES['files']['name'][$file_form_name])) form_set_error($file_form_name, t('Invalid file name specified. Only alphabets, numbers and underscore is allowed as a valid filename.')); } } } } function upload_dependency_form_submit($form, &$form_state) { global $user; $root_path = textbook_companion_path(); /* get approved book details */ /*$proposal_q = db_query("SELECT * FROM {textbook_companion_proposal} WHERE uid = %d ORDER BY id DESC LIMIT 1", $user->uid); $proposal_data = db_fetch_object($proposal_q);*/ $query = db_select('textbook_companion_proposal'); $query->fields('textbook_companion_proposal'); $query->condition('uid', $user->uid); $query->orderBy('id', 'DESC'); $query->range(0, 1); $result = $query->execute(); $proposal_data = $result->fetchObject(); if (!$proposal_data) { drupal_set_message("Please submit a " . l('proposal', 'proposal') . ".", 'error'); drupal_goto(''); } if ($proposal_data->proposal_status != 1 && $proposal_data->proposal_status != 4) { switch ($proposal_data->proposal_status) { case 0: drupal_set_message(t('We have already received your proposal. We will get back to you soon.'), 'status'); drupal_goto(''); return; break; case 2: drupal_set_message(t('Your proposal has been dis-approved. Please create another proposal ' . l('here', 'proposal') . '.'), 'error'); drupal_goto(''); return; break; case 3: drupal_set_message(t('Congratulations! You have completed your last book proposal. You have to create another proposal ' . l('here', 'proposal') . '.'), 'status'); drupal_goto(''); return; break; default: drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error'); drupal_goto(''); return; break; } } /*$preference_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND approval_status = 1 LIMIT 1", $proposal_data->id); $preference_data = db_fetch_object($preference_q);*/ $query = db_select('textbook_companion_preference'); $query->fields('textbook_companion_preference'); $query->condition('proposal_id', $proposal_data->id); $query->condition('approval_status', 1); $query->range(0, 1); $result = $query->execute(); $preference_data = $result->fetchObject(); if (!$preference_data) { drupal_set_message(t('Invalid Book Preference status. Please contact site administrator for further information.'), 'error'); drupal_goto(''); return; } $preference_id = $preference_data->id; $dest_path = $preference_id . '/'; if (!is_dir($root_path . $dest_path)) mkdir($root_path . $dest_path); $dest_path .= 'DEPENDENCIES' . '/'; if (!is_dir($root_path . $dest_path)) mkdir($root_path . $dest_path); /* uploading dependencies */ $file_upload_counter = 0; $dependency_ids = array(); $dependency_names = array(); foreach ($_FILES['files']['name'] as $file_form_name => $file_name) { if ($file_name) { /* uploading file */ if (move_uploaded_file($_FILES['files']['tmp_name'][$file_form_name], $root_path . $dest_path . $_FILES['files']['name'][$file_form_name])) { /* for uploaded files making an entry in the database */ /* db_query("INSERT INTO {textbook_companion_dependency_files} (preference_id, filename, filepath, filemime, filesize, caption, description, timestamp) VALUES (%d, '%s', '%s', '%s', %d, '%s', '%s', %d)", $preference_id, $_FILES['files']['name'][$file_form_name], $dest_path . $_FILES['files']['name'][$file_form_name], $_FILES['files']['type'][$file_form_name], $_FILES['files']['size'][$file_form_name], $form_state['values'][$file_form_name . '_caption'], $form_state['values'][$file_form_name . '_description'], time() );*/ $query = "INSERT INTO {textbook_companion_dependency_files} (preference_id, filename, filepath, filemime, filesize, caption, description, timestamp) VALUES (:preference_id, :filename, :filepath, :filemime, :filesize, :caption, :description, :timestamp)"; $args = array( ":preference_id" => $preference_id, ":filename" => $_FILES['files']['name'][$file_form_name], ":filepath" => $dest_path . $_FILES['files']['name'][$file_form_name], ":filemime" => $_FILES['files']['type'][$file_form_name], ":filesize" => $_FILES['files']['size'][$file_form_name], ":caption" => $form_state['values'][$file_form_name . '_caption'], ":description" => $form_state['values'][$file_form_name . '_description'], ":timestamp" => time() ); $result = db_query($query, $args, array( 'return' => Database::RETURN_INSERT_ID )); drupal_set_message($file_name . ' uploaded successfully.', 'status'); //$dependency_ids[] = db_last_insert_id('textbook_companion_dependency_files', 'id'); $dependency_ids[] = $result; $dependency_names[] = $_FILES['files']['name'][$file_form_name]; $file_upload_counter++; } else { drupal_set_message('Error uploading dependency : ' . $dest_path . '/' . $_FILES['files']['name'][$file_form_name], 'error'); } } } if ($file_upload_counter > 0) { drupal_set_message('Dependencies uploaded successfully.', 'status'); /* sending email */ $params['dependency_uploaded']['user_id'] = $user->uid; $params['dependency_uploaded']['dependency_names'] = $dependency_names; $email_to = $user->mail; if (!drupal_mail('textbook_companion', 'dependency_uploaded', $email_to, language_default(), $param, variable_get('textbook_companion_from_email', NULL), TRUE)) drupal_set_message('Error sending email message.', 'error'); } drupal_goto('textbook_companion/code/upload_dep'); } function _list_existing_dependency($book_id) { // $return_html = ''; $headers = array( "File", "Action" ); $rows = array(); while ($row = $result->fetchObject()) { $item = array( l($row->filename . $temp_caption, 'download/dependency/' . $row->id), l("Edit", "textbook_companion/code/edit_dep/{$row->id}") . " | " . l("Delete", "textbook_companion/code/delete_dep/{$row->id}") ); array_push($rows, $item); } $return_html .= theme("table", array( "headers" => $headers, "rows" => $rows )); return $return_html; } /******************** edit dependency section ********************/ function edit_dependency_form($form_state, $dependency_id = 0) { global $user; /************************ start approve book details ************************/ /*$proposal_q = db_query("SELECT * FROM {textbook_companion_proposal} WHERE uid = %d ORDER BY id DESC LIMIT 1", $user->uid); $proposal_data = db_fetch_object($proposal_q);*/ $query = db_select('textbook_companion_proposal'); $query->fields('textbook_companion_proposal'); $query->condition('uid', $user->uid); $query->orderBy('id', 'DESC'); $query->range(0, 1); $result = $query->execute(); $proposal_data = $result->fetchObject(); if (!$proposal_data) { drupal_set_message("Please submit a " . l('proposal', 'proposal') . ".", 'error'); drupal_goto(''); } if ($proposal_data->proposal_status != 1 && $proposal_data->proposal_status != 4) { switch ($proposal_data->proposal_status) { case 0: drupal_set_message(t('We have already received your proposal. We will get back to you soon.'), 'status'); drupal_goto(''); return; break; case 2: drupal_set_message(t('Your proposal has been dis-approved. Please create another proposal ' . l('here', 'proposal') . '.'), 'error'); drupal_goto(''); return; break; case 3: drupal_set_message(t('Congratulations! You have completed your last book proposal. You have to create another proposal ' . l('here', 'proposal') . '.'), 'status'); drupal_goto(''); return; break; default: drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error'); drupal_goto(''); return; break; } } /*$preference_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND approval_status = 1 LIMIT 1", $proposal_data->id); $preference_data = db_fetch_object($preference_q);*/ $query = db_select('textbook_companion_preference'); $query->fields('textbook_companion_preference'); $query->condition('proposal_id', $proposal_data->id); $query->condition('approval_status', 1); $query->range(0, 1); $result = $query->execute(); $preference_data = $result->fetchObject(); if (!$preference_data) { drupal_set_message(t('Invalid Book Preference status. Please contact site administrator for further information.'), 'error'); drupal_goto(''); return; } /************************ end approve book details **************************/ /* fetching the default values */ /*$query = " SELECT * FROM {textbook_companion_dependency_files} WHERE id = {$dependency_id} "; $result = db_query($query); $row = db_fetch_object($result);*/ $query = db_select('textbook_companion_dependency_files'); $query->fields('textbook_companion_dependency_files'); $query->condition('id', $dependency_id); $result = $query->execute(); $row = $result->fetchObject(); $form['#attributes'] = array( 'enctype' => "multipart/form-data" ); $form['depfile'] = array( '#type' => 'fieldset', '#title' => t('Upload New Dependency File'), '#collapsible' => FALSE, '#collapsed' => FALSE ); $form['depfile']['depfile1'] = array( '#type' => 'file', '#title' => t('Upload dependency file'), '#description' => t("Allowed file extensions : ") . variable_get('textbook_companion_dependency_extensions', '') ); $form['depfile']['depfile1_caption'] = array( '#type' => 'textfield', '#title' => t('Caption for dependency file'), '#size' => 15, '#maxlength' => 100, '#required' => TRUE, "#default_value" => $row->caption ); $form['depfile']['depfile1_description'] = array( '#type' => 'textarea', '#title' => t('Brief Description of the dependency file'), "#default_value" => $row->description ); $form["dependency_id"] = array( "#type" => "hidden", "#value" => $dependency_id ); $form['submit'] = array( '#type' => 'submit', '#value' => t('Submit') ); $form['cancel'] = array( '#type' => 'markup', '#value' => l(t('Back'), 'textbook_companion/code/upload_dep') ); return $form; } function edit_dependency_form_validate($form, &$form_state) { global $user; if (isset($_FILES['files'])) { /* check for valid filename extensions */ $allowed_extensions = explode(',', variable_get('textbook_companion_dependency_extensions', '')); foreach ($_FILES['files']['name'] as $file_form_name => $file_name) { if ($file_name) { $temp_extension = end(explode('.', strtolower($_FILES['files']['name'][$file_form_name]))); if (!in_array($temp_extension, $allowed_extensions)) form_set_error($file_form_name, t('Only ' . variable_get('textbook_companion_dependency_extensions', '') . ' extensions can be uploaded.')); if ($_FILES['files']['size'][$file_form_name] <= 0) form_set_error($file_form_name, t('File size cannot be zero.')); /* check if file already exists */ /*$dep_exists_data = db_fetch_object( db_query( "SELECT * FROM {textbook_companion_dependency_files} WHERE filename = '%s' AND id != %d", $_FILES['files']['name'][$file_form_name], $form_state["values"]["dependency_id"] ) );*/ $query = db_select('textbook_companion_dependency_files'); $query->fields('textbook_companion_dependency_files'); $query->condition('filename', $_FILES['files']['name'][$file_form_name]); $query->condition('id', $form_state["values"]["dependency_id"], '<>'); $result = $query->execute(); $dep_exists_data = $result->fetchObject(); if ($dep_exists_data) form_set_error($file_form_name, t('Dendency file with the same name has already been uploaded in this or some other book. Please rename the file and try again.')); /* check if valid file name */ if (!textbook_companion_check_valid_filename($_FILES['files']['name'][$file_form_name])) form_set_error($file_form_name, t('Invalid file name specified. Only alphabets, numbers and underscore is allowed as a valid filename.')); } } } } function edit_dependency_form_submit($form, &$form_state) { global $user; $root_path = textbook_companion_path(); /* get approved book details */ /*$proposal_q = db_query("SELECT * FROM {textbook_companion_proposal} WHERE uid = %d ORDER BY id DESC LIMIT 1", $user->uid); $proposal_data = db_fetch_object($proposal_q);*/ $query = db_select('textbook_companion_proposal'); $query->fields('textbook_companion_proposal'); $query->condition('uid', $user->uid); $query->orderBy('id', 'DESC'); $query->range(0, 1); $result = $query->execute(); $proposal_data = $result->fetchObject(); if (!$proposal_data) { drupal_set_message("Please submit a " . l('proposal', 'proposal') . ".", 'error'); drupal_goto(''); } if ($proposal_data->proposal_status != 1 && $proposal_data->proposal_status != 4) { switch ($proposal_data->proposal_status) { case 0: drupal_set_message(t('We have already received your proposal. We will get back to you soon.'), 'status'); drupal_goto(''); return; break; case 2: drupal_set_message(t('Your proposal has been dis-approved. Please create another proposal ' . l('here', 'proposal') . '.'), 'error'); drupal_goto(''); return; break; case 3: drupal_set_message(t('Congratulations! You have completed your last book proposal. You have to create another proposal ' . l('here', 'proposal') . '.'), 'status'); drupal_goto(''); return; break; default: drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error'); drupal_goto(''); return; break; } } /*$preference_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND approval_status = 1 LIMIT 1", $proposal_data->id); $preference_data = db_fetch_object($preference_q);*/ $query = db_select('textbook_companion_preference'); $query->fields('textbook_companion_preference'); $query->condition('proposal_id', $proposal_data->id); $query->condition('approval_status', 1); $query->range(0, 1); $result = $query->execute(); $preference_data = $result->fetchObject(); if (!$preference_data) { drupal_set_message(t('Invalid Book Preference status. Please contact site administrator for further information.'), 'error'); drupal_goto(''); return; } $preference_id = $preference_data->id; $dest_path = $preference_id . '/'; if (!is_dir($root_path . $dest_path)) mkdir($root_path . $dest_path); $dest_path .= 'DEPENDENCIES' . '/'; if (!is_dir($root_path . $dest_path)) mkdir($root_path . $dest_path); /* uploading dependencies */ $file_upload_counter = 0; $dependency_ids = array(); $dependency_names = array(); /* deleting old dependency file if the filename changed */ /*$query = " SELECT * FROM textbook_companion_dependency_files WHERE id = %d "; $result = db_query($query, $form_state["values"]["dependency_id"]); $row = db_fetch_object($result);*/ $query = db_select('textbook_companion_dependency_files'); $query->fields('textbook_companion_dependency_files'); $query->condition('id', $form_state["values"]["dependency_id"]); $result = $query->execute(); $row = $result->fetchObject(); if ($row->filename != $_FILES["files"]["name"][$file_form_name] && $_FILES["files"]["name"][$file_form_name]) { unlink($root_path . $dest_path . $row->filename); } foreach ($_FILES['files']['name'] as $file_form_name => $file_name) { if ($file_name) { /* * uploading file * file will be overwritten if same name */ if (move_uploaded_file($_FILES['files']['tmp_name'][$file_form_name], $root_path . $dest_path . $_FILES['files']['name'][$file_form_name])) { /* updating uploaded file entry in the database */ /*db_query( "UPDATE {textbook_companion_dependency_files} SET filename = '%s', filepath = '%s', filemime = '%s', filesize = %d, caption = '%s', description = '%s', timestamp = %s WHERE id = %d", $_FILES['files']['name'][$file_form_name], $dest_path . $_FILES['files']['name'][$file_form_name], $_FILES['files']['type'][$file_form_name], $_FILES['files']['size'][$file_form_name], $form_state['values'][$file_form_name . '_caption'], $form_state['values'][$file_form_name . '_description'], time(), $form_state["values"]["dependency_id"] );*/ $query = db_update('textbook_companion_dependency_files'); $query->fields(array( 'filename' => $_FILES['files']['name'][$file_form_name], 'filepath' => $dest_path . $_FILES['files']['name'][$file_form_name], 'filemime' => $_FILES['files']['type'][$file_form_name], 'filesize' => $_FILES['files']['size'][$file_form_name], 'caption' => $form_state['values'][$file_form_name . '_caption'], 'description' => $form_state['values'][$file_form_name . '_description'], 'timestamp' => time() )); $query->condition('id', $form_state["values"]["dependency_id"]); $num_updated = $query->execute(); drupal_set_message($file_name . ' uploaded successfully.', 'status'); $dependency_ids[] = db_last_insert_id('textbook_companion_dependency_files', 'id'); $dependency_names[] = $_FILES['files']['name'][$file_form_name]; $file_upload_counter++; } else { drupal_set_message('Error uploading dependency : ' . $dest_path . '/' . $_FILES['files']['name'][$file_form_name], 'error'); } } } if ($file_upload_counter > 0) { drupal_set_message('Dependencies uploaded successfully.', 'status'); /* sending email */ $params['dependency_uploaded']['user_id'] = $user->uid; $params['dependency_uploaded']['dependency_names'] = $dependency_names; $email_to = $user->mail; if (!drupal_mail('textbook_companion', 'dependency_uploaded', $email_to, language_default(), $param, variable_get('textbook_companion_from_email', NULL), TRUE)) drupal_set_message('Error sending email message.', 'error'); } drupal_goto('textbook_companion/code/upload_dep'); } function edit_dependency($dependency_id = 0) { if ($dependency_id) { $page_content = ""; $page_content .= drupal_get_form("edit_dependency_form", $dependency_id); return $page_content; } else { drupal_goto("textbook_companion/code/upload_dep"); } } /******************** delete dependency section ********************/ function delete_dependency($dependency_id = 0, $confirm = "") { global $user; /************************ start approve book details ************************/ /*$proposal_q = db_query("SELECT * FROM {textbook_companion_proposal} WHERE uid = %d ORDER BY id DESC LIMIT 1", $user->uid); $proposal_data = db_fetch_object($proposal_q);*/ $query = db_select('textbook_companion_proposal'); $query->fields('textbook_companion_proposal'); $query->condition('uid', $user->uid); $query->orderBy('id', 'DESC'); $query->range(0, 1); $result = $query->execute(); $proposal_data = $result->fetchObject(); if (!$proposal_data) { drupal_set_message("Please submit a " . l('proposal', 'proposal') . ".", 'error'); drupal_goto(''); } if ($proposal_data->proposal_status != 1 && $proposal_data->proposal_status != 4) { switch ($proposal_data->proposal_status) { case 0: drupal_set_message(t('We have already received your proposal. We will get back to you soon.'), 'status'); drupal_goto(''); return; break; case 2: drupal_set_message(t('Your proposal has been dis-approved. Please create another proposal ' . l('here', 'proposal') . '.'), 'error'); drupal_goto(''); return; break; case 3: drupal_set_message(t('Congratulations! You have completed your last book proposal. You have to create another proposal ' . l('here', 'proposal') . '.'), 'status'); drupal_goto(''); return; break; default: drupal_set_message(t('Invalid proposal state. Please contact site administrator for further information.'), 'error'); drupal_goto(''); return; break; } } /*$preference_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE proposal_id = %d AND approval_status = 1 LIMIT 1", $proposal_data->id); $preference_data = db_fetch_object($preference_q);*/ $query = db_select('textbook_companion_preference'); $query->fields('textbook_companion_preference'); $query->condition('proposal_id', $proposal_data->id); $query->condition('approval_status', 1); $query->range(0, 1); $result = $query->execute(); $preference_data = $result->fetchObject(); if (!$preference_data) { drupal_set_message(t('Invalid Book Preference status. Please contact site administrator for further information.'), 'error'); drupal_goto(''); return; } /************************ end approve book details **************************/ $page_content = ""; if ($dependency_id && $confirm == "yes") { /* removing the dependency file from filesystem */ /*$query = " SELECT * FROM {textbook_companion_dependency_files} WHERE id = {$dependency_id} "; $result = db_query($query); $row = db_fetch_object($result);*/ $query = db_select('textbook_companion_dependency_files'); $query->fields('textbook_companion_dependency_files'); $query->condition('id', $dependency_id); $result = $query->execute(); $row = $result->fetchObject(); if ($preference_data->id == $row->preference_id) { $root_path = textbook_companion_path(); $dest_path = $row->preference_id . '/'; $dest_path .= 'DEPENDENCIES' . '/'; unlink($root_path . $dest_path . $row->filename); /* deleting entry in textbook_companion_dependency_files */ /*$query = " DELETE FROM {textbook_companion_dependency_files} WHERE id = {$dependency_id} "; db_query($query);*/ $query = db_delete('textbook_companion_dependency_files'); $query->condition('id', $dependency_id); $num_deleted = $query->execute(); /* deleting entries from textbook_companion_example_dependency */ /*$query = " DELETE FROM {textbook_companion_example_dependency} WHERE dependency_id = {$dependency_id} "; db_query($query);*/ $query = db_delete('textbook_companion_example_dependency'); $query->condition('dependency_id', $dependency_id); $num_deleted = $query->execute(); drupal_set_message("Dependency deleted successfully."); drupal_goto("textbook_companion/code/upload_dep"); } else { drupal_set_message("Cannot delete other users dependency.", "error"); drupal_goto("textbook_companion/code/upload_dep"); } } else if ($dependency_id) { /*$query = " SELECT * FROM {textbook_companion_dependency_files} WHERE id = %d "; $result = db_query($query, $dependency_id); $row = db_fetch_object($result);*/ $query = db_select('textbook_companion_dependency_files'); $query->fields('textbook_companion_dependency_files'); $query->condition('id', $dependency_id); $result = $query->execute(); $row = $result->fetchObject(); if ($preference_data->id == $row->preference_id) { $page_content .= "Are you sure you want to delete this dependency?

"; $page_content .= "Dependency filename: {$row->filename}

"; /* fetching the examples linked to this dependency */ /*$query = " SELECT * FROM textbook_companion_example_dependency dep LEFT JOIN textbook_companion_example exa ON exa.id = dep.example_id WHERE dep.id = %d "; $result = db_query($query, $dependency_id);*/ $query = db_select('textbook_companion_example_dependency', 'dep'); $query->fields('dep'); $query->leftJoin('textbook_companion_example', 'exa', 'exa.id = dep.example_id'); $query->condition('dep.id', $dependency_id); $result = $query->execute(); $list = ""; while ($row = $result->fetchObject()) { $list .= "
  • Example {$row->number}
  • "; } if ($list) { $page_content .= "List of examples linking to this dependency are:"; $page_content .= ""; } $page_content .= l("Delete dependency", "textbook_companion/code/delete_dep/{$dependency_id}/yes"); $page_content .= " | "; $page_content .= l("Cancel", "textbook_companion/code/upload_dep"); } else { drupal_set_message("Cannot delete other users dependency.", "error"); drupal_goto("textbook_companion/code/upload_dep"); } } else { drupal_goto("textbook_companion/code/upload_dep"); } return $page_content; }