diff options
Diffstat (limited to 'bulk_code.module')
-rwxr-xr-x | bulk_code.module | 335 |
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'>✖</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> (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> (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; +} + +?> + + |