public static function recurseCopy($src, $dst) { $dir = opendir($src); @mkdir($dst); while (false !== ($file = readdir($dir))) { if ($file != '.' && $file != '..') { if (is_dir($src . '/' . $file)) { DirectoryHelper::recurseCopy($src . '/' . $file, $dst . '/' . $file); } else { copy($src . '/' . $file, $dst . '/' . $file); } } } closedir($dir); }
} if (file_exists($pathToNewModule) && is_dir($pathToNewModule)) { echo "ERROR: module with name '{$newModuleName}' already exists. Use different name for new module. Use '-h' for help.\n"; exit(-1); } if (!file_exists($moduleToCreateFromPath) && !is_dir($moduleToCreateFromPath)) { echo "ERROR: module '{$moduleToCreateFromName}' doesnt exists. Please use another module as the image. Use '-h' for help.\n"; exit(-1); } /***************************************************************************** * Code itself *****************************************************************************/ /** * Copy code of image module to new module. */ DirectoryHelper::recurseCopy($moduleToCreateFromPath, $pathToNewModule); /** * Renaming files. Renaming classes. Renaming folder. */ $adminPresenters = $pathToNewModule . "AdminModule/presenters/"; $frontPresenters = $pathToNewModule . "FrontModule/presenters/"; $oldClassName = "Module" . $moduleToCreateFromName . "Presenter"; $newClassName = "Module" . $newModuleName . "Presenter"; $adminPresenter = $adminPresenters . $newClassName . ".php"; $frontPresenter = $frontPresenters . $newClassName . ".php"; $newModuleFile = $pathToNewModule . "model/Module" . $newModuleName . ".php"; if (file_exists($adminPresenters . $oldClassName . ".php")) { rename($adminPresenters . $oldClassName . ".php", $adminPresenter); } else { echo "ERROR: file '" . $adminPresenters . $oldClassName . ".php' does not exists. Check it.\n"; }