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"> </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"> </div>';
$output .= '<div class="itemlist-single-column"> </div>';
$output .= '<div class="itemlist-single-column"> </div>';
$output .= '<div class="itemlist-single-column">removed on</div>';
$output .= '<div class="itemlist-single-column itemlist-edit"> </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 .= ' ';
$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"> </div>';
/* discount */
$output .= '<div class="itemlist-single-column"> </div>';
/* empty */
$output .= '<div class="itemlist-single-column"> </div>';
/* status */
$output .= '<div class="itemlist-single-column">'.$date.'</div>';
/* edit */
$output .= '<div class="itemlist-single-column"> </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" /> ';
$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: ./');
}
?>