private function _validatePlugin($pluginName) { $pluginFolder = realpath($this->_uploadHandler->getDestination() . '/' . $pluginName); if ($pluginFolder === false) { return 'Plugin directory don\'t match the archive name.'; } if (!is_dir($pluginFolder)) { return 'Can not create folder for unpack zip file. 0peration not permitted.'; } $listFiles = Tools_Filesystem_Tools::scanDirectory($pluginFolder); if (empty($listFiles)) { return 'Your plugin directory is empty.'; } if (!preg_match("/^[a-zA-Z-0-9]{1,255}\$/", $pluginName)) { return 'Theme name is invalid. Only letters, digits and dashes allowed.'; } if (!in_array(ucfirst($pluginName) . '.php', $listFiles)) { return 'Plugin main file doesn\'t exist or has a wrong name'; } if (!in_array('readme.txt', $listFiles)) { return 'File "readme.txt" doesn\'t exist.'; } return true; }