<?php
	/*
		(C) DairyWindow 2017
		admin@dairywindow.nz
	*/
	
	require "inc/connect.php";
	if($_SESSION['userLevel']<= $_SESSION['admin_form_edit']) $allow_edit=1; else $allow_edit=0;
	
	if(isset($_POST['add_text']) && $_POST['add_text']!="" && $_POST['add_text']!=null){
		//create new form

		$sql="
			# check if adding a duplicate
			Select
				dw_form.formID
			From
				dw_form
			Where
				dw_form.formSite = ? And
				dw_form.formText = ?
		";
		if(!$select_query = mysqli_prepared_query($link, $sql, "is", array($_SESSION['userSite'], $formText), __FILE__, __LINE__)) reporterror(get_error(), $sql, $_SERVER['REQUEST_URI'], __FILE__, __LINE__);

		$formText = clean($_POST['add_text']);
		if(!empty($_POST['add_order'])) $formOrder = clean($_POST['add_order'])+1;
		else $formOrder = mysqli_prepared_num_rows($select_query);

		if(mysqli_prepared_num_rows($select_query) > 0){
			//already exists
			$message['type'] = "error";
			$message['text'] = "<span class='glyphicon glyphicon-warning-sign' aria-hidden='true'></span> Form ".$formText." already exists";
		}else{
			$sql="
				INSERT INTO dw_form          ( formText,  formOrder,     formModUser    ,        formSite      , formModDate, formActive)
				VALUES                       (     ?   ,      ?    ,         ?          ,            ?         ,    now()   ,     1     )
			";
			if(!savesql($link, $sql, "siii", array($formText, $formOrder, $_SESSION['userID'], $_SESSION['userSite']                         ), __FILE__, __LINE__)) reporterror(get_error(), $sql, $_SERVER['REQUEST_URI'], __FILE__, __LINE__);
		}
	}else{
		if(isset($_POST['edit_id']) && $_POST['edit_id']!='' && $_POST['edit_id']!=null){
			$edit_form     = clean($_POST['edit_form']);
			$edit_order    = clean($_POST['edit_order']);
			$edit_order_old = clean($_POST['edit_order_old']);
			if(isset($_POST['edit_active'])) $edit_active = clean($_POST['edit_active']);
			else $edit_active = 0;
			$edit_reason   = clean($_POST['edit_reason']);
			
			if($edit_order_old!= $edit_order){
				$sql="
					# update all the form orders +1
					Select
						dw_form.formID,
						dw_form.formOrder
					From
						dw_form
					Where
						dw_form.formOrder > ? And
						dw_form.formOrder <= ? And
						dw_form.formSite = ?
				";
				if(!$qryforms = mysqli_prepared_query($link, $sql, "iii", array($edit_order_old, $edit_order, $_SESSION['userSite']), __FILE__, __LINE__)) reporterror(get_error(), $sql, $_SERVER['REQUEST_URI'], __FILE__, __LINE__);
				foreach($qryforms as $form_row){
					$sql="
						UPDATE dw_form SET
							formOrder = ?
						WHERE formID = ?
					";
					if(!savesql($link, $sql, "ii", array(($form_row['formOrder']+1), $form_row['formID']), __FILE__, __LINE__)) reporterror(get_error(), $sql, $_SERVER['REQUEST_URI'], __FILE__, __LINE__);
				}
			}
			
			//update this form
			$sql="
				UPDATE dw_form SET
					formText       = ?,
					formOrder      = ?,
					formActive     = ?,
					formChangeCode = ?,
					formModDate    = now(),
					formModUser    = ?
				WHERE formID     = ?
			";
			if(!savesql($link, $sql, "siisii", array($edit_form, $edit_order, $edit_active, $edit_reason, $_SESSION['userID'], $_POST['edit_id']), __FILE__, __LINE__)) reporterror(get_error(), $sql, $_SERVER['REQUEST_URI'], __FILE__, __LINE__);
		}
	}
	
	$title = "Submission forms";
	require "inc/head.php";
	$menu="form";
	require "inc/menu.php";
	
	if($debug) showdebug();
?>
	
	<div id="topDIV" >
		<h1 class="text-center">
			<?php echo $title; ?>
			<?php
				if($_SESSION['userLevel']<= $_SESSION['admin_form_add']){
					$sql="
						/* get last order for adding form */
						Select
						  dw_form.formID
						From
						  dw_form
						Where
						  dw_form.formSite = ? And
						  dw_form.formActive = 1 And
						  dw_form.formOrder <> 99
						Order By
						  dw_form.formOrder DESC,
						  dw_form.formText DESC
						Limit 1
					";
					if(!$order_query = mysqli_prepared_query($link, $sql, "i", array($_SESSION['userSite']), __FILE__, __LINE__)) reporterror(get_error(), $sql, $_SERVER['REQUEST_URI'], __FILE__, __LINE__);
					if(mysqli_prepared_num_rows($order_query)>0){
						$order_row = $order_query[0];
					}else $order_row=array('formID'=>1);
					?><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#new_form" onclick="update_forms(<?php echo $order_row['formID']; ?>, 'add_order');" ><span class='glyphicon glyphicon-plus' aria-hidden='true'></span>&nbsp;Create new</button><?php
				}
			?>
		</h1>
	</div>
	
	<div id="loading" ><img src="images/loading-small.gif" alt="Please wait. Loading..." width="111" height="156" style="margin-top:150px;" class="center-block"><br><div class="text-center"><img src='images/carregando.gif' width='16' height='16'>&nbsp;Please wait while loading...</div></div>
	
	<div id="main" class="container-fluid" style="display:none;" role="main">
		<table class="table table-hover sorttable" id="table">
			<thead>
				<tr id="table-head" style="background-color:white; color:inherit; white-space:nowrap;">
					<!--<th class="text-center th_button"                      id="th_button" ></th>-->
					<th class="text-center th_text"                        id="th_text"   >Form</th>
					<th <?php if(!$debug) echo "style='display:none;'"; ?> id="th_id"     >ID</th>
					<th <?php if(!$debug) echo "style='display:none;'"; ?> id="th_order"  >Order</th>
					<th <?php if(!$debug) echo "style='display:none;'"; ?> id="th_active" >Active</th>
				</tr>
			</thead>
			<tbody class="sortable">
				<?php
					$sql="
						# sql for main table
						Select
							dw_form.formID,
							dw_form.formText,
							dw_form.formOrder,
							dw_form.formActive
						From
							dw_form
						Where
							dw_form.formSite = ?
						Order By
							dw_form.formActive Desc,
							dw_form.formOrder,
							dw_form.formText
					";
					if(!$form_query = mysqli_prepared_query($link, $sql, "i", array($_SESSION['userSite']), __FILE__, __LINE__)) reporterror(get_error(), $sql, $_SERVER['REQUEST_URI'], __FILE__, __LINE__);
					foreach($form_query as $form_row){
						?>
							<tr class="text-nowrap" id="form_<?php echo $form_row['formID']; ?>">
								<!--
								<td class="text-center td_buttons"                     id="td_buttons_<?php echo $form_row['formID']; ?>">
									<button type="button" class="btn btn-xs btn-default" data-toggle="modal" data-target="#edit_form_form" onclick="update_form_edit(<?php echo $form_row['formID']; ?>, 0);">
										<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
										<span class="sr-only">Edit form</span>
										<span class="hidden-xs"> Edit form</span>
									</button>
								</td>
								-->
								<td class="text-center td_text<?php if($form_row['formActive']!=1) echo " strike"; ?>" id="td_text_<?php   echo $form_row['formID']; ?>" data-toggle="modal" data-target="#edit_form_form" onclick="update_form_edit(<?php echo $form_row['formID']; ?>, 0);"><?php
									echo $form_row['formText'];
								?></td>
								<td <?php if(!$debug) echo "style='display:none;'"; ?> id="td_id_<?php     echo $form_row['formID']; ?>" ><?php echo $form_row['formID'    ]; ?></td>
								<td <?php if(!$debug) echo "style='display:none;'"; ?> id="td_order_<?php  echo $form_row['formID']; ?>" ><?php echo $form_row['formOrder' ]; ?></td>
								<td <?php if(!$debug) echo "style='display:none;'"; ?> id="td_active_<?php echo $form_row['formID']; ?>" ><?php echo $form_row['formActive']; ?></td>
							</tr>
						<?php
					}
				?>
			</tbody>
		</table>
	</div>
	
	<script src="js/form.js?v=2.1"><!-- Include JS formific to form.php (this file) --></script>
	
	<div id="new_form" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="new_formLabel" aria-hidden="true">
		<div class="modal-dialog">
			<div class="modal-content">
				<form class="container-fluid panel-info form-horizontal" method="post">
					<div class="modal-header">
						<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
						<h2 class="modal-title" id="new_formLabel">New form details</h2>
					</div>
					<div class="modal-body">
						<div class="form-group">
							<label for="add_text" class="col-sm-2 control-label">Form text</label>
							<div class="col-sm-10">
								<input type="text" class="form-control filename_fix" id="add_text" name="add_text" placeholder="Text" required >
							</div>
						</div>
						<div class="form-group">
							<label for="add_order" class="col-sm-2 control-label">Add after</label>
							<div class="col-sm-10">
								<select name="add_order" id="add_order" class="form-control" >
									<!-- list goes here (form.js:update_forms) -->
								</select>
							</div>
						</div>
					</div>
					<div class="modal-footer">
						<button type="button" class="btn btn-default" data-dismiss="modal"><span class='glyphicon glyphicon-remove' aria-hidden='true'></span>&nbsp;Cancel</button>
						<button type="submit" class="btn btn-primary" id="new_form_button" onclick="please_wait('new_form_button');"><span class='glyphicon glyphicon-ok' aria-hidden='true'></span>&nbsp;Create</button>
					</div>
				</form>
			</div>
		</div>
	</div>
	
	<div id="edit_form_form" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="edit_formLabel" aria-hidden="true">
		<div class="modal-dialog">
			<div class="modal-content">
				<div class="modal-header">
					<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
					<h2 class="modal-title" id="edit_formLabel">Edit form details</h2>
				</div>
				<form class="container-fluid panel-info" method="post">
					<div class="modal-body">
						<div class="form-group">
							<label for="edit_code" >Form text</label>
							<input type="text" class="form-control filename_fix" id="edit_form" name="edit_form" placeholder="Form name" onchange="update('edit_form_reason', 'G1');" required >
						</div>
						<div class="form-group">
							<label for="edit_order" >Reposition this form in the list <strong>after</strong></label>
							<select name="edit_order" id="edit_order" class="form-control" onchange="update('edit_form_reason', 'G2');">
								<!-- list goes here (form.js:update_forms) -->
							</select>
						</div>
						<div class="form-group">
							<label class="checkbox-inline">
								<input type="checkbox" data-toggle="toggle" id="edit_active" name="edit_active" data-on="Yes" data-off="No" value="1" onchange="update('edit_form_reason', 'G3');" > Is the form <strong>Active</strong>?
							</label>
						</div>
						<input type="hidden" id="edit_form_reason" name="edit_reason">
						<input type="hidden" id="edit_order_old" name="edit_order_old">
						<input type="hidden" id="edit_id" name="edit_id">
					</div>
					<div class="modal-footer">
						<button type="button" class="btn btn-default" data-dismiss="modal"><span class='glyphicon glyphicon-remove' aria-hidden='true'></span>&nbsp;Cancel</button>
						<button type="submit" class="btn btn-primary" id="edit_form_button" onclick="please_wait('edit_form_button');"><span class='glyphicon glyphicon-ok' aria-hidden='true'></span>&nbsp;Update</button>
					</div>
				</form>
			</div>
		</div>
	</div>
	
	<?php require "inc/footer.php"; ?>