diff options
author | prashant | 2016-01-30 12:25:22 +0530 |
---|---|---|
committer | prashantsinalkar | 2016-01-30 13:05:18 +0530 |
commit | 205c03ca3b0c7caaf42ba2e7649edd4ee06ccc44 (patch) | |
tree | 7e4b74e141452039fe6d5618cd058d2a2e696e75 /dependency.inc | |
parent | 96743e5f2674f353030512da2a58db05658912c2 (diff) | |
download | DWSIM_textbook_companion-205c03ca3b0c7caaf42ba2e7649edd4ee06ccc44.tar.gz DWSIM_textbook_companion-205c03ca3b0c7caaf42ba2e7649edd4ee06ccc44.tar.bz2 DWSIM_textbook_companion-205c03ca3b0c7caaf42ba2e7649edd4ee06ccc44.zip |
Done minor changes and added submit all code notification for tbc reviver interface
Diffstat (limited to 'dependency.inc')
-rwxr-xr-x | dependency.inc | 1414 |
1 files changed, 768 insertions, 646 deletions
diff --git a/dependency.inc b/dependency.inc index a76d428..c99da1d 100755 --- a/dependency.inc +++ b/dependency.inc @@ -1,688 +1,810 @@ <?php // $Id$ - function upload_dependency_form($form_state) -{ - 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); - 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); - if (!$preference_data) - { - drupal_set_message(t('Invalid Book Preference status. Please contact site administrator for further information.'), 'error'); - drupal_goto(''); - return; + 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 **************************/ + $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; } - /************************ end approve book details **************************/ - - $form['#attributes'] = array('enctype' => "multipart/form-data"); - - $form['book_details']['book'] = array( - '#type' => 'item', - '#value' => $preference_data->book, - '#title' => t('Title of the Book'), - ); - $form['contributor_name'] = array( - '#type' => 'item', - '#value' => $proposal_data->full_name, - '#title' => t('Contributor Name'), - ); - - $form['existing_depfile'] = array( - '#type' => 'item', - '#value' => _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' => 'markup', - '#value' => 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); - - 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) + 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'])) { - $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])); - 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.')); + /* 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); - if (!$proposal_data) +function upload_dependency_form_submit($form, &$form_state) { - 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); - 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])) + 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) { - /* 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() - ); - 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'); + drupal_set_message("Please submit a " . l('proposal', 'proposal') . ".", 'error'); + drupal_goto(''); } - } - } - - if ($file_upload_counter > 0) - { - drupal_set_message('Dependencies uploaded successfully.', 'status'); - - /* sending email */ - $param['dependency_uploaded']['user_id'] = $user->uid; - $param['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'); + 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 */ + $param['dependency_uploaded']['user_id'] = $user->uid; + $param['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'); } - - drupal_goto('textbook_companion/code/upload_dep'); -} - function _list_existing_dependency($book_id) -{ - // $return_html = '<ul>'; - $return_html = ""; - $query = "SELECT * FROM textbook_companion_dependency_files WHERE preference_id = %d ORDER BY filename ASC"; - $result = db_query($query, $book_id); - - // $counter = 0; - // while ($row = db_fetch_object($query)) - // { - // $temp_caption = ''; - // if ($row->caption) - // $temp_caption = ' (' . $row->caption . ')'; - // $return_html .= '<li>' . l($row->filename . $temp_caption, 'download/dependency/' . $row->id) . '</li>'; - // $counter++; - // } - // if ($counter == 0) - // $return_html .= '<li>(None)</li>'; - // $return_html .= '</ul>'; - - $headers = array( - "File", "Action", - ); - $rows = array(); - while($row = db_fetch_object($result)) { - $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}") + { + // $return_html = '<ul>'; + $return_html = ""; + /*$query = "SELECT * FROM textbook_companion_dependency_files WHERE preference_id = %d ORDER BY filename ASC"; + $result = db_query($query, $book_id);*/ + $query = db_select('textbook_companion_dependency_files'); + $query->fields('textbook_companion_dependency_files'); + $query->condition('preference_id', $book_id); + $query->orderBy('filename', 'ASC'); + $result = $query->execute(); + // $counter = 0; + // while ($row = db_fetch_object($query)) + // { + // $temp_caption = ''; + // if ($row->caption) + // $temp_caption = ' (' . $row->caption . ')'; + // $return_html .= '<li>' . l($row->filename . $temp_caption, 'download/dependency/' . $row->id) . '</li>'; + // $counter++; + // } + // if ($counter == 0) + // $return_html .= '<li>(None)</li>'; + // $return_html .= '</ul>'; + $headers = array( + "File", + "Action" ); - array_push($rows, $item); + $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; } - $return_html .= theme("table", $headers, $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); - if (!$proposal_data) +function edit_dependency_form($form_state, $dependency_id = 0) { - 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); - 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 = " + 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); - - $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; -} - + "; + $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) + global $user; + if (isset($_FILES['files'])) { - $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"] - ) - ); - - 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.')); + /* 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); - 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) +function edit_dependency_form_submit($form, &$form_state) { - 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); - 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 = " + 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); - 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])) + "; + $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]) { - /* 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"] - ); - - 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'); + 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 */ + $param['dependency_uploaded']['user_id'] = $user->uid; + $param['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'); } - - if ($file_upload_counter > 0) +function edit_dependency($dependency_id = 0) { - drupal_set_message('Dependencies uploaded successfully.', 'status'); - - /* sending email */ - $param['dependency_uploaded']['user_id'] = $user->uid; - $param['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"); + 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); - 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) +function delete_dependency($dependency_id = 0, $confirm = "") { - 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); - 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); - - 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} + 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} "; - db_query($query); - - /* deleting entries from textbook_companion_example_dependency */ - $query = " - DELETE FROM {textbook_companion_example_dependency} - WHERE dependency_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 "; - db_query($query); - - 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); - - - if($preference_data->id == $row->preference_id) { - $page_content .= "Are you sure you want to delete this dependency?<br><br>"; - $page_content .= "Dependency filename: <b>{$row->filename}</b><br><br>"; - - /* 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); - $list = ""; - while($row = db_fetch_object($result)) { - $list .= "<li>Example {$row->number}</li>"; + $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?<br><br>"; + $page_content .= "Dependency filename: <b>{$row->filename}</b><br><br>"; + /* 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 .= "<li>Example {$row->number}</li>"; + } + if ($list) + { + $page_content .= "List of examples linking to this dependency are:"; + $page_content .= "<ul>{$list}</ul>"; + } + $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"); + } } - if($list) { - $page_content .= "List of examples linking to this dependency are:"; - $page_content .= "<ul>{$list}</ul>"; + else + { + drupal_goto("textbook_companion/code/upload_dep"); } - $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; } - return $page_content; -} |