Commit 224153e3773165432c532ab14051131e19ec62bc
1 parent
98f1402b
Exists in
master
and in
19 other branches
Ajuste no script
Showing
3 changed files
with
66 additions
and
44 deletions
Show diff stats
rn/PenAtualizadorRN.php
| ... | ... | @@ -7,14 +7,14 @@ |
| 7 | 7 | abstract class PenAtualizadorRN extends InfraRN { |
| 8 | 8 | |
| 9 | 9 | const VER_NONE = '0.0.0';// Modulo não instalado |
| 10 | - /* const VER_001 = '0.0.1'; | |
| 10 | + const VER_001 = '0.0.1'; | |
| 11 | 11 | const VER_002 = '0.0.2'; |
| 12 | 12 | const VER_003 = '0.0.3'; |
| 13 | 13 | const VER_004 = '0.0.4'; |
| 14 | 14 | const VER_005 = '0.0.5'; |
| 15 | 15 | const VER_006 = '0.0.6'; |
| 16 | 16 | const VER_007 = '0.0.7'; |
| 17 | - const VER_008 = '0.0.8';*/ | |
| 17 | + const VER_008 = '0.0.8'; | |
| 18 | 18 | const VER_100 = '1.0.0'; |
| 19 | 19 | |
| 20 | 20 | protected $sei_versao; |
| ... | ... | @@ -242,8 +242,8 @@ abstract class PenAtualizadorRN extends InfraRN { |
| 242 | 242 | $strPenVersao = $this->setVersao(self::VER_NONE, $objInfraBanco); |
| 243 | 243 | } |
| 244 | 244 | |
| 245 | - $numPenVersao = substr($strPenVersao, -1); | |
| 246 | - $numVersaoInstalar = intval(substr($strVersaoInstalar, -1)); | |
| 245 | + $numPenVersao = str_replace('.', '', $strPenVersao); | |
| 246 | + $numVersaoInstalar = intval(preg_replace('/\D+/', '', $strVersaoInstalar)); | |
| 247 | 247 | |
| 248 | 248 | $bolAlgumFiltroUsado = false; |
| 249 | 249 | $strRegexRelease = $this->getStrArg('release', '(R%s)', '(R[0-9]{1,3})?', $bolAlgumFiltroUsado); |
| ... | ... | @@ -254,7 +254,7 @@ abstract class PenAtualizadorRN extends InfraRN { |
| 254 | 254 | // Instalar todas atualizações |
| 255 | 255 | if($bolAlgumFiltroUsado === false) { |
| 256 | 256 | |
| 257 | - $strRegexVersao = sprintf('[%d\-%d]', ($numPenVersao + 1), $numVersaoInstalar); | |
| 257 | + $strRegexVersao = sprintf('[%d-%d]', ($numPenVersao + 1), $numVersaoInstalar); | |
| 258 | 258 | } |
| 259 | 259 | // Instalar somente a solicitada |
| 260 | 260 | else { |
| ... | ... | @@ -262,17 +262,23 @@ abstract class PenAtualizadorRN extends InfraRN { |
| 262 | 262 | $strVersaoInstalar = $strPenVersao; |
| 263 | 263 | $strRegexVersao = intval(substr($strPenVersao, -1) + 1); |
| 264 | 264 | } |
| 265 | - | |
| 265 | + | |
| 266 | 266 | // instalarV[0-9]{1,2}[0-9](R[0-9]{1,3})?(S[0-9]{1,3})?(US|IW[0-9]{1,4})? |
| 267 | - $strRegex = sprintf('/^instalarV[0-9][0-9]%s%s%s%s/i', | |
| 268 | - $strRegexVersao, | |
| 269 | - $strRegexRelease, | |
| 270 | - $strRegexSprint, | |
| 271 | - $strRegexItem | |
| 272 | - ); | |
| 267 | + $strRegex = sprintf('/^instalarV%s%s%s%s/i', $strRegexVersao, $strRegexRelease, $strRegexSprint, $strRegexItem); | |
| 273 | 268 | |
| 274 | 269 | // Tenta encontrar métodos que iniciem com instalar |
| 275 | 270 | $arrMetodo = (array)preg_grep ($strRegex, get_class_methods($this)); |
| 271 | + | |
| 272 | + $proximaVersao = $numPenVersao + 1; | |
| 273 | + | |
| 274 | + foreach($arrMetodo as $key => $metodo){ | |
| 275 | + $vers = str_replace('instalarV', '', $metodo); | |
| 276 | + $vers = (int) substr($vers, 0, 3); | |
| 277 | + | |
| 278 | + if($proximaVersao > $vers){ | |
| 279 | + unset($arrMetodo[$key]); | |
| 280 | + } | |
| 281 | + } | |
| 276 | 282 | |
| 277 | 283 | if(empty($arrMetodo)) { |
| 278 | 284 | ... | ... |
rn/PenAtualizarSeiRN.php
| ... | ... | @@ -17,7 +17,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 17 | 17 | return $this->objBanco; |
| 18 | 18 | } |
| 19 | 19 | |
| 20 | - protected function instalarV100(){ | |
| 20 | + protected function instalarV001(){ | |
| 21 | 21 | |
| 22 | 22 | $objInfraBanco = $this->inicializarObjInfraIBanco(); |
| 23 | 23 | $objMetaBD = $this->inicializarObjMetaBanco(); |
| ... | ... | @@ -603,18 +603,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 603 | 603 | } |
| 604 | 604 | } |
| 605 | 605 | //---------------------------------------------------------------------- |
| 606 | - | |
| 607 | - $this->instalarV002R003S000IW001(); | |
| 608 | - $this->instalarV002R003S000US024(); | |
| 609 | - $this->instalarV002R003S001US035(); | |
| 610 | - $this->instalarV003R003S003IW001(); | |
| 611 | - $this->instalarV004R003S003IW002(); | |
| 612 | - $this->instalarV005R003S005IW018(); | |
| 613 | - $this->instalarV005R003S005IW023(); | |
| 614 | - $this->instalarV006R004S004WI001(); | |
| 615 | - $this->instalarV007R004S005WI002(); | |
| 616 | - $this->instalarV008R004S006IW003(); | |
| 617 | - | |
| 618 | 606 | } |
| 619 | 607 | |
| 620 | 608 | /** |
| ... | ... | @@ -959,6 +947,9 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 959 | 947 | |
| 960 | 948 | } |
| 961 | 949 | |
| 950 | + public function instalarV100R004S006IW004(){ | |
| 951 | + //Atualiza o parâmetro | |
| 952 | + } | |
| 962 | 953 | |
| 963 | 954 | |
| 964 | 955 | /* protected function instalarV008R004S006WI001(){ | ... | ... |
sip_atualizar_versao_modulo_pen.php
| ... | ... | @@ -425,6 +425,11 @@ class PenMetaBD extends InfraMetaBD { |
| 425 | 425 | abstract class PenAtualizadorRN extends InfraRN { |
| 426 | 426 | |
| 427 | 427 | const VER_NONE = '0.0.0'; // Modulo não instalado |
| 428 | + const VER_001 = '0.0.1'; | |
| 429 | + const VER_002 = '0.0.2'; | |
| 430 | + const VER_003 = '0.0.3'; | |
| 431 | + const VER_004 = '0.0.4'; | |
| 432 | + const VER_005 = '0.0.5'; | |
| 428 | 433 | const VER_100 = '1.0.0'; |
| 429 | 434 | |
| 430 | 435 | protected $sei_versao; |
| ... | ... | @@ -651,8 +656,10 @@ abstract class PenAtualizadorRN extends InfraRN { |
| 651 | 656 | $strPenVersao = $this->setVersao(self::VER_NONE, $objInfraBanco); |
| 652 | 657 | } |
| 653 | 658 | |
| 654 | - $numPenVersao = substr($strPenVersao, -1); | |
| 655 | - $numVersaoInstalar = intval(substr($strVersaoInstalar, -1)); | |
| 659 | + $numPenVersao = str_replace('.', '', $strPenVersao); | |
| 660 | + | |
| 661 | + $numVersaoInstalar = intval(preg_replace('/\D+/', '', $strVersaoInstalar)); | |
| 662 | + //$numVersaoInstalar = intval(substr($strVersaoInstalar, -1)); | |
| 656 | 663 | |
| 657 | 664 | $bolAlgumFiltroUsado = false; |
| 658 | 665 | $strRegexRelease = $this->getStrArg('release', '(R%s)', '(R[0-9]{1,3})?', $bolAlgumFiltroUsado); |
| ... | ... | @@ -662,8 +669,21 @@ abstract class PenAtualizadorRN extends InfraRN { |
| 662 | 669 | |
| 663 | 670 | // Instalar todas atualizações |
| 664 | 671 | if ($bolAlgumFiltroUsado === false) { |
| 672 | + | |
| 673 | + /*list($v1, $r1, $s1) = explode('.', '1.0.1'); | |
| 674 | + list($v2, $r2, $s2) = explode('.', $strVersaoInstalar); | |
| 675 | + | |
| 676 | + $s1 = intval($s1) + 1; | |
| 677 | + $r1 = intval($r1) + 1; */ | |
| 665 | 678 | |
| 666 | - $strRegexVersao = sprintf('[%d\-%d]', ($numPenVersao + 1), $numVersaoInstalar); | |
| 679 | + // 0.0.5 - 1.5.0 | |
| 680 | + // 1.1.1 - 1.5.0 | |
| 681 | + | |
| 682 | + // (00[6-9]|1[5-9][0-9]) | |
| 683 | + // (11[1-9]|1[5-9][0-9]) | |
| 684 | + // $strRegexVersao = sprintf('(%s[%s-9][%s-9]|%s[%s-9][%s-9])', $v1, $r1, $s1, $v2, $r2, $s2); | |
| 685 | + | |
| 686 | + $strRegexVersao = sprintf('[%d-%d]', ($numPenVersao + 1), $numVersaoInstalar); | |
| 667 | 687 | } |
| 668 | 688 | // Instalar somente a solicitada |
| 669 | 689 | else { |
| ... | ... | @@ -673,12 +693,25 @@ abstract class PenAtualizadorRN extends InfraRN { |
| 673 | 693 | } |
| 674 | 694 | |
| 675 | 695 | // instalarV[0-9]{1,2}[0-9](R[0-9]{1,3})?(S[0-9]{1,3})?(US|IW[0-9]{1,4})? |
| 676 | - $strRegex = sprintf('/^instalarV[0-9][0-9]%s%s%s%s/i', $strRegexVersao, $strRegexRelease, $strRegexSprint, $strRegexItem | |
| 696 | + $strRegex = sprintf('/^instalarV%s%s%s%s/i', $strRegexVersao, $strRegexRelease, $strRegexSprint, $strRegexItem | |
| 677 | 697 | ); |
| 678 | 698 | |
| 699 | + | |
| 700 | + | |
| 679 | 701 | // Tenta encontrar métodos que iniciem com instalar |
| 680 | 702 | $arrMetodo = (array) preg_grep($strRegex, get_class_methods($this)); |
| 681 | 703 | |
| 704 | + $proximaVersao = $numPenVersao + 1; | |
| 705 | + | |
| 706 | + foreach($arrMetodo as $key => $metodo){ | |
| 707 | + $vers = str_replace('instalarV', '', $metodo); | |
| 708 | + $vers = (int) substr($vers, 0, 3); | |
| 709 | + | |
| 710 | + if($proximaVersao > $vers){ | |
| 711 | + unset($arrMetodo[$key]); | |
| 712 | + } | |
| 713 | + } | |
| 714 | + | |
| 682 | 715 | if (empty($arrMetodo)) { |
| 683 | 716 | |
| 684 | 717 | throw new InfraException(sprintf('NENHUMA ATUALIZACAO FOI ENCONTRADA SUPERIOR A VERSAO %s DO MODULO PEN', $strPenVersao)); |
| ... | ... | @@ -950,16 +983,11 @@ class PenAtualizarSipRN extends PenAtualizadorRN { |
| 950 | 983 | $fnCadastrar('BASICO', $numIdSistema); |
| 951 | 984 | } |
| 952 | 985 | |
| 953 | - public function instalarV100(){ | |
| 954 | - $this->instalarV001R001S001IW001(); | |
| 955 | - $this->instalarV003R003S003IW001(); | |
| 956 | - } | |
| 957 | - | |
| 958 | 986 | /** |
| 959 | 987 | * Instala/Atualiza os módulo PEN para versão 1.0 |
| 960 | 988 | */ |
| 961 | - protected function instalarV001R001S001IW001() { | |
| 962 | - $numIdSistema = $this->getNumIdSistema('SEI'); | |
| 989 | + protected function instalarV001() { | |
| 990 | + $numIdSistema = $this->getNumIdSistema('SEI'); | |
| 963 | 991 | $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); |
| 964 | 992 | |
| 965 | 993 | //---------------------------------------------------------------------- |
| ... | ... | @@ -1017,15 +1045,12 @@ class PenAtualizarSipRN extends PenAtualizadorRN { |
| 1017 | 1045 | $this->criarMenu('Listar', 20, $numIdItemMenuPai, $numIdMenu, $numIdRecurso, $numIdSistema); |
| 1018 | 1046 | |
| 1019 | 1047 | //Atribui as permissões aos recursos e menus |
| 1020 | - $this->atribuirPerfil($numIdSistema); | |
| 1021 | - | |
| 1022 | - $this->instalarV003R003S003IW001(); | |
| 1048 | + $this->atribuirPerfil($numIdSistema); | |
| 1023 | 1049 | } |
| 1024 | 1050 | |
| 1025 | - | |
| 1026 | 1051 | protected function instalarV003R003S003IW001() { |
| 1027 | - | |
| 1028 | - $objBD = new ItemMenuBD($this->inicializarObjInfraIBanco()); | |
| 1052 | + | |
| 1053 | + $objBD = new ItemMenuBD($this->inicializarObjInfraIBanco()); | |
| 1029 | 1054 | |
| 1030 | 1055 | //---------------------------------------------------------------------- |
| 1031 | 1056 | // Achar o root |
| ... | ... | @@ -1085,10 +1110,10 @@ class PenAtualizarSipRN extends PenAtualizadorRN { |
| 1085 | 1110 | |
| 1086 | 1111 | $objBD->excluir($objItemMenuDTO); |
| 1087 | 1112 | } |
| 1088 | - } | |
| 1113 | + } | |
| 1089 | 1114 | } |
| 1090 | 1115 | |
| 1091 | - protected function instalarV005R001S001IW001(){ | |
| 1116 | + protected function instalarV100R001S001IW001(){ | |
| 1092 | 1117 | |
| 1093 | 1118 | } |
| 1094 | 1119 | ... | ... |