summaryrefslogtreecommitdiff
path: root/bulk_code.module
diff options
context:
space:
mode:
Diffstat (limited to 'bulk_code.module')
-rwxr-xr-xbulk_code.module335
1 files changed, 335 insertions, 0 deletions
diff --git a/bulk_code.module b/bulk_code.module
new file mode 100755
index 0000000..f3fa31b
--- /dev/null
+++ b/bulk_code.module
@@ -0,0 +1,335 @@
+<?php
+
+
+ function bulk_code_menu() {
+ $items = array();
+ $items["bulk_code"] = array(
+ "title" => "Bulk code manage",
+ "page callback" => "bulk_code_all",
+ "access arguments" => array("bulk code comments"),
+ "type" => MENU_NORMAL_ITEM
+ );
+ $items["bulk_code/ajax"] = array(
+ "page callback" => "bulk_code_ajax",
+ "access callback" => TRUE,
+ "type" => MENU_CALLBACK
+ );
+ $items["bulk_code/books/ajax"] = array(
+ "page callback" => "bulk_code_books_ajax",
+ "access callback" => TRUE,
+ "type" => MENU_CALLBACK
+ );
+ // $items["bulk_code/books/all/ajax"] = array(
+ // "page callback" => "bulk_code_books_all_ajax",
+ // "access callback" => TRUE,
+ // "type" => MENU_CALLBACK
+ // );
+ // $items["bulk_code/forms/ajax"] = array(
+ // "page callback" => "bulk_code_forms_ajax",
+ // "access callback" => TRUE,
+ // "type" => MENU_CALLBACK
+ // );
+ // $items["comments/rand/ajax"] = array(
+ // "page callback" => "bulk_code_rand_refresh_ajax",
+ // "access callback" => TRUE,
+ // "type" => MENU_CALLBACK
+ // );
+ return $items;
+ }
+
+ function bulk_code_perm() {
+ return array(
+ "bulk code approve/disapprove",
+ );
+ }
+
+function bulk_code_all(){
+ $book_titles_q = db_query("
+ SELECT * FROM {textbook_companion_preference} WHERE approval_status = 1 OR approval_status = 3 ORDER BY book ASC
+ ");
+
+ $page_content .= "";
+ $page_content .= "<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script>";
+ $page_content .= "<div id = 'bulk_code_manage'>";
+ $page_content .= "";
+ $page_content .= "<form id='form_bulk_approve' method='post' class= 'form_comments'>";
+ //$page_content .= "<input type='hidden' name='postid' value=".$id.">";
+ $page_content .= "<label>";
+ $page_content .= "<span>Title of the Book: </span><br><br>";
+ $page_content.= "<select id='select_book'><option value='0'>Please Select a book</option>";
+ while ($book_titles_data = db_fetch_object($book_titles_q))
+ {
+ $page_content.= "<option value='".$book_titles_data->id."'>".$book_titles_data->book . ' (Written by ' . $book_titles_data->author . ')'."</option>";
+ }
+ $page_content .= "</select>";
+ $page_content .= "<div id= 'download_entire_book'></div>";
+ $page_content .= "<div id= 'download_entire_chapter'></div>";
+ $page_content .= "<div id= 'download_entire_example'></div>";
+ $page_content .= "<div id= 'disapprove_textrea'>";
+ $page_content .= "<label>If Dis-Approved please specify reason for Dis-Appr…</label>";
+ $page_content .= "<textarea id='dis_approve' rows='5' cols='60'></textarea></div>";
+ $page_content .= "<input type='submit' value='Submit' class= 'submit_form_bulk_approve' >";
+ $page_content .= "</form>";
+ $page_content .= "</div>";
+
+ return $page_content;
+ }
+
+ function bulk_code_ajax() {
+ $data = "";
+ //$value =$_POST['value'];
+ if(isset($_POST['id']) && isset($_POST['type'])){
+ $type =mysql_real_escape_string($_POST['type']);
+ $id =mysql_real_escape_string($_POST['id']);
+ }
+ //$chapter_id =
+ if($type== "select_book"){
+ $query= "
+ SELECT * FROM {textbook_companion_chapter} WHERE preference_id = %d ORDER BY number ASC
+ ";
+ $book_chapters_q= db_query($query, $id);
+ $data .= "<br>";
+ $data .= "<span><a href= 'full_download/book/".$id."'>Download</a> (Download all the approved and unapproved examples of the entire book) </span><br>";
+ $data .= "<span><a href= 'textbook_companion/generate_book/".$id."/1'>Download PDF</a> (Download PDF of all the approved and unapproved examples of the entire book) </span><br>";
+ $data .= "<span><a href= 'textbook_companion/delete_book/".$id."'>Regenerate PDF</a> (Manually Regenerate PDF of the entire book) </span><br><br>";
+ $data .= "<input type='radio' class = 'form_action' name='approve_disaprave_book' value='1'>Approve Entire Book<br>";
+ $data .= "<input type='radio' class = 'form_action' name='approve_disaprave_book' value='4'>Delete Entire Book Including Proposal<br><br>";
+ echo $data;
+ exit();
+ }else {
+
+ $data .= "Please try again";
+ echo json_encode($data);
+ exit();
+ }
+
+ }
+
+ function bulk_code_books_ajax() {
+ global $user;
+ $data .= "";
+ if(isset($_POST['pref_id']) && isset($_POST['action'])){
+ $pref_id = mysql_real_escape_string($_POST['pref_id']);
+ $action = mysql_real_escape_string($_POST['action']);
+ $disapproval_reason = mysql_real_escape_string($_POST['dis_approve_reason']);
+ }
+ if($action == 1)
+ {
+ $data .= "";
+ /* approving entire book */
+ $chapter_q = db_query("SELECT * FROM {textbook_companion_chapter} WHERE preference_id = %d", $pref_id);
+ while ($chapter_data = db_fetch_object($chapter_q))
+ {
+ db_query("UPDATE {textbook_companion_example} SET approval_status = 1, approver_uid = %d WHERE chapter_id = %d AND approval_status = 0", $user->uid, $chapter_data->id);
+ }
+ $email_subject = t('Your uploaded examples have been approved');
+ $email_body = t('Your all the uploaded examples for the book have been approved.');
+ if ($email_subject)
+ {
+ $email_to = $user->mail;
+ $param['standard']['subject'] = $email_subject;
+ $param['standard']['body'] = $email_body;
+ if (!drupal_mail('textbook_companion', 'standard', $email_to, language_default(), $param, variable_get('textbook_companion_from_email', NULL), TRUE))
+ $data .='Error sending email message.';
+ }
+ $data .= "Approved Entire Book";
+ echo $data;
+ exit();
+
+ }elseif($action == 4){
+ $root_path = textbook_companion_path();
+ $data .= "";
+ /* check if dependency files are present */
+ // $dep_q = db_query("SELECT * FROM {textbook_companion_dependency_files} WHERE preference_id = %d", $pref_id);
+ // if ($dep_data = db_fetch_object($dep_q))
+ // {
+ // drupal_set_message(t("Cannot delete book since it has dependency files that can be used by others. First delete the dependency files before deleing the Book."), 'error');
+
+ // }
+ if (delete_books($pref_id))
+ {
+ $dir_path = $root_path . $pref_id;
+ if (is_dir($dir_path))
+ {
+ $res = rmdir($dir_path);
+ if (!$res)
+ {
+ $data .= "Cannot delete Book directory : " . $dir_path . ". Please contact administrator.";
+ echo $data;
+ exit();
+ }
+ } else {
+ $data = "Book directory not present : " . $dir_path . ". Skipping deleting book directory.";
+ echo $data;
+ exit();
+ }
+ /* deleting preference and proposal */
+ $preference_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE id = %d", $pref_id);
+ $preference_data = db_fetch_object($preference_q);
+ $proposal_id = $preference_data->proposal_id;
+ db_query("DELETE FROM {textbook_companion_preference} WHERE proposal_id = %d", $proposal_id);
+ db_query("DELETE FROM {textbook_companion_proposal} WHERE id = %d", $proposal_id);
+ $data .= 'Deleted Book Proposal.';
+ /* email */
+ $email_subject = t('Your uploaded examples including the book proposal have been deleted');
+ $email_body = t('Your all the uploaded examples including the book have been deleted permanently.
+
+Reason for deletion:
+
+' . $disapproval_reason);
+ if ($email_subject)
+ {
+ $email_to = $user->mail;
+ $param['standard']['subject'] = $email_subject;
+ $param['standard']['body'] = $email_body;
+ if (!drupal_mail('textbook_companion', 'standard', $email_to, language_default(), $param, variable_get('textbook_companion_from_email', NULL), TRUE))
+ $data .='Error sending email message.';
+ echo $data;
+ exit();
+ }
+
+ } else {
+ $data .= "Error Dis-Approving and Deleting Entire Book.";
+ echo $data;
+ exit();
+ }
+
+ }
+}
+
+// function bulk_code_books_all_ajax($id) {
+// $data = "";
+// $base_url = $GLOBALS['base_url']. '/sites/all/modules/tbc_comments/image/';
+// $comment_query = db_query("
+// SELECT * FROM tbc_comments WHERE post_id = %s ORDER BY id DESC
+// ");
+// $data .= "<h2>Comments.....</h2>";
+// $data .= "<div id='comment-block_".$id."' class='comment-block'>";
+// while ($comments_data = db_fetch_object($comment_query,$id)) {
+// $data .= "<div class='comment-item'>";
+// $data .= "<div class='comment-avatar'>";
+// $data .= "<img src='".$base_url."default_avatar.gif' alt='avatar'>";
+// $data .= "</div>";
+// $data .= "<div class='comment-post'>";
+// $data .= "<h3>".$comments_data->name."<span> said.... </span></h3><div style='float:right;margin-top: -27px;margin-right: -81px;'>".$comments_data->date."</div>";
+// $data .= "<p>".$comments_data->comment."</p>";
+// $data .= "</div></div>";
+// }
+// $data .= "</div>";
+// echo $data;
+// exit();
+
+// }
+
+// function bulk_code_forms_ajax($id){
+// $id = $_POST['id'];
+// $data = "";
+
+
+
+// $base_url = $GLOBALS['base_url']. '/sites/all/modules/tbc_comments/image/';
+// $comment_query = db_query("
+// SELECT * FROM tbc_comments WHERE post_id = %d ORDER BY id DESC LIMIT 15
+// ", $id);
+
+// $data .= "<div id ='close_button_".$id."' class = 'close_box'>&#x2716;</div>";
+// $data .= "<h2>Comments.....</h2>";
+// $data .= "<div id='comment-block' class='comment-block'>";
+// while ($comments_data = db_fetch_object($comment_query)) {
+// $data .= "<div class='comment-item' id = 'comment-item_".$comments_data->id."'>";
+// $data .= "<div class='comment-avatar'>";
+// $data .= "<img src='".$base_url."default_avatar.gif' alt='avatar'>";
+// $data .= "</div>";
+// $data .= "<div class='comment-post'>";
+// $data .= "<h3>".$comments_data->name."<span> said....</span></h3><div style='float:right;margin-top: -27px;margin-right: -81px;'>".$comments_data->date."</div>";
+// $data .= "<p>".$comments_data->comment."</p>";
+// $data .= "</div></div>";
+// }
+// $data .= "</div>";
+// $data .= "<form id='form_".$id."' method='post' class= 'form_comments' data-fid='".$id."'>";
+// $data .= "<input type='hidden' name='postid' value=".$id.">";
+// $data .= "<label>";
+// $data .= "<span>Name *</span>";
+// $data .= "<input type='text' name='name' id='comment-name' class= 'form_input' placeholder='Your name here.... 'required>";
+// $data .= "</label><label>";
+// $data .= "<span>Email *</span>";
+// $data .= "<input type='email' name='mail' id='comment-mail' class= 'form_input' placeholder='Your mail here....' required>";
+// $data .= " </label><label>";
+// $data .= "<input type='checkbox' name='notify' value='1'>";
+// $data .= "<span> I want to be notified. </span>";
+// $data .= " </label><label>";
+// $data .= "<span>Your comment *</span>";
+// $data .= " <textarea name='comment' id='comment' cols='30' rows='10' class= 'form_input' placeholder='Type your comment here....' required></textarea>";
+// $data .= "</label>";
+// $data .= " <input type='submit' id='submit_".$id."' value='Submit Comment' class= 'submit_form' data-sid = '".$id."' >";
+// $data .= "</form>";
+// $data .= "<div id = 'rand_fun' style='margin-top:-49px'>";
+// $num1 =rand (1,5);
+// $num2 =rand (1,5);
+// $num3 = $num1 + $num2;
+// $data .= "<label>";
+// $data .= "<font style='color:red'>".$num1. " + ". $num2. "</font>&nbsp;&nbsp;&nbsp;(Are you human, or spambot?)*";
+// $data .= "</label>";
+// $data .= "<input type='text' name='rand_num' id='rand_num' class= 'num_input' data-num= '".$num3."' placeholder='Enter the total of above numbers here.... ' required></div>";
+// $data .= "</div></div>";
+
+// echo $data;
+
+
+// exit();
+// }
+
+// function bulk_code_rand_refresh_ajax(){
+// $data = "";
+// $num1 =rand (1,5);
+// $num2 =rand (1,5);
+// $num3 = $num1 + $num2;
+// $data .= "<div id = 'rand_fun' style='margin-top:-49px'>";
+// $data .= "<label>";
+// $data .= "<font style='color:red'>".$num1. " + ". $num2. "</font>&nbsp;&nbsp;&nbsp;(Are you human, or spambot?)*";
+// $data .= "</label>";
+// $data .= "<input type='text' name='rand_num' id='rand_num' class= 'num_input' data-num= '".$num3."' placeholder='Enter the total of above numbers here.... ' required></div>";
+// echo $data;
+// exit();
+
+// }
+
+ function bulk_code_init() {
+ //drupal_add_css(drupal_get_path("module", "tbc_comments") . "/css/tbc_comments_styles.css");
+ //drupal_add_css(drupal_get_path("module", "tbc_comments") . "/css/tbc_comments.css");
+ drupal_add_js(drupal_get_path("module", "bulk_code") . "/js/bulk_code_ajax.js");
+ drupal_add_js(drupal_get_path("module", "bulk_code") . "/js/jquery-1.4.1.min.js");
+ drupal_add_js(drupal_get_path("module", "bulk_code") . "/js/jquery-1.2.6.min.js");
+
+
+ }
+
+
+function delete_books($book_id)
+{
+ $status = TRUE;
+ $root_path = textbook_companion_path();
+
+ $preference_q = db_query("SELECT * FROM {textbook_companion_preference} WHERE id = %d", $book_id);
+ $preference_data = db_fetch_object($preference_q);
+ if (!$preference_data)
+ {
+ drupal_set_message('Invalid book.', 'error');
+ return FALSE;
+ }
+
+ /* delete chapters */
+ $chapter_q = db_query("SELECT * FROM {textbook_companion_chapter} WHERE preference_id = %d", $preference_data->id);
+ while ($chapter_data = db_fetch_object($chapter_q))
+ {
+ if (!delete_chapter($chapter_data->id))
+ {
+ $status = FALSE;
+ }
+ }
+ return $status;
+}
+
+?>
+
+