Example #1
0
 public static function deleteFolder($dir_path)
 {
     $dir_path = rtrim($dir_path, '/');
     foreach (glob($dir_path . '/*') as $file) {
         if (is_dir($file)) {
             self::deleteFolder($file);
         } else {
             File::deleteFile($file);
         }
     }
     return rmdir($dir_path);
 }
Example #2
0
    $folders = getPostValue("folders");
    if (!empty($folders)) {
        for ($i = 0; $i < sizeof($folders); $i++) {
            if (!empty($folders[$i])) {
                $tmpFolder = new Folder($folders[$i]);
                $tmpFolder->deleteFolder();
            }
        }
    }
    // Delete files
    $files = getPostValue("files");
    if (!empty($files)) {
        for ($i = 0; $i < sizeof($files); $i++) {
            if (!empty($files[$i])) {
                $tmpFile = new File($files[$i]);
                $tmpFile->deleteFile();
            }
        }
    }
    // Redirect
    redirect(scriptUrl . "/" . folderFilesAdmin . "/" . fileFilesIndex . (!empty($folder->id) ? "?folderId=" . $folder->id : ""));
}
// Move files
$move = getPostValue("move");
if ($move) {
    // Check if data is submitted from the form
    checkSubmitter();
    // Move folders
    $folders = getPostValue("folders");
    if (!empty($folders)) {
        for ($i = 0; $i < sizeof($folders); $i++) {
Example #3
0
} else {
    if ($_REQUEST['action'] == 'edit_e') {
        $id = $_REQUEST['id'];
        if ($ne->updateEvent($id, $_REQUEST['name'], $_REQUEST['time'], $_REQUEST['venue'], $_REQUEST['desc'])) {
            Message::setSuccessMessage("Event updated successfully");
            header("location:" . $config->site_address . "news-event-admin/");
        } else {
            Message::setFailMessage("Something went wrong please try again.");
            header("location:" . $config->site_address . "news-event-admin/edit/" . $id);
        }
    } else {
        if ($_REQUEST['action'] == 'edit_n') {
            $id = $_REQUEST['id'];
            $file = $ne->getNEInfo($id, 'cover');
            if (!Validation::isNull($_FILES['cover']['name'])) {
                $fileobj->deleteFile($file);
                $file = uniqid() . "." . pathinfo(basename($_FILES['cover']['name']), PATHINFO_EXTENSION);
                $fileobj->uploadFile($file, $_FILES['cover']['tmp_name']);
            }
            if ($ne->updateNews($id, $_REQUEST['name'], $file, $_REQUEST['desc'])) {
                Message::setSuccessMessage("News updated successfully");
                header("location:" . $config->site_address . "news-event-admin/");
            } else {
                Message::setFailMessage("Something went wrong please try again.");
                header("location:" . $config->site_address . "news-event-admin/edit/" . $id);
            }
        } else {
            if ($_REQUEST['action'] == 'del_ne') {
                if ($ne->deleteNE($_REQUEST['id'])) {
                    Message::setSuccessMessage("News/Event deleted successfully. Files related to news/event can not be deleted. you can delete them manually from 'static/news/' or 'static/img' folder.");
                } else {
Example #4
0
 /**
  * Delete this folder, all subsections and files
  * @return boolean to determine if delete was succesfull
  */
 function deleteFolder()
 {
     if (!empty($this->id)) {
         global $dbi;
         /* Delete files in folder */
         $result = $dbi->query("SELECT id FROM " . fileTableName . " WHERE folderId=" . $this->id);
         for ($i = 0; list($id) = $result->fetchrow_array(); $i++) {
             $file = new File($id);
             $file->deleteFile();
         }
         /* Delete subfolders */
         $result = $dbi->query("SELECT id FROM " . folderTableName . " WHERE parentId=" . $this->id);
         for ($i = 0; list($id) = $result->fetchrow_array(); $i++) {
             $folder = new Folder($id);
             $folder->deleteFolder();
         }
         /* Delete logged information in database */
         $dbi->query("DELETE FROM " . logTableName . " WHERE type='folder' AND typeId=" . $this->id);
         /* Delete this folder */
         $dbi->query("DELETE FROM " . folderTableName . " WHERE id=" . $this->id);
         /* Folder was deleted */
         return true;
     }
     /* Folder was not deleted */
     return false;
 }
Example #5
0
 public static function syncFolders($folderToSync)
 {
     $debug = self::$debug;
     $mode = self::$mode;
     import('dao.Folder');
     $folder = new Folder();
     import('dao.File');
     $file = new File();
     $folderFullName = $folderToSync['path'];
     $folderId = $folderToSync['fd_id'];
     // If folder is locked, ignore. Unless set mode greater than 0.
     if ($folderToSync['locked'] && $mode == 0) {
         if ($debug) {
             ZDebug::my_echo('Ignore locked folder: ' . $folderFullName . '(' . $folderId . ')');
         }
         return TRUE;
     }
     // Step 1: If folder is not physically exist, set to deleted in DB.
     if (!is_dir($folderFullName)) {
         $folder->deleteFolder($folderId);
         if ($debug) {
             ZDebug::my_echo('Delete folder in DB: ' . $folderFullName . '(' . $folderId . ')');
         }
         return TRUE;
     }
     // Step 2: Get the result set of files under this folder
     $filesInFolder = $folder->getFilesInFolder($folderId);
     $fileNameArr = array();
     foreach ($filesInFolder as $theFile) {
         // Step 3: If a file is not physically exist, delete it in table files.
         if (!file_exists($theFile['path'])) {
             $file->deleteFile($theFile['fid']);
             if ($debug) {
                 ZDebug::my_echo('Delete file in DB: ' . $theFile['path'] . '(' . $theFile['fid'] . ')');
             }
         } elseif ($theFile['last_modified'] != my_filemtime($theFile['path'])) {
             $theFile['last_modified'] = my_filemtime($theFile['path']);
             $file->saveFile($theFile);
             if ($debug) {
                 ZDebug::my_echo('Update file in DB: ' . $theFile['path'] . '(' . $theFile['fid'] . ')');
             }
         } elseif ($mode > 1) {
             $file->saveFile($theFile);
             if ($debug) {
                 ZDebug::my_echo('Update file in DB: ' . $theFile['path'] . '(' . $theFile['fid'] . ')');
             }
         } else {
         }
         $fileNameArr[] = $theFile['name'];
     }
     // Step 5: Get result set of sub-folders under this folder
     $subFoldera = $folder->getSubFolder($folderId);
     $folderNameArr = array();
     foreach ($subFoldera as $theFolder) {
         // Step 6: If a folder is not physically exist, set deleted flag in table folders.
         if (!file_exists($theFolder['path'])) {
             $folder->deleteFolder($theFolder['fd_id']);
             if ($debug) {
                 ZDebug::my_echo('Delete folder in DB: ' . $theFolder['path'] . '(' . $theFolder['fd_id'] . ')');
             }
         } elseif ($theFolder['last_modified'] != my_filemtime($theFolder['path'])) {
             $theFolder['last_modified'] = my_filemtime($theFolder['path']);
             $folder->saveFolder($theFolder);
             if ($debug) {
                 ZDebug::my_echo('Update folder in DB: ' . $theFolder['path'] . '(' . $theFolder['fd_id'] . ')');
             }
             self::syncFolders($theFolder);
         } else {
             self::syncFolders($theFolder);
         }
         $folderNameArr[] = $theFolder['name'];
     }
     $hdl = opendir($folderFullName);
     while ($item = readdir($hdl)) {
         $itemFullName = $folderFullName . DIRECTORY_SEPARATOR . $item;
         // Step 8: If physical file is not in DB file result set, then add a file
         if ($item != "." && $item != ".." && is_file($itemFullName) && !in_array($item, $fileNameArr)) {
             $file->saveFile(array('path' => $itemFullName, 'fd_id' => $folderId));
             if ($debug > 1) {
                 ZDebug::my_echo('Adding new file in DB: ' . $itemFullName);
             }
         }
         // Step 9: if physical folder is not in DB folder result set, then add a folder
         if ($item != "." && $item != ".." && is_dir($itemFullName) && !in_array($item, $folderNameArr)) {
             self::addFolder($itemFullName, $folderId);
         }
     }
     closedir($hdl);
 }
Example #6
0
<?php

include '../core/includes.php';
$dir = realpath(root . DIRECTORY_SEPARATOR . "assets" . DIRECTORY_SEPARATOR . "images" . DIRECTORY_SEPARATOR . "gallery");
$config = new Config();
$auth = new Auth();
$file = new File($dir);
if (!$auth->isAdmin()) {
    header("Location:" . $config->site_address . "login");
}
$action = "";
if (isset($_REQUEST['action'])) {
    $action = $_REQUEST['action'];
}
if ($action == 'add') {
    if (isset($_FILES['photo']['name'][0]) && !empty($_FILES['photo']['name'][0]) && $_FILES['photo']['name'][0] != "") {
        $images = array();
        $i = 0;
        foreach ($_FILES['photo']['name'] as $image) {
            $unique_name = uniqid() . "." . pathinfo(basename($image), PATHINFO_EXTENSION);
            $images[] = $unique_name;
            $file->uploadFile($unique_name, $_FILES['photo']['tmp_name'][$i]);
            $i++;
        }
    }
} else {
    if ($action == 'remove') {
        $file->deleteFile($_REQUEST['path']);
    }
}
header("Location:" . $_REQUEST['return_path']);