HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/verrassendveel.komma.pro/wwwroot/admin/php/trash.php
<?php


/* 
	trash.php 

	Mike Ontwerpt 2012
	www.mikeontwerpt.nl
	
*/


function initTrash(){

	$output = '';	
	
	if(isset($_POST['back'])){
		$output .= showDashboard();
	}
	else if(isset($_POST['askdeletePermanently'])){
		$output .= askToDeletePermenantly();	
	}
	else if(isset($_POST['deletePermenantly'])){
		$output .= deletePermenantly();
	}
	else if(isset($_POST['recover'])){
		$output .= recover();
	}
	else{
		$output .= showDashboard();
	}
	return $output; 
}

//show trash
function showDashboard(){
	/* access the global sql object */
	global $mysqli;	
	/* language */
	$siteLabels = getLanguage();

	$output = '';
	/* title */
	$output .= '<h1>'.$siteLabels['trash-title'].'</h1>';
	
	//start with form for checkboxes
	$output .= '<form action="" name="chkForm"  method="post">';
		/* buttons */
		$output .= '<div class="submenu">';
				//buttons
				$output .= '<input type="submit" name="recover" value="'.$siteLabels['trash-recover'].'" class="btn176 btn176b"/>';
				$output .= '<input type="submit" name="askdeletePermanently" value="'.$siteLabels['trash-deletePermanently'].'" class="btn176 btn176b"/>';
		$output .= '</div>';
		
		/* content */
				
		/* top row */
		$output .= '<div class="itemlist-row itemlist-heading">';
			$output .= '<div class="itemlist-single-column">&nbsp;</div>';
			$output .= '<div class="itemlist-double-column"><input type="checkbox" name="checkCtrl" value="checkAll" onClick="check_all(this);" class="itemlist-cbox">title</div>';
			$output .= '<div class="itemlist-single-column">page</div>';
			$output .= '<div class="itemlist-single-column">&nbsp;</div>';
			$output .= '<div class="itemlist-single-column">&nbsp;</div>';
			$output .= '<div class="itemlist-single-column">&nbsp;</div>';
			$output .= '<div class="itemlist-single-column">removed on</div>';
			$output .= '<div class="itemlist-single-column itemlist-edit">&nbsp;</div>';
		$output .= '</div>';	
		
		/* get info */
		$query = 'SELECT id, itemId, linkname, timest FROM content_status WHERE active = 0 ORDER BY timest DESC';
		if($result = $mysqli->query($query)){
			while($record = $result->fetch_assoc()){
				//create productid
				$statusId = $record['id'];
				$itemId = $record['itemId'];
				$linkname = $record['linkname'];
				$timest = $record['timest'];
				
				$page = $linkname;
				if($page == 'media_files') $page = 'media library';
				
				$date = date('d / m / Y', $timest);
								
				//title
				$title = '';
				if($titleResult = $mysqli->query('SELECT title FROM '.$linkname.' WHERE id = '.$itemId.' LIMIT 1')){
					$titleRecord = $titleResult->fetch_assoc();
					$title = $titleRecord['title'];
				}
				else if($titleResult = $mysqli->query('SELECT titleNL FROM '.$linkname.' WHERE id = '.$itemId.' LIMIT 1')){
					$titleRecord = $titleResult->fetch_assoc();
					$title = $titleRecord['titleNL']; 
				}
					
				$output .= '<div class="itemlist-row">';
					/* product id */
					$output .= '<div class="itemlist-single-column">';
						$output .= '&nbsp;';
					$output .= '</div>';
					/* title */
					$output .= '<div class="itemlist-double-column"><input type="checkbox" name="option[]" id="option" value="'.$itemId.'-'.$linkname.'-'.$statusId.'" class="itemlist-cbox"/>'.$title.'</div>';
					/* num instances */
					$output .= '<div class="itemlist-single-column">'.ucwords($page).'</div>';
					/* price*/
					$output .= '<div class="itemlist-single-column">&nbsp;</div>';
					/* discount */
					$output .= '<div class="itemlist-single-column">&nbsp;</div>';
					/* empty */
					$output .= '<div class="itemlist-single-column">&nbsp;</div>';
					/* status */
					$output .= '<div class="itemlist-single-column">'.$date.'</div>';
					/* edit */
					$output .= '<div class="itemlist-single-column">&nbsp;</div>';
					
					$output .= '<div class="clear"></div>';	
				$output .= '</div>';
			}
		}
	$output .= '</form>';
	
	return $output; 
}


function recover(){
	global $mysqli;
	
	if(isset($_POST['option'])){
		foreach($_POST['option'] as $key => $value){
			$temp = explode('-', $value);
			$itemId= $temp[0];
			$linkname = $temp[1];
			
			$updateQuery = 'UPDATE content_status SET active="1" WHERE linkname="'.$linkname.'" AND itemId="'.$itemId.'";';
			
			//reset orders in case of multipage
			if($linkname != 'media_files' && $linkname != 'media_folders' ){
				$query = 'SELECT itemOrder FROM '.$linkname.' ORDER by itemOrder DESC LIMIT 1';
				$result = $mysqli->query($query);
				$record = $result->fetch_assoc();
				$order = $record['itemOrder'];
				$order++;
				$mysqli->query('UPDATE '.$linkname.' SET itemOrder = "'.$order.'" WHERE id="'.$itemId.'" LIMIT 1;');
			}
			if(!$mysqli->query($updateQuery)) ;
			
		}
		
	}
	
//	header('location: ./');
}



function askToDeletePermenantly(){
	
	//get text
	$siteLabels = getLanguage();
	
	$numSelected = 0;
	if(isset($_POST['option'])){
		foreach($_POST['option'] as $key => $value){
			if(isset($value)){			
				$arr['value'][$numSelected] = $value;
				$numSelected++;
			}
		}
		$output = '';
		
		$output .= '<div class="triple-column-container">';
			$output .= '<div class="header-bar top-rounded content-bar">Trash / Permanent verwijderen</div>';
			$output .= '<div class="triple-column-content">';
				
				$output .= '<form action="" method="post">';
				$output .= 'Weet je zeker dat je deze bestanden permanent wilt verwijderen?' ;
				
				$output .= '<div class="clear"></div>';
				for($i=0;$i<$numSelected;$i++){
					$output .= '<input type="hidden" name="valueArray[]" value="'.$arr['value'][$i].'" />';
				}
				$output .= '<input type="submit" name="deletePermenantly" value="'.$siteLabels['form-yes'].'" class="btn176" />&nbsp;';
				
				$output .= '<input type="submit" name="back" value="'.$siteLabels['form-no'].'" class="btn176 proceed" />';
				$output .= '</form>';
				
			$output .= '</div>';			
		$output .= '</div>';	
			
		return $output;
	}
	else{
		header('location: ./');
	}
}


function deletePermenantly(){
	global $mysqli;
	$siteLabels = getLanguage();
	foreach($_POST['valueArray'] as $key => $value){
		$temp = explode('-', $value);
		$itemId= $temp[0];
		$linkname = $temp[1];
		
		//if it is media we need tot delete some files
		if($linkname == 'media_folders'){
			///// if it is the folder, we need to delete all files (and folders) in this folder \\\\\\
				#1 get folder string from this id
				#2 get all files in this folder
				#3 prepare remove queries
				#4 get all folders in this folder
				#5 prepare remove queries
				#6 execute queries
				#7 if no erros -> commit() and delete files
			
			# ( 1 )
			if($strResult = $mysqli->query('SELECT folderstring FROM media_folders WHERE id = '.$itemId.' LIMIT 1')){
				$strRecord = $strResult->fetch_assoc();
				$folderstring = $strRecord['folderstring'];
				# ( 2 )
				if($fileResult = $mysqli->query('SELECT id, type, path, cp_thumb, filename_medium, filename_small, filename_hover, filename_fullhover FROM media_files WHERE folderstring LIKE "'.$folderstring.'%"')){
					while($fileRecord = $fileResult->fetch_assoc()){
						# ( 3 )						
						$deleteId = $fileRecord['id'];
						if(!empty($deleteId)){ $queries[] = 'DELETE FROM media_files WHERE id = '.$deleteId.' LIMIT 1'; }
					
						// save in array to unlink later
						$unlink[$deleteId]['type'] = $fileRecord['type'];
						$unlink[$deleteId]['fileName'] = $fileRecord['path'];
						$unlink[$deleteId]['cpthumb'] = $fileRecord['cp_thumb'];
						$unlink[$deleteId]['medium'] = $fileRecord['filename_medium'];
						$unlink[$deleteId]['small'] = $fileRecord['filename_small'];
						$unlink[$deleteId]['hover'] = $fileRecord['filename_hover'];
						$unlink[$deleteId]['fullhover'] = $fileRecord['filename_fullhover'];
					
					
					}
					# ( 4 )
					if($folderResult = $mysqli->query('SELECT id FROM media_folders WHERE folderstring LIKE "'.$folderstring.'%"')){
						while($folderRecord = $folderResult->fetch_assoc()){
							# ( 5 )						
							$deleteId = $folderRecord['id'];
							if(!empty($deleteId)){ $queries[] = 'DELETE FROM media_folders WHERE id = '.$deleteId.' LIMIT 1'; }
						}	
						
						$queries[] = 'DELETE FROM content_status WHERE itemId="'.$itemId.'" AND linkname="'.$linkname.'" LIMIT 1';
						
						# ( 6 )
						$mysqli->autocommit(FALSE);
						
						
						
						foreach($queries as $query)
						{
							if(!$mysqli->query($query))
							{
								$errors[] = $siteLabels['fm-somethingwentwrong'].$mysqli->error;
							}
						}
						# ( 7 )
						if(isset($errors))
						{
							$mysqli->rollback();
							displayErrors($errors);
							header('location: ../');
						}
						else
						{
							//delete files
							foreach($unlink as $deleteId => $value){
								$type = $unlink[$deleteId]['type'];
								$fileName =$unlink[$deleteId]['fileName'];
								$cpthumb = $unlink[$deleteId]['cpthumb'];
								$medium = $unlink[$deleteId]['medium'];
								$small =$unlink[$deleteId]['small'];
								$hover = $unlink[$deleteId]['hover'];
								$fullhover = $unlink[$deleteId]['fullhover'];
								
								//if image
								if($type == 1 || $type == 4){
									$tr_fileName = trim($fileName);
									if(!empty($tr_fileName)){
										unlink('../images/uploads/'.$fileName);
									}
									$tr_thumb = trim($cpthumb);
									if(!empty($tr_thumb)){
										unlink('../images/uploads/thumb/'.$cpthumb);
									}
									$tr_medium = trim($medium);
									if(!empty($tr_medium)){
										unlink('../images/uploads/'.$medium);
									}
									$tr_small = trim($small);
									if(!empty($tr_small)){
										unlink('../images/uploads/'.$small);
									}
									$tr_hover = trim($hover);
									if(!empty($tr_hover)){
										unlink('../images/uploads/'.$hover);
									}
									$tr_fullhover = trim($fullhover);
									if(!empty($tr_fullhover)){
										unlink('../images/uploads/'.$fullhover);
									}
								}
							}
							unset($unlink);
								//commit queries
							$mysqli->commit();
						}
					} // if $folderResult
				} //end if $fileResult
			} // end if $strResult 
		}
		else if($linkname == 'media_files'){
			///// if it is a file, we need to delete this file from the server \\\\\\
			# 1 get the file(s)
			# 2 prepare queries
			# 3 store url's
			# 4 execute queries
			# 5 if no errors -> commit and remove files
			
			# ( 1 )
			$result = $mysqli->query('SELECT type, path, cp_thumb, filename_medium, filename_small, filename_hover, filename_fullhover  FROM media_files WHERE id="'.$itemId.'" LIMIT 1');
			//if not allready deleted
			if($result->num_rows > 0){
				$record = $result->fetch_assoc();
				
				# ( 2 )
				$queries[] = 'DELETE FROM media_files WHERE id="'.$itemId.'" LIMIT 1';
				
				# ( 3 )
				$unlink[$itemId]['type'] = $record['type'];
				$unlink[$itemId]['fileName'] = $record['path'];
				$unlink[$itemId]['cpthumb'] = $record['cp_thumb'];
				$unlink[$itemId]['medium'] = $record['filename_medium'];
				$unlink[$itemId]['small'] = $record['filename_small'];
				$unlink[$itemId]['hover'] = $record['filename_hover'];
				$unlink[$itemId]['fullhover'] = $record['filename_fullhover'];
						
						
				$queries[] = 'DELETE FROM content_status WHERE itemId="'.$itemId.'" AND linkname="'.$linkname.'" LIMIT 1';
						
				# ( 4 )
				$mysqli->autocommit(FALSE);
				
				foreach($queries as $query)
				{
					if(!$mysqli->query($query))
					{
						$errors[] = $siteLabels['fm-somethingwentwrong'].$mysqli->error;
					}
				}
				# ( 5 )
				if(isset($errors))
				{
					$mysqli->rollback();
					displayErrors($errors);
					header('location: ../');
				}
				else
				{	
					//delete files
					foreach($unlink as $deleteId => $value){
						$type = $unlink[$deleteId]['type'];
						$fileName =$unlink[$deleteId]['fileName'];
						$cpthumb = $unlink[$deleteId]['cpthumb'];
						$medium = $unlink[$deleteId]['medium'];
						$small =$unlink[$deleteId]['small'];
						$hover = $unlink[$deleteId]['hover'];
						$fullhover = $unlink[$deleteId]['fullhover'];
						
						//if image
						if($type == 1 || $type == 4){
							$tr_fileName = trim($fileName);
							if(!empty($tr_fileName)){
								unlink('../images/uploads/'.$fileName);
							}
							$tr_thumb = trim($cpthumb);
							if(!empty($tr_thumb)){
								unlink('../images/uploads/thumb/'.$cpthumb);
							}
							$tr_medium = trim($medium);
							if(!empty($tr_medium)){
								unlink('../images/uploads/'.$medium);
							}
							$tr_small = trim($small);
							if(!empty($tr_small)){
								unlink('../images/uploads/'.$small);
							}
							$tr_hover = trim($hover);
							if(!empty($tr_hover)){
								unlink('../images/uploads/'.$hover);
							}
							$tr_fullhover = trim($fullhover);
							if(!empty($tr_fullhover)){
								unlink('../images/uploads/'.$fullhover);
							}
						}
					}
					unset($unlink);
					//commit queries
					$mysqli->commit();
				}
			}
		}
		else{
			if($mysqli->query('DELETE FROM '.$linkname.' WHERE id="'.$itemId.'" LIMIT 1')){
				$mysqli->query('DELETE FROM content_status WHERE itemId="'.$itemId.'" AND linkname="'.$linkname.'" LIMIT 1');
			}
		}
	}
	header('location: ./');
	
}


?>