diff options
Diffstat (limited to 'dependency.inc')
-rwxr-xr-x | dependency.inc | 1491 |
1 files changed, 707 insertions, 784 deletions
diff --git a/dependency.inc b/dependency.inc index 5d6b3cc..960cd6f 100755 --- a/dependency.inc +++ b/dependency.inc @@ -1,887 +1,810 @@ <?php // $Id$ - -function upload_dependency_form($form,&$form_state) +function upload_dependency_form($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);*/ - + 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', 'book_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', 'book_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', 'book_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);*/ + $proposal_data = $result->fetchObject(); + if (!$proposal_data) + { + drupal_set_message("Please submit a " . l('proposal', 'book_proposal') . ".", 'error'); + drupal_goto(''); + } //!$proposal_data + 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', 'book_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', 'book_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; + } //$proposal_data->proposal_status + } //$proposal_data->proposal_status != 1 && $proposal_data->proposal_status != 4 + /*$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' => 'markup', - '#value' => l(t('Back'), 'textbook_companion/code/upload'), - ); - return $form; + $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_data + /************************ 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' => '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);*/ - + 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->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.')); - } - } - } + $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.')); + } //$file_name + } //$_FILES['files']['name'] as $file_form_name => $file_name + } //isset($_FILES['files']) } - -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);*/ - +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', 'book_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', 'book_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', 'book_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);*/ - + $proposal_data = $result->fetchObject(); + if (!$proposal_data) + { + drupal_set_message("Please submit a " . l('proposal', 'book_proposal') . ".", 'error'); + drupal_goto(''); + } //!$proposal_data + 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', 'book_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', 'book_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; + } //$proposal_data->proposal_status + } //$proposal_data->proposal_status != 1 && $proposal_data->proposal_status != 4 + /*$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) + $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_data + $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(), + $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'); + $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++; + } //move_uploaded_file($_FILES['files']['tmp_name'][$file_form_name], $root_path . $dest_path . $_FILES['files']['name'][$file_form_name]) + else + { + drupal_set_message('Error uploading dependency : ' . $dest_path . '/' . $_FILES['files']['name'][$file_form_name], 'error'); + } + } //$file_name + } //$_FILES['files']['name'] as $file_form_name => $file_name + 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'); + } //$file_upload_counter > 0 + 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);*/ - + // $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(); - - $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; + $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); + } //$row = $result->fetchObject() + $return_html .= theme("table", array( + "headers" => $headers, + "rows" => $rows + )); + return $return_html; } - /******************** edit dependency section ********************/ - -function edit_dependency_form($form_state, $dependency_id=0) +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);*/ - + 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);*/ - + $proposal_data = $result->fetchObject(); + if (!$proposal_data) + { + drupal_set_message("Please submit a " . l('proposal', 'proposal') . ".", 'error'); + drupal_goto(''); + } //!$proposal_data + 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; + } //$proposal_data->proposal_status + } //$proposal_data->proposal_status != 1 && $proposal_data->proposal_status != 4 + /*$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);*/ - + $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_data + /************************ 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; + $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.')); - } - } - } + 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.')); + } //$file_name + } //$_FILES['files']['name'] as $file_form_name => $file_name + } //isset($_FILES['files']) } - -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);*/ - +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);*/ - + $proposal_data = $result->fetchObject(); + if (!$proposal_data) + { + drupal_set_message("Please submit a " . l('proposal', 'proposal') . ".", 'error'); + drupal_goto(''); + } //!$proposal_data + 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; + } //$proposal_data->proposal_status + } //$proposal_data->proposal_status != 1 && $proposal_data->proposal_status != 4 + /*$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);*/ - + $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_data + $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 */ - $from = variable_get('textbook_companion_from_email', ''); - $bcc= variable_get('textbook_companion_emails', ''); - $cc=variable_get('textbook_companion_cc_emails', ''); - $params['dependency_uploaded']['user_id'] = $user->uid; - $params['dependency_uploaded']['dependency_names'] = $dependency_names; - $params['dependency_uploaded']['headers']=array('From'=>$from,'MIME-Version'=> '1.0', - 'Content-Type'=> 'text/plain; charset=UTF-8; format=flowed; delsp=yes', - 'Content-Transfer-Encoding' => '8Bit', - 'X-Mailer'=> 'Drupal','Cc' => $cc, 'Bcc' => $bcc); - - $email_to = $user->mail; - if (!drupal_mail('textbook_companion', 'dependency_uploaded', $email_to, language_default(), $params, $from, TRUE)) - drupal_set_message('Error sending email message.', 'error'); - } - - drupal_goto('textbook_companion/code/upload_dep'); + if ($row->filename != $_FILES["files"]["name"][$file_form_name] && $_FILES["files"]["name"][$file_form_name]) + { + unlink($root_path . $dest_path . $row->filename); + } //$row->filename != $_FILES["files"]["name"][$file_form_name] && $_FILES["files"]["name"][$file_form_name] + 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++; + } //move_uploaded_file($_FILES['files']['tmp_name'][$file_form_name], $root_path . $dest_path . $_FILES['files']['name'][$file_form_name]) + else + { + drupal_set_message('Error uploading dependency : ' . $dest_path . '/' . $_FILES['files']['name'][$file_form_name], 'error'); + } + } //$file_name + } //$_FILES['files']['name'] as $file_form_name => $file_name + if ($file_upload_counter > 0) + { + drupal_set_message('Dependencies uploaded successfully.', 'status'); + /* sending email */ + $from = variable_get('textbook_companion_from_email', ''); + $bcc = variable_get('textbook_companion_emails', ''); + $cc = variable_get('textbook_companion_cc_emails', ''); + $params['dependency_uploaded']['user_id'] = $user->uid; + $params['dependency_uploaded']['dependency_names'] = $dependency_names; + $params['dependency_uploaded']['headers'] = array( + 'From' => $from, + 'MIME-Version' => '1.0', + 'Content-Type' => 'text/plain; charset=UTF-8; format=flowed; delsp=yes', + 'Content-Transfer-Encoding' => '8Bit', + 'X-Mailer' => 'Drupal', + 'Cc' => $cc, + 'Bcc' => $bcc + ); + $email_to = $user->mail; + if (!drupal_mail('textbook_companion', 'dependency_uploaded', $email_to, language_default(), $params, $from, TRUE)) + drupal_set_message('Error sending email message.', 'error'); + } //$file_upload_counter > 0 + 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"); - } +function edit_dependency($dependency_id = 0) +{ + if ($dependency_id) + { + $page_content = ""; + $page_content .= drupal_get_form("edit_dependency_form", $dependency_id); + return $page_content; + } //$dependency_id + 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);*/ - +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', 'book_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', 'book_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', 'book_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);*/ - + $proposal_data = $result->fetchObject(); + if (!$proposal_data) + { + drupal_set_message("Please submit a " . l('proposal', 'book_proposal') . ".", 'error'); + drupal_goto(''); + } //!$proposal_data + 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', 'book_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', 'book_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; + } //$proposal_data->proposal_status + } //$proposal_data->proposal_status != 1 && $proposal_data->proposal_status != 4 + /*$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?<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"); - } - } else { - drupal_goto("textbook_companion/code/upload_dep"); - } - return $page_content; + $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_data + /************************ 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"); + } //$preference_data->id == $row->preference_id + else + { + drupal_set_message("Cannot delete other users dependency.", "error"); + drupal_goto("textbook_companion/code/upload_dep"); + } + } //$dependency_id && $confirm == "yes" + 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?<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>"; + } //$row = $result->fetchObject() + if ($list) + { + $page_content .= "List of examples linking to this dependency are:"; + $page_content .= "<ul>{$list}</ul>"; + } //$list + $page_content .= l("Delete dependency", "textbook_companion/code/delete_dep/{$dependency_id}/yes"); + $page_content .= " | "; + $page_content .= l("Cancel", "textbook_companion/code/upload_dep"); + } //$preference_data->id == $row->preference_id + else + { + drupal_set_message("Cannot delete other users dependency.", "error"); + drupal_goto("textbook_companion/code/upload_dep"); + } + } //$dependency_id + else + { + drupal_goto("textbook_companion/code/upload_dep"); + } + return $page_content; } |