function recycle($request) { $id = intval($request->param("ID")); if ($id) { $file = File::get()->byID($id); if ($file) { if (MetaTagCMSControlFileUse_RecyclingRecord::recycle($file)) { Session::set("MetaTagCMSControlMessage", _t("MetaTagCMSControl.FILERECYCLED", "File "" . $file->Title . "" has been recycled.")); return $this->returnAjaxOrRedirectBack(); } } } Session::set("MetaTagCMSControlMessage", _t("MetaTagCMSControl.FILENOTRECYCLED", "ERROR: File "" . $file->Title . "" could NOT be recycled.")); return $this->returnAjaxOrRedirectBack(); }
public static function recycle(File $file, $verbose = true) { $recylcingFolder = Folder::find_or_make(Config::inst()->get("MetaTagCMSControlFiles", "recycling_bin_name")); if ($recylcingFolder) { if ($file) { if ($file->exists()) { if (file_exists($file->getFullPath())) { $valid = $file->validate(); if ($valid->valid()) { $record = new MetaTagCMSControlFileUse_RecyclingRecord(); $record->FileID = $file->ID; $record->FromFolderID = $file->ParentID; $record->write(); //doing it..... $file->ParentID = $recylcingFolder->ID; $file->write(); //IMPORTANT! return true; } } $record = new MetaTagCMSControlFileUse_RecyclingRecord(); $record->FileID = $file->ID; $record->FromFolderID = $file->ParentID; $record->write(); DB::query("UPDATE \"File\" SET \"ParentID\" = " . $recylcingFolder->ID . " WHERE \"File\".\"ID\" = " . $file->ID); return true; } } } return false; }