/** * Remove directory and all files */ function recursiveDirRemove($dir) { foreach (glob($dir . '/*') as $file) { if (is_dir($file)) { recursiveDirRemove($file); } else { @unlink($file); } } @rmdir($dir); }
/** * Before delete event */ public function beforeDelete() { // Delete all theme files first ThemeFile::model()->deleteAll('theme_id=:id', array(':id' => $this->id)); // Delete theme folder with all files $path = Yii::getPathOfAlias('application.www.themes'); $themeDir = $path . '/' . $this->dirname; if (is_dir($themeDir)) { recursiveDirRemove($themeDir); } return parent::beforeDelete(); }