diff options
author | Prashant S | 2017-07-17 16:34:45 +0530 |
---|---|---|
committer | GitHub | 2017-07-17 16:34:45 +0530 |
commit | b57ce9e853f3603659edf9ed4ce9233a94c8555c (patch) | |
tree | 065908b5abca67919c2eeb12445a1289b4363d9e | |
parent | 09a26ed7a3a88d3bc8a12092a26d9775957f83f3 (diff) | |
parent | 493f60e320870df2535759a5f95645323ede1f57 (diff) | |
download | textbook_companion_fixer-b57ce9e853f3603659edf9ed4ce9233a94c8555c.tar.gz textbook_companion_fixer-b57ce9e853f3603659edf9ed4ce9233a94c8555c.tar.bz2 textbook_companion_fixer-b57ce9e853f3603659edf9ed4ce9233a94c8555c.zip |
Merge pull request #3 from prashantsinalkar/drupal_7.x
Added new category edit interface
-rw-r--r-- | js/textbook_companion_fixer_edit_category.js | 157 | ||||
-rwxr-xr-x | textbook_companion_fixer.module | 72 | ||||
-rw-r--r-- | textbook_companion_fixer_edit_book_category.inc | 404 | ||||
-rw-r--r-- | textbook_companion_fixer_email.inc | 141 |
4 files changed, 756 insertions, 18 deletions
diff --git a/js/textbook_companion_fixer_edit_category.js b/js/textbook_companion_fixer_edit_category.js new file mode 100644 index 0000000..545f689 --- /dev/null +++ b/js/textbook_companion_fixer_edit_category.js @@ -0,0 +1,157 @@ +(function($) { + $(document).ready(function() { + var basePath = Drupal.settings.basePath; + //var modPath = basePath + "textbook_companion_fixer/"; + var modPath = basePath + + "textbook_companion_fixer/ajax/edit-book-category/"; + $category_form = $("#fix-tbc-category-form"); + $(".main-subcategory-table-div").hide(); + + /*********************************************/ + //$('#main-subcategory-table-'+ 1).show(); + //var main_cat_chk_value = []; + $("input[name='ids[]']:checked").each(function() { + main_cat_chk_value = $(this).val(); + console.log('ooo' + main_cat_chk_value); + if (main_cat_chk_value) { + $('#main-subcategory-table-div-id-' + main_cat_chk_value).show(); + } else { + $('#main-subcategory-table-div-id-' + main_cat_chk_value).hide(); + } + }); + + $('.main-category-checkbox').change(function() { + main_cat_chk_value = $(this).val(); + if (!this.checked) + $('#main-subcategory-table-div-id-' + main_cat_chk_value).hide(); + else + $('#main-subcategory-table-div-id-' + main_cat_chk_value).show(); + }); + + $("#fix-tbc-category-form").on('click', '#btn-add', function() { + //$('#btn-add').click(function(){ + var selectID = $(this).attr("data-cid"); + console.log(selectID); + $('#subcats-' + selectID + ' option:selected').each(function() { + $('#selected-subcats-' + selectID).append("<option value='" + $(this) + .val() + "'>" + $(this).text() + "</option>"); + + /**********************/ + console.log($('.main-subcategory-' + selectID).attr('data-cid')); + var pref_id = $('.prefrence_id').val(); + var main_cat_chk_value = selectID; + var sub_cat_select_value = $(this).val(); + $.ajax({ + url: modPath, + type: "POST", + data: { + pref_id: pref_id, + main_category: main_cat_chk_value, + sub_category: sub_cat_select_value, + action: "add" + }, + dataType: "html", + success: function(data) { + //alert("Updated"); + console.log("My data:" + data); + $updating.hide(); + $done.show(); + console.log("data1: " + main_cat_chk_value + " data2: " + + sub_cat_select_value + " data3: " + pref_id); + $done.fadeOut("slow"); + //alert("ok"); + } + }); + /**********************/ + + $(this).remove(); + }); + }); + $("#fix-tbc-category-form").on('click', '#btn-remove', function() { + //$('#btn-remove').click(function(){ + var selectID = $(this).attr("data-cid"); + $('#selected-subcats-' + selectID + ' option:selected').each(function() { + $('#subcats-' + selectID).append("<option value='" + $(this).val() + + "'>" + $(this).text() + "</option>"); + var action = "delete"; + /**********************/ + var pref_id = $('.prefrence_id').val(); + var main_cat_chk_value = selectID; + var sub_cat_select_value = $(this).val(); + $.ajax({ + url: modPath, + type: "POST", + data: { + pref_id: pref_id, + main_category: main_cat_chk_value, + sub_category: sub_cat_select_value, + action: action + }, + dataType: "html", + success: function(data) { + //alert("Updated"); + console.log("My data:" + data); + $updating.hide(); + $done.show(); + console.log(action + "data1: " + main_cat_chk_value + + " data2: " + sub_cat_select_value + " data3: " + pref_id); + $done.fadeOut("slow"); + //alert("ok"); + } + }); + /**********************/ + $(this).remove(); + }); + }); + + //$("#main_cat_checkbox").change(function() { + $("#fix-tbc-category-form").on('change', '.main-category-checkbox', + function() { + var selectID = $(this).val(); + prop = $(this).prop('checked'); + if (prop) { + $('main-subcategory-table-' + selectID).show(); + } else { + if (confirm('Are you sure?')) { + alert('Thanks for confirming'); + var action = "delete-main-with-ub-category"; + var pref_id = $('.prefrence_id').val(); + var main_cat_chk_value = selectID; + console.log(action + "data1: " + main_cat_chk_value + " data2: " + + action + " data3: " + pref_id); + //ConfirmFunction(); + $.ajax({ + url: modPath, + type: "POST", + data: { + pref_id: pref_id, + main_category: main_cat_chk_value, + action: action + }, + dataType: "html", + success: function(data) { + //alert("Updated"); + location.reload(); + $('main-subcategory-table-' + selectID).hide(); + console.log("My data:" + data); + $updating.hide(); + $done.show(); + console.log(action + "data1: " + main_cat_chk_value + " data2: " + + action + " data3: " + pref_id); + $done.fadeOut("slow"); + //alert("ok"); + } + }); + } else { + alert('You have not confirmed the action'); + location.reload(); + } + } + }); + /**********************************************************************/ + }); +})(jQuery); + +function ConfirmFunction() { + confirm("Are you sure?"); +} diff --git a/textbook_companion_fixer.module b/textbook_companion_fixer.module index f08234e..e26f2ee 100755 --- a/textbook_companion_fixer.module +++ b/textbook_companion_fixer.module @@ -64,6 +64,12 @@ function textbook_companion_fixer_menu() "access callback" => TRUE, "type" => MENU_CALLBACK ); + $items["textbook_companion_fixer/ajax/edit-book-category"] = array( + "page callback" => "textbook_companion_fixer_edit_book_category_ajax", + "access callback" => TRUE, + "type" => MENU_CALLBACK, + "file" => "textbook_companion_fixer_edit_book_category.inc" + ); /* for admin */ $items['admin/settings/textbook_companion_fixer_settings'] = array( 'title' => 'textbook companion fixer Settings', @@ -78,6 +84,29 @@ function textbook_companion_fixer_menu() 'type' => MENU_NORMAL_ITEM, 'file' => 'textbook_companion_fixer_settings.inc' ); + // edit book categoery + $items["textbook_companion_fixer/edit_book_category"] = array( + "title" => "Edit Completed Books Category", + "page callback" => "textbook_companion_fixer_edit_book_proposal_all", + "access arguments" => array( + "fix scilab_textbook_category" + ), + "type" => MENU_NORMAL_ITEM, + 'file' => 'textbook_companion_fixer_edit_book_category.inc' + ); + $items['textbook_companion_fixer/category_edit'] = array( + 'title' => 'Categorize', + 'description' => 'Edit Completed Books Category', + 'page callback' => 'drupal_get_form', + 'page arguments' => array( + 'textbook_companion_fixer_category_edit_form' + ), + 'access arguments' => array( + 'fix scilab_textbook_category' + ), + 'type' => MENU_NORMAL_ITEM, + 'file' => 'textbook_companion_fixer_edit_book_category.inc' + ); return $items; } function textbook_companion_fixer_permission() @@ -94,6 +123,10 @@ function textbook_companion_fixer_permission() "administer textbook companion fixer settings" => array( "title" => t("administer textbook companion fixer settings"), 'restrict access' => TRUE + ), + "fix scilab_textbook_category" => array( + "title" => t("fix scilab textbook category"), + 'restrict access' => TRUE ) ); } @@ -538,11 +571,11 @@ function scilab_fixer_aicte_form_submit($form, &$form_state) )); $query->condition('id', $v["aicte_id"]); $num_updated = $query->execute(); - drupal_set_message("Book updated successfully", "status"); + drupal_set_message(t('Book updated successfully'), 'status'); } //$v["aicte_id"] else { $query = " - INSERT INTO textbook_companion_aicte + INSERT INTO {textbook_companion_aicte} (book, author, category, isbn, publisher, edition, year) VALUES (:book, :author, :category, :isbn, :publisher, :edition, :year) @@ -557,7 +590,7 @@ function scilab_fixer_aicte_form_submit($form, &$form_state) ':year' => $v["year"] ); $result = db_query($query, $args); - drupal_set_message("Book added successfully", "status"); + drupal_set_message(t('Book added successfully'),'status'); } } function scilab_fixer_aicte_all() @@ -721,42 +754,47 @@ function scilab_fixer_code_form($form, &$form_state) ); return $form; } -function scilab_fixer_code_all() -{ - $page_content = ""; - $page_content .= "<div id='fix-tbc-page'>"; - $page_content .= "<center><span id='updating'>Updating...</span></center>"; - $page_content .= "<span id='done'>Done.</span>"; - $scilab_fixer_code_form = drupal_get_form("scilab_fixer_code_form"); - $page_content .= drupal_render($scilab_fixer_code_form); - $page_content .= "</div>"; - return $page_content; -} function _tbc_fixer_list_of_category($category_id = NULL) { $category[0] = "Please select"; - if ($category_id == NULL) { + if ($category_id == NULL) + { $query = db_select('list_of_category'); $query->fields('list_of_category'); $query->orderBy('id', 'ASC'); $category_list = $query->execute(); } //$category_id == NULL - else { + else + { $query = db_select('list_of_category'); $query->fields('list_of_category'); $query->condition('category_id', $category_id); $query->orderBy('id', 'ASC'); $category_list = $query->execute(); } - while ($category_list_data = $category_list->fetchObject()) { + while ($category_list_data = $category_list->fetchObject()) + { $category[$category_list_data->category_id] = $category_list_data->category_name; } //$category_list_data = $category_list->fetchObject() return $category; } +function scilab_fixer_code_all() +{ + $page_content = ""; + $page_content .= "<div id='fix-tbc-page'>"; + $page_content .= "<center><span id='updating'>Updating...</span></center>"; + $page_content .= "<span id='done'>Done.</span>"; + $scilab_fixer_code_form = drupal_get_form("scilab_fixer_code_form"); + $page_content .= drupal_render($scilab_fixer_code_form); + $page_content .= "</div>"; + return $page_content; +} + function textbook_companion_fixer_init() { drupal_add_css(drupal_get_path("module", "textbook_companion_fixer") . "/css/textbook_companion_fixer.css"); drupal_add_js(drupal_get_path("module", "textbook_companion_fixer") . "/js/textbook_companion_fixer.js"); + drupal_add_js(drupal_get_path("module", "textbook_companion_fixer") . "/js/textbook_companion_fixer_edit_category.js"); //drupal_add_js(drupal_get_path("module", "scilab_fixer") . "/js/jquery-noconfilct.js"); drupal_add_js(drupal_get_path("module", "textbook_companion_fixer") . "/js/selection.js"); } diff --git a/textbook_companion_fixer_edit_book_category.inc b/textbook_companion_fixer_edit_book_category.inc new file mode 100644 index 0000000..9c534a5 --- /dev/null +++ b/textbook_companion_fixer_edit_book_category.inc @@ -0,0 +1,404 @@ +<?php +function textbook_companion_fixer_edit_book_proposal_all() +{ + //get the book count + $result = db_query("SELECT COUNT( pe.book ) AS book_count FROM {textbook_companion_preference} pe LEFT JOIN {textbook_companion_proposal} po ON pe.proposal_id = po.id WHERE po.proposal_status =3 AND pe.approval_status =1 AND pe.category>0"); + $row = $result->fetchObject(); + $book_count = $row->book_count; + $i = 1; + /* get preference */ + $preference_q = db_query("SELECT pe.id as pref_id, pe.book as book, pe.author as author,pe.category as existing_category, pe.publisher as publisher, pe.year as year, pe.id as pe_id, po.approval_date as approval_date + FROM {textbook_companion_preference} pe LEFT JOIN {textbook_companion_proposal} po ON pe.proposal_id = po.id + WHERE po.proposal_status = 3 AND pe.approval_status = 1 AND pe.category>0 ORDER BY pe.book ASC"); + while ($preference_data = $preference_q->fetchObject()) + { + $proposal_rows[] = array( + $i, + "{$preference_data->book} <br> <em>by {$preference_data->author}</em>", + _textbook_companion_fixer_list_of_category($preference_data->existing_category), + _tbc_fixer_list_of_new_category($preference_data->pref_id), + l('Edit', 'textbook_companion_fixer/category_edit/' . $preference_data->pref_id) + ); + $i++; + } //$proposal_data = $proposal_q->fetchObject() + /* check if there are any pending proposals */ + if (!$proposal_rows) + { + drupal_set_message(t('There are no proposals.'), 'status'); + return ''; + } //!$proposal_rows + $output .= "Book count with category: " . $book_count; + $proposal_header = array( + 'No.', + 'Title of the Book', + 'Existing Category', + 'New Category', + 'Action' + ); + $output .= theme('table', array( + 'header' => $proposal_header, + 'rows' => $proposal_rows + )); + return $output; +} +/******************************************************************************/ +/**************************** CATEGORY EDIT FORM ******************************/ +/******************************************************************************/ +function textbook_companion_fixer_category_edit_form($form, &$form_state) +{ + /* get current proposal */ + $preference_id = arg(2); + $query = db_select('textbook_companion_preference'); + $query->fields('textbook_companion_preference'); + $query->condition('id', $preference_id); + $preference_q = $query->execute(); + $preference_data = $preference_q->fetchObject(); + if (!$preference_data) + { + drupal_set_message(t('Invalid book selected. Please try again.'), 'error'); + drupal_goto('manage_proposal/category'); + return; + } //!$preference_data + $form["wrapper"] = array( + "#type" => "fieldset", + "#title" => "Edit the existing book category to new category", + "#prefix" => "<div id='fix-tbc-category-form'>", + "#suffix" => "</div>" + ); + $form["wrapper"]['book'] = array( + '#type' => 'item', + '#title' => t('Title of the book'), + '#markup' => $preference_data->book + ); + $form["wrapper"]['author'] = array( + '#type' => 'item', + '#title' => t('Author Name'), + '#markup' => $preference_data->author + ); + $form["wrapper"]['isbn'] = array( + '#type' => 'item', + '#title' => t('ISBN No'), + '#markup' => $preference_data->isbn + ); + $form["wrapper"]['publisher'] = array( + '#type' => 'item', + '#title' => t('Publisher & Place'), + '#markup' => $preference_data->publisher + ); + $form["wrapper"]['edition'] = array( + '#type' => 'item', + '#title' => t('Edition'), + '#markup' => $preference_data->edition + ); + $form["wrapper"]['year'] = array( + '#type' => 'item', + '#title' => t('Year of pulication'), + '#markup' => $preference_data->year + ); + $form["wrapper"]['pref_id'] = array( + '#markup' => '<input class="prefrence_id" type="hidden" name="pref_id" value="' . $preference_data->id . '">' + ); + $form["wrapper"]['main_category'] = array( + "#markup" => _textbook_companion_fixer_list_of_category_checkboxes() + ); + $form["wrapper"]['back'] = array( + '#markup' => l(t('Back'), 'textbook_companion_fixer/edit_book_category') + ); + return $form; +} +function textbook_companion_fixer_edit_book_category_ajax($item, $key) +{ + global $user; + $data = ""; + $item = arg(2); + $main_category = $_POST['main_category']; + $sub_category = $_POST['sub_category']; + if ($item == "edit-book-category") + { + if ($_POST['action'] == "add") + { + $query_in1 = " + INSERT INTO {textbook_companion_book_main_subcategories} + (pref_id, main_category, sub_category) + VALUES + (:pref_id, :main_category, :subcategory) + "; + $args_in1 = array( + ':pref_id' => $_POST['pref_id'], + ':main_category' => $main_category, + ':subcategory' => $sub_category + ); + $result_in1 = db_query($query_in1, $args_in1); + /* sending email */ + $email_to = $user->mail; + $from = variable_get('textbook_companion_from_email', ''); + $bcc = variable_get('textbook_companion_fixer_bcc_emails', ''); + $cc = variable_get('textbook_companion_fixer_cc_emails', ''); + $params['category_updated']['pref_id'] = $_POST['pref_id']; + $params['category_updated']['main_category'] = $main_category; + $params['category_updated']['sub_category'] = $sub_category; + $params['category_updated']['user_id'] = $user->uid; + $params['category_updated']['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 + ); + if (!drupal_mail('textbook_companion_fixer', 'new_category_updated', $email_to, language_default(), $params, $from, TRUE)) { + $data .= 'Error sending email message.'; + } + } //$_POST['action'] == "add" + elseif ($_POST['action'] == "delete") + { + $query_del1 = "DELETE FROM {textbook_companion_book_main_subcategories} +WHERE pref_id= :pref_id AND main_category= :main_category AND sub_category = :subcategory + "; + $args_del1 = array( + ':pref_id' => $_POST['pref_id'], + ':main_category' => $_POST['main_category'], + ':subcategory' => $_POST['sub_category'] + ); + $result_del1 = db_query($query_del1, $args_del1); + /* sending email */ + $email_to = $user->mail; + $from = variable_get('textbook_companion_from_email', ''); + $bcc = variable_get('textbook_companion_fixer_bcc_emails', ''); + $cc = variable_get('textbook_companion_fixer_cc_emails', ''); + $params['subcategory_deleted']['pref_id'] = $_POST['pref_id']; + $params['subcategory_deleted']['main_category'] = $main_category; + $params['subcategory_deleted']['sub_category'] = $sub_category; + $params['subcategory_deleted']['user_id'] = $user->uid; + $params['subcategory_deleted']['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 + ); + if (!drupal_mail('textbook_companion_fixer', 'new_subcategory_deleted', $email_to, language_default(), $params, $from, TRUE)) { + $data .= 'Error sending email message.'; + } + } //$_POST['action'] == "delete" + elseif ($_POST['action'] == "delete-main-with-ub-category") + { + $query_del2 = "DELETE FROM {textbook_companion_book_main_subcategories} +WHERE pref_id= :pref_id AND main_category= :main_category + "; + $args_del2 = array( + ':pref_id' => $_POST['pref_id'], + ':main_category' => $_POST['main_category'] + ); + $result_del2 = db_query($query_del2, $args_del2); + /* sending email */ + $email_to = $user->mail; + $from = variable_get('textbook_companion_from_email', ''); + $bcc = variable_get('textbook_companion_fixer_bcc_emails', ''); + $cc = variable_get('textbook_companion_fixer_cc_emails', ''); + $params['maincategory_deleted']['pref_id'] = $_POST['pref_id']; + $params['maincategory_deleted']['main_category'] = $main_category; + $params['maincategory_deleted']['user_id'] = $user->uid; + $params['maincategory_deleted']['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 + ); + if (!drupal_mail('textbook_companion_fixer', 'new_maincategory_deleted', $email_to, language_default(), $params, $from, TRUE)) { + $data .= 'Error sending email message.'; + } + } //$_POST['action'] == "delete-main-with-ub-category" + else + { + $data = "Not Updated"; + } + } //$item == "edit-book-category" + else + { + $data = "Not Updated"; + } + echo $data; + exit(); +} +function _tbc_fixer_list_of_category($category_id = NULL) +{ + $category[0] = "Please select"; + if ($category_id == NULL) + { + $query = db_select('list_of_category'); + $query->fields('list_of_category'); + $query->orderBy('id', 'ASC'); + $category_list = $query->execute(); + } //$category_id == NULL + else + { + $query = db_select('list_of_category'); + $query->fields('list_of_category'); + $query->condition('category_id', $category_id); + $query->orderBy('id', 'ASC'); + $category_list = $query->execute(); + } + while ($category_list_data = $category_list->fetchObject()) + { + $category[$category_list_data->category_id] = $category_list_data->category_name; + } //$category_list_data = $category_list->fetchObject() + return $category; +} +function _textbook_companion_fixer_list_of_category($category_id) +{ + $category .= ""; + $query = db_select('list_of_category'); + $query->fields('list_of_category'); + $query->condition('id', $category_id); + $category_list = $query->execute(); + while ($category_list_data = $category_list->fetchObject()) + { + $category = $category_list_data->category_name; + } //$category_list_data = $category_list->fetchObject() + return $category; +} +function _tbc_fixer_list_of_new_category($pref_id) +{ + $category = ""; + $main_category_query = " + SELECT distinct(maincategory) + FROM {list_of_category} loc + LEFT JOIN {textbook_companion_book_main_subcategories} tcbms ON loc.category_id = tcbms.main_category + LEFT JOIN {list_of_subcategory} los ON los.subcategory_id = tcbms.sub_category + WHERE tcbms.pref_id = :pref_id ORDER BY loc.category_id + "; + $args = array( + ':pref_id' => $pref_id + ); + $maincategory_list = db_query($main_category_query, $args); + $category .= "<ol>"; + while ($category_list_data = $maincategory_list->fetchObject()) + { + $category .= "<li>$category_list_data->maincategory</li>"; + $sub_category_query = " + SELECT DISTINCT (los.subcategory) + FROM {list_of_category} loc + LEFT JOIN {textbook_companion_book_main_subcategories} tcbms ON loc.category_id = tcbms.main_category + LEFT JOIN {list_of_subcategory} los ON los.subcategory_id = tcbms.sub_category + WHERE tcbms.pref_id = :pref_id and maincategory = :maincategoryvalue + "; + $sub_args = array( + ':pref_id' => $pref_id, + ':maincategoryvalue' => $category_list_data->maincategory + ); + $sub_category_list = db_query($sub_category_query, $sub_args); + while ($sub_category_list_data = $sub_category_list->fetchObject()) + { + $category .= "<ul><li>$sub_category_list_data->subcategory</li></ul>"; + } //$sub_category_list_data = $sub_category_list->fetchObject() + } //$category_list_data = $maincategory_list->fetchObject() + $category .= "</ol>"; + return $category; +} +function _tbc_fixer_list_of_ext_new_category($pref_id, $category_id) +{ + $category = ""; + $query = " + SELECT maincategory, los.subcategory as subcategory + FROM {list_of_category} loc + LEFT JOIN {textbook_companion_book_main_subcategories} tcbms + ON loc.category_id = tcbms.main_category + LEFT JOIN {list_of_subcategory} los ON los.subcategory_id = tcbms.sub_category + WHERE tcbms.pref_id = :pref_id AND loc.category_id = :category_id + "; + $args = array( + ':pref_id' => $pref_id, + ':category_id' => $category_id + ); + $category_list = db_query($query, $args); + while ($category_list_data = $category_list->fetchObject()) + { + $category .= $category_list_data->maincategory; + } //$category_list_data = $category_list->fetchObject() + return $category; +} +function _textbook_companion_fixer_list_of_category_checkboxes() +{ + $pref_id = arg(2); + $query = db_select('list_of_category'); + $query->fields('list_of_category'); + //$query->fields(array('category_id','main_category')); + $query->orderBy('category_id', 'ASC'); + $category_list = $query->execute(); + while ($category_list_data = $category_list->fetchObject()) + { + $categoryname = $category_list_data->maincategory; + if ($categoryname != null || strlen($categoryname) != 0) + { + //$category[$category_list_data->category_id] = $category_list_data->main_category; + $existing_category = _tbc_fixer_list_of_ext_new_category($pref_id, $category_list_data->category_id); + $existing_subcategory = _tbc_fixer_list_of_ext_new_subcategory($pref_id, $category_list_data->category_id); + $checked = $existing_category ? 'checked="checked"' : ''; + $category .= "<input id='main_cat_checkbox-" . $category_list_data->category_id . "' type='checkbox' name='ids[]' value='" . $category_list_data->category_id . "' class='main-category-checkbox' " . $checked . " >" . $category_list_data->maincategory . "<br> + <div id ='main-subcategory-table-div-id-" . $category_list_data->category_id . "' class='main-subcategory-table-div'><table id='main-subcategory-table-" . $category_list_data->category_id . "' class='main-subcategory-table'> + <tr> + <th>Available sub categories</th> + <th>Selected sub categories</th> + </tr> + <tr> + <td rowspan='3'><select id='subcats-" . $category_list_data->category_id . "' name='subcats' class='main-subcategory' size='10' multiple name='subcat' data-cid='" . $category_list_data->category_id . "'>" . _textbook_companion_fixer_list_of_subcategory($pref_id, $category_list_data->category_id) . "</select> + <a href='JavaScript:void(0);' id='btn-add' class='select-main-subcategory-" . $category_list_data->category_id . "' data-cid='" . $category_list_data->category_id . "'>Add »</a> + </td> + <td rowspan='3'><a href='JavaScript:void(0);' id='btn-remove' class='select-main-subcategory-" . $category_list_data->category_id . "'data-cid='" . $category_list_data->category_id . "'>« Remove</a> + <select id='selected-subcats-" . $category_list_data->category_id . "' name='subcats' class='select-main-subcategory-list' size='10' multiple name='subcat' data-cid='" . $category_list_data->category_id . "'>" . _tbc_fixer_list_of_ext_new_subcategory($pref_id, $category_list_data->category_id) . "</select> + </td> + </tr> +</table></div> + <hr>"; + } //$category_list_data = $category_list->fetchObject() + } //$category_list_data = $category_list->fetchObject() + return $category; +} +function _textbook_companion_fixer_list_of_subcategory($pref_id, $category_id) +{ + $query = " + SELECT los.subcategory_id as subcat_id,los.subcategory as sub_category + FROM list_of_subcategory los WHERE los.maincategory_id= :category_id AND los.subcategory_id + NOT IN (SELECT los.subcategory_id as sub_id from list_of_subcategory los + LEFT OUTER JOIN textbook_companion_book_main_subcategories tcbms + ON los.subcategory_id=tcbms.sub_category WHERE tcbms.pref_id= :pref_id ORDER BY sub_id) + "; + $args = array( + ':pref_id' => $pref_id, + ':category_id' => $category_id + ); + $subcategory_list = db_query($query, $args); + while ($subcategory_list_data = $subcategory_list->fetchObject()) + { + $subcategory .= "<option value='" . $subcategory_list_data->subcat_id . "' data-name='" . $subcategory_list_data->sub_category . "' data-mcid='" . $category_id . "'>" . $subcategory_list_data->sub_category . "</option>"; + } //$subcategory_list_data = $subcategory_list->fetchObject() + return $subcategory; +} +function _tbc_fixer_list_of_ext_new_subcategory($pref_id, $category_id) +{ + $subcategory = ""; + $query = " + SELECT DISTINCT (los.subcategory), maincategory, los.subcategory as subcategory, + los.subcategory_id as subcat_id FROM list_of_category loc + LEFT JOIN textbook_companion_book_main_subcategories tcbms ON loc.category_id = tcbms.main_category + LEFT JOIN list_of_subcategory los ON los.subcategory_id = tcbms.sub_category + WHERE tcbms.pref_id = :pref_id AND loc.category_id = :category_id + "; + $args = array( + ':pref_id' => $pref_id, + ':category_id' => $category_id + ); + $subcategory_list = db_query($query, $args); + while ($subcategory_list_data = $subcategory_list->fetchObject()) + { + $subcategory .= "<option value='" . $subcategory_list_data->subcat_id . "' data-name='" . $subcategory_list_data->subcategory . "' data-mcid='" . $category_id . "'>" . $subcategory_list_data->subcategory . "</option>"; + } //$category_list_data = $category_list->fetchObject() + return $subcategory; +} diff --git a/textbook_companion_fixer_email.inc b/textbook_companion_fixer_email.inc index 38df00b..833e470 100644 --- a/textbook_companion_fixer_email.inc +++ b/textbook_companion_fixer_email.inc @@ -61,7 +61,6 @@ FOSSEE, IIT Bombay', array( ); break; case 'chapter_updated': - $query = db_select('textbook_companion_chapter'); $query->fields('textbook_companion_chapter'); $query->condition('id', $params['chapter_updated']['chapter_id']);; @@ -150,5 +149,145 @@ FOSSEE, IIT Bombay', array( )) ); break; + case 'new_category_updated': + $query = db_select('textbook_companion_preference'); + $query->fields('textbook_companion_preference'); + $query->condition('id', $params['category_updated']['pref_id']); + $query->range(0, 1); + $result = $query->execute(); + $preference_data = $result->fetchObject(); + $query_mcat = db_select('list_of_category'); + $query_mcat->fields('list_of_category'); + $query_mcat->condition('category_id', $params['category_updated']['main_category']); + $query_mcat->range(0, 1); + $result_mcat = $query_mcat->execute(); + $main_category_data = $result_mcat->fetchObject(); + $query_subcat = db_select('list_of_subcategory'); + $query_subcat->fields('list_of_subcategory'); + $query_subcat->condition('subcategory_id', $params['category_updated']['sub_category']); + $query_subcat->range(0, 1); + $result_subcat = $query_subcat->execute(); + $sub_category_data = $result_subcat->fetchObject(); + $user_data = user_load($params['category_updated']['user_id']); + $message['headers'] = $params['category_updated']['headers']; + $message['subject'] = t('[!site_name][Textbook companion][category] You have updated category for textbook ' . $preference_data->book, array( + '!site_name' => variable_get('site_name', '') + ), array( + 'language' => $language->language + )); + $message['body'] = array( + 'body' => t(' +Dear !user_name, + +You have updated the category for following book : + +Title of the book : ' . $preference_data->book . ' +Author : ' . $preference_data->author. ' + +Main category : '. $main_category_data->maincategory .' +Sub category : '. $sub_category_data->subcategory .' + +Best Wishes, + +Scilab TBC Team, +FOSSEE, IIT Bombay', array( + '!site_name' => variable_get('site_name', ''), + '!user_name' => $user_data->name + ), array( + 'language' => $language->language + )) + ); + break; + case 'new_subcategory_deleted': + $query = db_select('textbook_companion_preference'); + $query->fields('textbook_companion_preference'); + $query->condition('id', $params['subcategory_deleted']['pref_id']); + $query->range(0, 1); + $result = $query->execute(); + $preference_data = $result->fetchObject(); + $query_mcat = db_select('list_of_category'); + $query_mcat->fields('list_of_category'); + $query_mcat->condition('category_id', $params['subcategory_deleted']['main_category']); + $query_mcat->range(0, 1); + $result_mcat = $query_mcat->execute(); + $main_category_data = $result_mcat->fetchObject(); + $query_subcat = db_select('list_of_subcategory'); + $query_subcat->fields('list_of_subcategory'); + $query_subcat->condition('subcategory_id', $params['subcategory_deleted']['sub_category']); + $query_subcat->range(0, 1); + $result_subcat = $query_subcat->execute(); + $sub_category_data = $result_subcat->fetchObject(); + $user_data = user_load($params['subcategory_deleted']['user_id']); + $message['headers'] = $params['subcategory_deleted']['headers']; + $message['subject'] = t('[!site_name][Textbook companion][category] You have deleted subcategory for textbook ' . $preference_data->book, array( + '!site_name' => variable_get('site_name', '') + ), array( + 'language' => $language->language + )); + $message['body'] = array( + 'body' => t(' +Dear !user_name, + +You have deleted the subcategory for following book : + +Title of the book : ' . $preference_data->book . ' +Author : ' . $preference_data->author. ' + +Main category : '. $main_category_data->maincategory .' +Sub category : '. $sub_category_data->subcategory .' + +Best Wishes, + +Scilab TBC Team, +FOSSEE, IIT Bombay', array( + '!site_name' => variable_get('site_name', ''), + '!user_name' => $user_data->name + ), array( + 'language' => $language->language + )) + ); + break; + case 'new_maincategory_deleted': + $query = db_select('textbook_companion_preference'); + $query->fields('textbook_companion_preference'); + $query->condition('id', $params['maincategory_deleted']['pref_id']); + $query->range(0, 1); + $result = $query->execute(); + $preference_data = $result->fetchObject(); + $query_mcat = db_select('list_of_category'); + $query_mcat->fields('list_of_category'); + $query_mcat->condition('category_id', $params['maincategory_deleted']['main_category']); + $query_mcat->range(0, 1); + $result_mcat = $query_mcat->execute(); + $main_category_data = $result_mcat->fetchObject(); + $user_data = user_load($params['maincategory_deleted']['user_id']); + $message['headers'] = $params['maincategory_deleted']['headers']; + $message['subject'] = t('[!site_name][Textbook companion][category] You have deleted main category for textbook ' . $preference_data->book, array( + '!site_name' => variable_get('site_name', '') + ), array( + 'language' => $language->language + )); + $message['body'] = array( + 'body' => t(' +Dear !user_name, + +You have deleted the main category with subcategory for following book : + +Title of the book : ' . $preference_data->book . ' +Author : ' . $preference_data->author. ' + +Main category : '. $main_category_data->maincategory .' + +Best Wishes, + +Scilab TBC Team, +FOSSEE, IIT Bombay', array( + '!site_name' => variable_get('site_name', ''), + '!user_name' => $user_data->name + ), array( + 'language' => $language->language + )) + ); + break; } //$key } |