<?php
include 'connect/cms-config.php' ;
include 'requires/function.php' ;
include 'requires/session.php' ;

// include the class
include 'requires/class_resize.php' ;

// check permission
if ( !permissionCheck($row_user, 'announcement-view') ){
	header('Location: index.php') ;
	exit ;
}

// keep parameter in value
$page = escapeString($_GET['page']) ;
$page_mode = escapeString($_GET['page_mode']) ;
$type = escapeString($_GET['type']) ;
$search = escapeString($_GET['search']) ;

// active menu bar
$active_main_menu 	= 'service' ;
$active_sub_menu 	= 'service-announcement' ;
$active_menu 		= 'service-announcement' ;

// get all branch
$branch_all     = [] ;
$get_branch = $mysqli->query( "SELECT * FROM branch
                               WHERE deleted_at IS NULL " . $user_branch_permission_sql_123 ) ;
if ( $get_branch->num_rows > 0 ){
    while ( $row_branch = $get_branch->fetch_assoc() ){
        $branch_all[$row_branch['branch_id']] = $row_branch['branch_name'] ;
    }
}

// mode type | all list | new | edit
switch($page_mode){
	
	// edit announcement
	case 'new' :
	case 'edit' :

		// check permission
		if ( !permissionCheck($row_user, 'announcement-new') && $page_mode == 'new' ){
			header('Location: index.php') ;
			exit ;
		}

		// check query exsits
		$submit_type = 'new' ;
		$mysqli_page = $mysqli->query("SELECT * FROM announcement
									   WHERE announcement_id = '".$page."' LIMIT 1");
		if ( $mysqli_page->num_rows > 0 ){
			// keep query value in array
			$row_page    = $mysqli_page->fetch_array(MYSQLI_ASSOC) ;
			$submit_type = 'edit' ;
		}

		// update database
		if ( isset($type) && ( $type == 'new' || $type == 'edit' ) && $_POST['hide'] == 1 ){

			if ( $page == '' ){
				$mysqli->query("INSERT INTO announcement ( user_id, created_at ) VALUES ( '".$_SESSION['system_id']."', '".TODAYDATE."' )") ;
				$page = $mysqli->insert_id ;	
			}

			$array_branch = [] ;
			foreach ( $_POST['branch'] as $k_branch => $v_branch ){
				$array_branch[] = escapeString( $v_branch ) ;
			}

			// resize image
	        // set image in variable
			$image 		  = $_FILES["image"]["name"] ;
			$image_query  = '' ;
			$remove_photo = $_POST['remove_photo'] ;
			if ($remove_photo == 1){
				$image    = '' ;	
				$image_query = "file = ''," ;
			}

			if ( $image   != '' ){
				$get_image = pathinfo($image) ;

				$create_image = reCreateImage('Announcement', $page, $page, '', $image, $_FILES["image"]["type"], $_FILES['image']['tmp_name']) ;
				// Image uploads when exists
				if ($create_image['result'] && is_array($create_image['crop']) && count($create_image['result']) > 0){
					$resizeObj = new resize($create_image['original']) ; // Initialise load image
					foreach($create_image['crop'] as $value){
						// Resize image (options: exact, portrait, landscape, auto, crop)
						$resizeObj -> resizeImage($value['width'], $value['height'], $value['type']) ;
						$resizeObj -> saveImage($value['source'], 70) ; // Save image	
					}
					$get_image   = pathinfo($create_image['image']) ;
					$image_query = "file = '".$create_image['image']."'," ;
				}
			}
			
			// update database
			$mysqli->query("UPDATE announcement SET
							".$image_query."
							branch          = '/".implode('/', $array_branch)."/',
							is_hide 		= '".escapeString($_POST['is_hide'])."',
							status   		= '".escapeString($_POST['status'])."',
							is_showagree    = '".escapeString($_POST['is_showagree'])."',
							updated_at      = '".TODAYDATE."'
							WHERE announcement_id = '".$page."'") ;

			if ( $_POST['is_retick']    == 'yes' ){
				$mysqli->query( "UPDATE staff_announcement SET
								 deleted_at 	       = '".TODAYDATE."'
								 WHERE announcement_id = '".$page."'" ) ;
			}

			$title_en = '' ;
			foreach ( $LANGS as $klang => $vlang ){
				$title        = escapeString( $_POST['title_'.$klang] ) ;
				$content      = escapeString( $_POST['content_'.$klang] ) ;

				if ( $klang  == 'en' ){ $title_en = $title ; }

				checkLangUpdate( 'announcement_translation', 'announcement_id', $page, $klang, [ 
					'title' 	=> [ 'type' => 'input', 'value' => $title   ], 
					'content' 	=> [ 'type' => 'input', 'value' => $content ], 
					// 'file' 		=> [ 'type' => 'file',  'value' => $_FILES['file_'.$klang], 'folder' => 'Announcement', 'remove_photo' => $_POST['remove_photo'.$lang] ]
				] ) ;
			}

			if ( $submit_type == 'new' ){
				pushToBranchUser( $array_branch, [], 'announcement', $page, 'New Announcement', ( $title_en != '' ? $title_en : 'New annoucement has been submitted.' ) ) ;
			}
			
			// refresh page
			header("Location:service-announcement.php?page_mode=edit&page=".$page."&success=1") ;
			$_SESSION['system_result'] = 'success-updated' ;
			exit ;
		}

		// start header here
		include 'requires/page_header.php';
		include 'requires/page_top.php';

		?>

		<div class="warper container-fluid">   	
		<div class='container' style="background-color: white; border-radius: 10px;">
			<div class="page-header" style="margin: 30px 0px 0px 0px;padding: 0px;"><h1>Announcement <small><?= $lang[$page_mode] ?></small></h1></div>
			<?php
            if ( $_SESSION['system_result'] != '' ){
                switch($_SESSION['system_result']){
                    case 'success-updated' :
                        echo '<div class="result_success">'.$lang['Thank you details has been updated'].'</div>' ;	
                    break ;
                }
                unset($_SESSION['system_result']) ;
            }
            ?>
            <div class="panel panel-default">
                <div class="panel-heading"></div>
                <div class="panel-body">
                    <form method="post" class="form-horizontal" id="quotationForm" enctype="multipart/form-data" action="service-announcement.php?page_mode=edit&page=<?= $page ?>&type=edit" novalidate="novalidate">

                        <div class="form-group show_branch_action">
                            <div class="col-sm-2 control-label"><?= $lang['branch']?></div>
                            <div class="col-sm-9">
                                <select name="branch[]" class="form-control ui-search-input chosen-select select2-basic-single" multiple required>
                                	<?php
                            		foreach ( $branch_all as $key => $value ) {
                            			echo '<option value="'.$key.'" '. ( strpos( $row_page['branch'], '/'.$key.'/' ) !== false ? 'selected' : '' ) .' >'.$value.'</option>';
                            		}
                                	?>
                                </select>
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-2 control-label">Is Hide Title</div>
                            <div class="col-sm-9">
                                <select name="is_hide" class="form-control ui-search-input">
                                	<option value="no" <?= ( $row_page['is_hide'] == 'no' ? 'selected' : '' ) ?> >No</option>
                                	<option value="yes"  <?= ( $row_page['is_hide'] == 'yes' ? 'selected' : '' ) ?> >Yes</option>
								</select>
                            </div>
                        </div>

                        <?php 
                		echo showTabs( 'announcement_translation', 'announcement_id', $page, [ 
                			'title'   => [
                				'type'    => 'input', 
                				'title'   => $lang['title']
                			], 
                			'content' => [
                				'type'    => 'textarea', 
                				'title'   => $lang['Content']
                			], 
                			// 'file'    => [
                			// 	'type'    => 'file', 
                			// 	'title'   => $lang['photo'],
                			// 	'folder'  => 'Announcement',
                			// 	'size'    => '* 1000px x 375px'
                			// ] 
                		]) ; 
                    	?>

                        <div class="form-group">
                            <div class="col-sm-2 control-label"><?= $lang['photo']?></div>
                            <div class="col-sm-9">
                                <div class="file_upload">
                                    <div class="file_form">
                                        <input type="hidden" name="hide_image" value="<?= dataFilter($row_page['file']) ?>" />
                                        <input type="hidden" name="remove_photo" value="">
                                        <input type="file" name="image" class="file_button control-label" <?= $input_block ?> />
                                    </div>
                                </div>
                                <font color="red">* 1000px x 375px</font>
                            </div>
                        </div>
                        <?php if ($row_page['file'] != ''){ ?>
	                        <div class="form-group form-group-pdf">
	                            <div class="col-sm-2 control-label"><?= $lang['preview']?></div>
	                            <div class="col-sm-9">
	                            	<label class="remove_photo"><input type="checkbox" name="remove_photo" class="ui-checkbox tick" value="1">&nbsp;<?= $lang['Remove File']?></label>
	                            	<a href="<?= PATH.'uploads/Announcement/'.dataFilter($row_page['file']) ?>" target="_blank">
	                            		<img src="<?= PATH.'uploads/Announcement/'.dataFilter($row_page['file']) ?>" style="width:100px;" />
	                            	</a>
		                        </div>
	                        </div>
                        <?php }else{ ?>
                            <input type="hidden" name="remove_photo" value="" />
                        <?php } ?>

                        <div class="form-group">
                            <div class="col-sm-2 control-label">Is Signature</div>
                            <div class="col-sm-9">
                                <label><input type="radio" name="is_showagree" <?= ( $row_page['is_showagree'] == 'no' ? 'checked' : '' ) ?> value="no" /> No</label>
                                <label><input type="radio" name="is_showagree" <?= ( $row_page['is_showagree'] == 'yes' ? 'checked' : '' ) ?> value="yes" /> Yes</label>
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-sm-2 control-label">Is Signature Retick</div>
                            <div class="col-sm-9">
                                <label><input type="radio" name="is_retick" checked value="no" /> No</label>
                                <label><input type="radio" name="is_retick" value="yes" /> Yes</label>
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-sm-2 control-label">Status</div>
                            <div class="col-sm-9">
                                <select name="status" id="status" class="form-control ui-search-input">
                                	<option value="inactive" <?= ( $row_page['status'] == 'inactive' ? 'selected' : '' ) ?> >Inactive</option>
                                	<option value="active"  <?= ( $row_page['status'] == 'active' ? 'selected' : '' ) ?> >Active</option>
								</select>
                            </div>
                        </div>

                        <?php if ( $submit_type == 'new' || ( $submit_type == 'edit' && $row_page['user_id'] == $_SESSION['system_id'] ) ){ ?>
	                        <div class="form-group">
	                            <div class="col-sm-2 control-label"></div>
	                            <div class="col-sm-9">
	                                <button type="submit" class="btn" style="color:white;background-color: #5e5bd0;float:right; margin-top: 5px;width: 100px;"><?= $lang['submit'] ?></button>
	                                <input type="hidden" name="hide" value="1">
	                                <input type="hidden" name="page_status" value="<?= $submit_type ?>">
	                            </div>
	                        </div>   
	                    <?php } ?>

                    </form>
                </div>
            </div>
        </div>
		</div>
		<?php
		
	break ;
	
	// all announcement list
	case 'all' :
	default :
		
		$search_name 		= escapeString($_GET['search_name']) ;
		$search_title 		= escapeString($_GET['search_title']) ;
		$search_date 		= ( $_GET['search_date']!= '' ? date('Y-m-d', strtotime($_GET['search_date'])) : '' ) ;

		// query type
		$search_query 		= '' ;

		if( $search_name   != ''){
			$search_query  .= " AND c.staff_name LIKE '%".$search_name."%'" ;
		}
		if( $search_title  != ''){
			$search_query  .= " AND b.title LIKE '%".$search_title."%'" ;
		}
		if ( $search_date  != '' ){
		    $search_query  .= " AND a.created_at like '%".$search_date."%' " ;
		}
		
		// form submit
		if ( $_POST['hide'] == '1' && $_POST['hide_status'] == 'action' ){
			// trash item
			switch($_POST['page_action']){
				case 'trash':
					$mysqli_query 	= "UPDATE announcement SET deleted_at = '".TODAYDATE."' WHERE announcement_id = " ;
					$trash_page 	= trashPage('announcement', $mysqli, $mysqli_query, $_POST['multiple_trash']) ;
				break;
			}
		}
		
		// pagination
		if (isset($page) && !empty($page)) { $product_page = $page ; } else { $product_page = 1 ; } // next and prev page (5 thing need to change)
		$start_from = ($product_page - 1) * LIMIT ; //end next and prev page
		
		// set search url
		$search_url = 'page_mode=list&search='.$search.'&search_name='.$search_name.'&search_title='.$search_title.'&search_date='.$search_date ;
		
		// page query
		$mysqli_query = "SELECT a.announcement_id, a.created_at, b.title, b.content, c.user_name FROM announcement a
						 LEFT JOIN announcement_translation b ON ( a.announcement_id = b.announcement_id )
						 LEFT JOIN system_user c ON ( a.user_id = c.user_id )
						 WHERE a.deleted_at IS NULL AND b.lang = 'en' " . $search_query . $user_branch_permission_sql_symbol ;
		$mysqli_page = $mysqli->query( $mysqli_query." ORDER BY a.announcement_id DESC LIMIT $start_from, " . LIMIT ) ;

		// load pagination
		$page_pagination = nextPrevious($product_page, LIMIT, $search_url, $mysqli_query) ;
		
		// start header here
		include 'requires/page_header.php' ;
		include 'requires/page_top.php' ;
		
		?>
		<!-- Header Ends -->
		<div class="warper container-fluid">   	
		<div class='container' style="background-color: white; border-radius: 10px;">
            <div class="page-header" style="margin: 30px 0px 0px 0px;padding: 0px;">
            	<div class="row">
                    <div class="pull-left col"> 
						<h1>Announcement <small><?= $lang['list'] ?></small></h1>
					</div>
					<div class="pull-right col">
	            	<?php if ( permissionCheck($row_user, 'announcement-new') ){ ?>
		                <a href="service-announcement.php?page_mode=new" class="btn" style="color:white;margin:5px;background-color: #5e5bd0;margin-top: 5px;" target="_blank"><?= $lang['add_new'] ?></a>
					<?php } ?>
					</div>
				</div>
			</div>

		    <div class="panel panel-default" id="basic-table-title">
		        <div class="panel-heading"></div>
		        <div class="panel-body">
		            <form method="get" class="form-horizontal">
		                <div class="form-group">
		                    <label class="col-sm-2 control-label">Created By</label>
		                    <div class="col-sm-9">
		                        <input type="text" name="search_name" value="<?= $search_name ?>" class="form-control" />
		                    </div>
		                </div>
		                <div class="form-group">
		                    <label class="col-sm-2 control-label"><?= $lang['title'] ?></label>
		                    <div class="col-sm-9">
		                        <input type="text" name="search_title" value="<?= $search_title ?>" class="form-control" />
		                    </div>
		                </div>
	                    <div class="form-group">
		                    <label class="col-sm-2 control-label"><?= $lang['date'] ?></label>
		                    <div class="col-sm-9">
		                        <input class="form-control" name="search_date" type="date" value="<?= $search_date ?>" placeholder="Date Resigned">
		                    </div>
		                </div>
		                <div class="form-group">
		                    <div class="col-sm-11">
		                        <input type="hidden" name="page_mode" value="<?= $page_mode ?>" />
		                        <input type="hidden" name="search" value="<?= $search ?>" />
		                        <button type="submit" class="btn" style="margin-top: 5px;width:100px;float:right;color:white;background-color: #5e5bd0;"><?= $lang['submit'] ?></button>
		                    </div>
		                </div>
		            </form>
		        </div>
		    </div>


            <form method="post">

            	<?php if ( permissionCheck($row_user, 'announcement-trash') ){ ?>
	                <!-- trash -->
	                <div class="panel panel-default">
	                    <div class="panel-body">
	                        <select name="page_action" class="form-control selectpicker" style="height:100%;">
	                            <option value=""><?= $lang['select'] ?></option>
	                            <option value="trash"><?= $lang['move_to_trash'] ?></option>
	                        </select>
	                        <input type="hidden" name="hide" value="1" />
	                        <input type="hidden" name="hide_status" value="action" />
	                        <input type="submit" class="btn" style="width:100px;height:100%;color:white;background-color: #5e5bd0;" value="<?= $lang['submit'] ?>" />
	                    </div>
	                </div>
	                <!-- end trash -->
				<?php } ?>
            	

                <div class="panel panel-default">
                    <div class="panel-heading"></div>
                    <div class="panel-body">
						<table cellpadding="0" cellspacing="0" border="0" class="responsive table table-striped table-bordered" id="basic-datatable">
							<thead>
								<tr>
									<th><?= $lang['Action'] ?></th>
									<th><?= $lang['Created By'] ?></th>
									<th><?= $lang['title'] ?></th>
									<th><?= $lang['date'] ?></th>
                                    <th width="50"><?= $lang['trash'] ?></th>
								</tr>
							</thead>
							<tbody>
								<?php
								if ($mysqli_page->num_rows > 0){
									while ($row_page = $mysqli_page->fetch_array(MYSQLI_ASSOC)){

										// default variable
										$id    = $row_page['announcement_id'] ;
										$title = dataFilter($row_page['title']) ;
		
										echo '
										 <tr class="odd gradeX">
										 	<td class="align_center">
										 		<a title="'.$lang['Edit'].'" href="service-announcement.php?page_mode=edit&page='.$id.'"><i class="fa fa-edit"></i></a>
										 	</td>
											<td>'.dataFilter($row_page['user_name']).'</td>
											<td><a href="service-announcement.php?page_mode=edit&page='.$id.'">'.$title.'</a></td>
											<td>'.resetDateFormat($row_page['created_at']).'</td>
											<td>
												<div class="checkbox multiple_trash">
													<input type="checkbox" name="multiple_trash['.$id.']" class="trash_button" value="1">
													<label for="checkbox1"></label>
												</div>
											</td>
										</tr>';
									}
								}else{
									echo '
									<tr class="odd gradeX">
										<td class="border_none">'.$lang['no_data'].' </td>
										<td class="border_none"></td>
										<td class="border_none"></td>
										<td class="border_none"></td>
										<td class="border_none"></td>
									</tr>' ;
								}
								?>
							</tbody>
						</table>
						<?= $page_pagination['page_pagination'] ?>
                    </div>
                </div>
			</form>
		</div>
		</div>
		<?php
	break ;
}
// footer
include 'requires/page_footer.php' ;
?>