summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrashant S2017-07-17 16:34:45 +0530
committerGitHub2017-07-17 16:34:45 +0530
commitb57ce9e853f3603659edf9ed4ce9233a94c8555c (patch)
tree065908b5abca67919c2eeb12445a1289b4363d9e
parent09a26ed7a3a88d3bc8a12092a26d9775957f83f3 (diff)
parent493f60e320870df2535759a5f95645323ede1f57 (diff)
downloadtextbook_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.js157
-rwxr-xr-xtextbook_companion_fixer.module72
-rw-r--r--textbook_companion_fixer_edit_book_category.inc404
-rw-r--r--textbook_companion_fixer_email.inc141
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 &raquo;</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 . "'>&laquo; 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
}