Commit 224153e3773165432c532ab14051131e19ec62bc
1 parent
98f1402b
Exists in
master
and in
7 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 | ... | ... |