public function beforeDelete($event) { if ($files = Yii::app()->user->getState(XFiles::w()->currStateVar)) { foreach ($files as $file) { if (is_file($file['path'])) { unlink($file['path']); } } } XFiles::w()->currStateVar = null; $id = $this->owner->id; $modelName = $this->owner->getClassName(); if ($fileIDs = XFiles::getFileIdListFPM($id, $modelName)) { foreach ($fileIDs as $fileID) { FPM::deleteFiles($fileID); } } }
protected function handleDeleting() { $success = false; if (($marker = $this->getQuery('marker')) && ($stateVar = $this->getQuery('stateVar'))) { if ($files = Yii::app()->user->getState($stateVar)) { $filePath = $files[$marker]['path']; if (is_file($filePath)) { $success = unlink($filePath); if ($success) { unset($files[$marker]); Yii::app()->user->setState($stateVar, $files); } } } } elseif ($fileID = $this->getQuery('fileID')) { if ((int) $fileID) { $filePath = urldecode(FPM::getOriginalFilePathById($fileID)); if (is_file($filePath)) { $success = FPM::deleteFiles($fileID); } } } echo json_encode($success); return true; }
private function deleteFiles() { /** @var $owner ActiveRecord */ $owner = $this->getOwner(); $files = FPM::m()->getDb()->createCommand()->select(array('file_id'))->from(FPM::m()->relatedTableName)->where('model_id = :mid AND model_class = :mclass')->queryColumn(array(':mid' => $owner->getPrimaryKey(), ':mclass' => $owner->getClassName())); foreach ($files as $fileId) { FPM::deleteFiles($fileId); } }
private function deleteFile() { /** @var $owner CActiveRecord */ $owner = $this->getOwner(); FPM::deleteFiles($owner->{$this->attributeName}); }