function get_dept_data() { $depts = get_depts(); foreach ($depts as &$dept) { $dept->eval_sections = get_sections($dept->id); foreach ($dept->eval_sections as &$section) { $section->questions = get_questions($section->id); } } return serialize($depts); }
function setup_folios2eval() { if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.')); } if (isset($_POST['folios2eval'])) { global $wpdb; $folios_table_name = "wp_seufolios_folios2eval"; $sql = "DELETE FROM {$folios_table_name} WHERE deptid=" . $_POST['dept_id']; $result = $wpdb->query($wpdb->prepare($sql)); foreach ($_POST['folios2eval'] as $key => $value) { $wpdb->insert($folios_table_name, array('blogid' => $value, 'deptid' => $_POST['dept_id']), array('%d', '%d')); } } ?> <style> #folios_list { margin:1em 0 0 1em; } </style> <div class="wrap"> <h2>Select portfolios for evaluation</h2> <p style='max-width:500px;'>Pick all of the portfolios that your department needs to evaluate this round. All of the portfolios that you pick will show up on the faculty guide page.</p> <p>Create a guide page by adding the shortcode to a page on the main site.<pre>[folios2eval]</pre>Just be sure to hide the page from everyone but Professors</p> <div id="choose_dept"> <form name="folios2eval_choose_dept" id="folios2eval_choose_dept"> <select name="folios2eval_dept_select" id="folios2eval_dept_select"> <option value="0">--Select a Department--</option> <?php $depts = get_depts(); foreach ($depts as $dept) { echo "<option value='{$dept->id}'> {$dept->name}</option>\n"; } ?> </select> </form> </div> <div id="folios_list"> </div> </div><!--/wrap--> <script> jQuery('#folios2eval_dept_select').change(function() { var b = jQuery(this).attr('value'); jQuery.post( ajaxurl, { 'action':'folios2eval_select_dept', 'data': b }, function (response) { jQuery('#folios_list').html(response); }); }); </script> <?php }
return $base; } } return false; } $wp_path = seu_get_wp_config_path(); //load WP features include_once $wp_path . '/wp-config.php'; include_once $wp_path . '/wp-load.php'; include_once $wp_path . '/wp-includes/wp-db.php'; //load eval sections global $wpdb; $dept_id = get_user_major(); //get_option('student_major');//changed to site option feature //get_user_meta( $_GET['studentid'], 'major', false ); //find the major abbr of the blog $depts = get_depts(); foreach ($depts as $dept) { if ($dept_id[0] == $dept->id) { $major_abbr = $dept->abbr; } } //sql query for eval sections from dept $sections_table_name = "wp_seufolios_eval_sections"; $sql = "SELECT * FROM {$sections_table_name} WHERE dept_id = {$dept_id['0']} ORDER BY order_loc ASC"; $sections = $wpdb->get_results($sql); //sql query for eval questions from sections $questions_table_name = "wp_seufolios_eval_questions"; foreach ($sections as $section) { $sql = "SELECT * FROM {$questions_table_name} WHERE section_id = {$section->id} ORDER BY order_loc ASC"; $questions[$section->id] = $wpdb->get_results($sql); }
function control_evaluation_questions() { //creates the evaluation network admin page if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.')); } $q_types = get_question_types(); ?> <style> div.main_group { float:left; margin:0 1% 0 0; } div.wrap {width:95%; } div#sections {width: 30%; } div#questions {width: 68%; } table.seufolios { border-spacing:0; } table.seufolios th, table.seufolios td { text-align:left; padding-right:2em; } table.seufolios th { background-color: #FFF; border-bottom:thin solid gray; } table.seufolios td { padding:0.5em 1em; } table.seufolios tr { background-color: #EFEFEF; } table.seufolios tr.selected { background-color:#FFF !important; font-weight:bold; } table.seufolios tr.editing td { padding: 0.25em 0.25em !important; } table.seufolios td.question { width:200px; } td.desc { font-size:0.8em; font-weight:400; color:gray; } td.title {padding-left:5px;} td.butts {width:82px;} div#sections_form, div#questions_form { display:none; } form * {vertical-align:middle;} form.inline * {padding:0; margin:0; height:20px;} .align_right {text-align:right; margin-right:2em;} </style> <div class="wrap"> <h2>Department Evaluations</h2> <div id="choose_dept"> <form name="choose_dept" id="choose_dept"> <select name="dept_select" id="dept_select"> <option value="0">--Select a Department--</option> <?php $depts = get_depts(); foreach ($depts as $dept) { echo "<option value='{$dept->id}'> {$dept->name}</option>\n"; } ?> </select> </form> </div> <!--Sections--> <div id="sections" class="main_group"> <div id="sections_list"> </div> <div id="sections_form"> <h3>Add New Evaluation Section</h3> <form name="add_new_sec" id="add_new_sec" method="POST"> <table> <tr> <td class="align_right"><label for="sec_title">Title</label></td><td><input type="text" name="sec_title" size="10"></td> </tr><tr> <td class="align_right"><label for="sec_description">Description</label></td><td><input type="text" name="sec_description"></td> </tr><tr> <td class="align_right"><label for="sec_order">Order Placement</label></td><td><input type="text" name="sec_order" size="2"></td> </tr><tr> <td class="align_right"></td><td><input type="submit" value="Add Section" /></td> </tr></table> </form> </div> </div> <!--Questions--> <div id="questions" class="main_group"> <div id="questions_list"> </div> <div id="questions_form"> <h3>Add New Question</h3> <form name="add_new_question" id="add_new_question" method="POST"> <input type="hidden" name="sec_id" id="sec_id" value=""> <table> <tr> <td class="align_right"><label for="ques_slug">Slug (no spaces)</label></td><td><input type="text" name="ques_slug" size="10"></td> </tr><tr> <td class="align_right"><label for="ques_question">Question text</label></td><td><textarea name="ques_question" id="ques_question" cols="40" rows="3"></textarea></td> </tr><tr> <td class="align_right"><label for="ques_type">Type</label></td><td><select name="ques_type"> <?php $c = 0; foreach ($q_types as $q) { $c++; echo "<option value='{$q->id}'" . ($c == 1 ? " selected" : "") . ">{$q->displayName}</option>\n"; } ?> </select></td> </tr><tr> <td class="align_right"><label for="ques_enabled">Enabled</label></td><td><input type="checkbox" value="checked" name="ques_enabled"></td> </tr><tr> <td class="align_right"><label for="ques_order">Order Placement</label></td><td><input type="text" name="ques_order" size="2"></td> </tr><tr> <td class="align_right"></td><td><input type="submit" value="Add Section" /></td> </tr></table> </form> </div> <!--questions-form--> </div> <!--questions--> </div> <script> //Department Select jQuery('#dept_select').change(function() { var b = jQuery(this).attr('value'); jQuery.post( ajaxurl, { 'action':'eval_select_dept', 'data': b }, function (response) { jQuery('#sections_list').html(response); }); document.getElementById('sections_form').style.display = 'block'; }); //Add new section jQuery('#add_new_sec').submit(function() { var b = jQuery(this).serialize() + '&dept_id=' + jQuery('#dept_select').attr('value'); jQuery.post( ajaxurl, { 'action':'eval_add_section', 'data': b }, function (response) { jQuery('#sections_list').html(response); }); jQuery(this).each (function(){ this.reset(); }); return false; }); //Edit a section function edit_section(sec_id, sec_order) { var tr = document.getElementById('secrow_' + sec_id); jQuery("#secrow_" + sec_id).toggleClass('editing'); var td_title = tr.getElementsByClassName('title'); var old_title = td_title[0].innerHTML; var td_desc = tr.getElementsByClassName('desc'); var old_desc = td_desc[0].innerHTML; var innerHTML = "<td><input type='hidden' name='sec_id' id='sec_id' value='" + sec_id + "'>" + "<input type='text' name='sec_title' id='sec_title' size='8' value='" +old_title+ "'></td>" + "<td><textarea name='sec_description' id='sec_description' cols='12' rows='2'>" +old_desc+ "</textarea>" + "<td><input type='text' name='sec_order' id='sec_order' size='2' value='"+sec_order+"'>" + "<button type='submit' onclick='edit_sec_submit();'>Done</button> " + "<button id='delete_"+sec_id+"' class='delete_button' type='button' onclick='delete_section("+sec_id+")'>Delete</button></td>"; tr.innerHTML = innerHTML; return false; } //Submit the Edit Section function edit_sec_submit() { jQuery(".seufolios tr").removeClass('editing'); var b = 'sec_id=' +document.getElementById('sec_id').value + '&sec_title=' +document.getElementById('sec_title').value + '&sec_description=' +document.getElementById('sec_description').value + '&sec_order=' +document.getElementById('sec_order').value + '&dept_id=' + jQuery('#dept_select').attr('value'); jQuery.post( ajaxurl, { 'action':'eval_edit_section', 'data': b }, function (response) { jQuery('#sections_list').html(response); }); return false; } //Delete a section function delete_section(sec_id) { jQuery.post( ajaxurl, { 'action':'eval_delete_section', 'data': sec_id +'&' + jQuery('#dept_select').attr('value') }, function (response) { jQuery('#sections_list').html(response); }); return false; } //Show questions for a section function show_questions(sec_id, button) { jQuery.post( ajaxurl, { 'action':'eval_show_questions', 'data': sec_id }, function (response) { jQuery('#questions_list').html(response); }); document.getElementById('questions_form').style.display = 'block'; document.getElementById('sec_id').value = sec_id; //reset selected class var tableRows = document.getElementsByClassName('selected'); for(i=0;i<tableRows.length;i++) { tableRows[i].className = ''; } //add new selected class var tableRow = button.parentNode.parentNode; tableRow.className = 'selected'; return false; } //Add new question jQuery('#add_new_question').submit(function() { var b = jQuery(this).serialize(); jQuery.post( ajaxurl, { 'action':'eval_add_question', 'data': b }, function (response) { jQuery('#questions_list').html(response); }); jQuery(this).each (function(){ this.reset(); }); return false; }); //Edit a question function edit_question(q_id, q_order) { var tr = document.getElementById('qrow_' + q_id); jQuery("#qrow_" + q_id).toggleClass('editing'); var td_slug = tr.getElementsByClassName('slug'); var old_slug = td_slug[0].innerHTML; var td_question = tr.getElementsByClassName('question'); var old_question = td_question[0].innerHTML; var td_type = tr.getElementsByClassName('type'); var old_type = td_type[0].innerHTML; var td_enabled = tr.getElementsByClassName('enabled'); var old_enabled = (td_enabled[0].innerHTML == 'Yes') ? 'checked' : ''; var innerHTML = "<td><input type='hidden' name='q_id' id='q_id' value='" + q_id + "'>" + "<input type='text' name='q_slug' id='q_slug' size='10' value='" +old_slug+ "'></td>" + "<td><textarea name='q_question' id='q_question' rows='2' cols='25'>" +old_question+ "</textarea>" + "<td><select name='q_type' id='q_type'><?php foreach ($q_types as $q) { echo "<option value='{$q->id}'>{$q->displayName}</option>"; } ?> </select></td>" + "<td><input type='checkbox' name='q_enabled' id='q_enabled' "+old_enabled+"></td>" + "<td><input type='text' name='q_order' id='q_order' size='2' value='"+q_order+"'>" + "<button type='submit' onclick='edit_question_submit();'>Done</button> "+ "<button id='delete_"+q_id+"' class='delete_button' type='button' onclick='delete_question("+q_id+")'>Delete</button></td>"; tr.innerHTML = innerHTML; return false; } //Submit the Edit Questiob function edit_question_submit() { jQuery(".seufolios tr").toggleClass('editing'); var b = 'id=' +document.getElementById('q_id').value + '&slug=' +document.getElementById('q_slug').value + '&question=' + document.getElementById('q_question').value + '&type=' +document.getElementById('q_type').value + '&enabled=' +document.getElementById('q_enabled').checked + '&q_order=' +document.getElementById('q_order').value + '&sec_id=' + jQuery('#sec_id').attr('value'); jQuery.post( ajaxurl, { 'action':'eval_edit_question', 'data': b }, function (response) { jQuery('#questions_list').html(response); }); return false; } //Delete a question function delete_question(question_id) { jQuerypost( ajaxurl, { 'action':'eval_delete_question', 'data': question_id +'&' + jQuery('#sec_id').attr('value') }, function (response) { jQuery('#questions_list').html(response); }); return false; } </script> <?php }