示例#1
0
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);
}
示例#2
0
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 
}
示例#3
0
            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);
}
示例#4
0
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> &nbsp;&nbsp; " +
							"<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> &nbsp;&nbsp; "+
							"<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 
}