/** * Executa rollback das rotas do modulo * * @param array $rollback * @return array|bool */ private static function runRoutesRollback(array $rollback) { $errors = []; if (array_key_exists(Strings::ROLLBACK_OLD_ROUTES_TAG, $rollback)) { if (file_put_contents(PathHelper::getLaravelRoutesPath(), str_replace(file_get_contents(PathHelper::getLaravelRoutesPath()), EscapeHelper::decode($rollback[Strings::ROLLBACK_OLD_ROUTES_TAG]), file_get_contents(PathHelper::getLaravelRoutesPath()))) == false) { $errors[] = Strings::ERROR_WRITE_ROUTES_FILE; } } return !empty($errors) ? $errors : true; }
/** * Constroi as rotas dos modulos * * @param string $moduleType * @param string $moduleName * @param array $rollback * @return array|bool */ public static function buildRoutes($moduleType, $moduleName, array &$rollback) { $errors = []; //Cria registro no rollback dizendo que o arquivo foi copiado $rollback[Strings::ROLLBACK_ROUTES_BUILDER_TAG] = EscapeHelper::encode(file_get_contents(PathHelper::getRouteBuilderPath())); //constroi o array do routesBuilder $routeBuilder = RouteBuilder::getRoutesBuilder(PathHelper::getRouteBuilderPath()); //verifica se foi construido um array valido if ($routeBuilder !== false) { //inclui as novas rotas ao array do routeBuilder $routeBuilder = RouteBuilder::includeToRoutesBuilder($routeBuilder, PathHelper::getModuleRoutesPath($moduleType, $moduleName)); //verifica se o array de rotas continua vĂ¡lido if ($routeBuilder !== false) { //tenta salvar o novo array do routesBuilder if (RouteBuilder::saveRoutesBuilder($routeBuilder, PathHelper::getRouteBuilderPath()) != false) { //Cria registro no rollback dizendo que o arquivo foi copiado $rollback[Strings::ROLLBACK_OLD_ROUTES_TAG] = EscapeHelper::encode(file_get_contents(PathHelper::getLaravelRoutesPath())); //tenta construir o arquivo de rotas gera baseado no array savo do routesBuilder if (RouteBuilder::buildRoutes($routeBuilder) === false) { $errors[] = Strings::ERROR_ROUTES_FILE_SAVE; } } else { $errors[] = Strings::ERROR_ROUTES_BUILDER_SAVE; } } else { $errors[] = Strings::ERROR_INCLUDE_TO_ROUTES_BUILDER_SAVE; } } else { $errors[] = Strings::ERROR_ROUTES_BUILDER_GEN; } return !empty($errors) ? $errors : true; }