public function uninstall() { parent::uninstall(); //1. remove template for advanced search panel $rootPath = RM_Environment::getConnector()->getRootPath(); $file = implode(DIRECTORY_SEPARATOR, array($rootPath, 'RM', 'userdata', 'views', 'user', 'scripts', 'Search', 'advanced', 'category_advancedsearch.phtml')); RM_Filesystem::deleteFile($file); //2. remove information about this panel from database in form->state field $formModel = new RM_Forms(); $form = $formModel->find('advancedsearch')->current(); $deleted = $form->deletePanel('category_advancedsearch'); if ($deleted) { $form->save(); } }
/** * Delete recursivly folder/file in the system * * @param string $foldername - full folder/file path * @return bool */ public static function deleteFolder($foldername) { if (is_file($foldername)) { return RM_Filesystem::deleteFile($foldername); } if (is_dir($foldername)) { if ($handle = opendir($foldername)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { RM_Filesystem::deleteFolder($foldername . DIRECTORY_SEPARATOR . $file); } } } closedir($handle); rmdir($foldername); } return true; }
/** * Delete all files related to language with folder * * @param string $iso * @return null */ private function _deleteLanguageFiles($iso) { $languageFolder = $this->_folderPath . DIRECTORY_SEPARATOR . $iso; //Delete all language files with folder RM_Filesystem::deleteFolder($languageFolder); //Delete language icon RM_Filesystem::deleteFile($this->getIconPath($iso)); }