Commit 224153e3773165432c532ab14051131e19ec62bc

Authored by Eduardo Heinske
1 parent 98f1402b

Ajuste no script

rn/PenAtualizadorRN.php
@@ -7,14 +7,14 @@ @@ -7,14 +7,14 @@
7 abstract class PenAtualizadorRN extends InfraRN { 7 abstract class PenAtualizadorRN extends InfraRN {
8 8
9 const VER_NONE = '0.0.0';// Modulo não instalado 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 const VER_002 = '0.0.2'; 11 const VER_002 = '0.0.2';
12 const VER_003 = '0.0.3'; 12 const VER_003 = '0.0.3';
13 const VER_004 = '0.0.4'; 13 const VER_004 = '0.0.4';
14 const VER_005 = '0.0.5'; 14 const VER_005 = '0.0.5';
15 const VER_006 = '0.0.6'; 15 const VER_006 = '0.0.6';
16 const VER_007 = '0.0.7'; 16 const VER_007 = '0.0.7';
17 - const VER_008 = '0.0.8';*/ 17 + const VER_008 = '0.0.8';
18 const VER_100 = '1.0.0'; 18 const VER_100 = '1.0.0';
19 19
20 protected $sei_versao; 20 protected $sei_versao;
@@ -242,8 +242,8 @@ abstract class PenAtualizadorRN extends InfraRN { @@ -242,8 +242,8 @@ abstract class PenAtualizadorRN extends InfraRN {
242 $strPenVersao = $this->setVersao(self::VER_NONE, $objInfraBanco); 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 $bolAlgumFiltroUsado = false; 248 $bolAlgumFiltroUsado = false;
249 $strRegexRelease = $this->getStrArg('release', '(R%s)', '(R[0-9]{1,3})?', $bolAlgumFiltroUsado); 249 $strRegexRelease = $this->getStrArg('release', '(R%s)', '(R[0-9]{1,3})?', $bolAlgumFiltroUsado);
@@ -254,7 +254,7 @@ abstract class PenAtualizadorRN extends InfraRN { @@ -254,7 +254,7 @@ abstract class PenAtualizadorRN extends InfraRN {
254 // Instalar todas atualizações 254 // Instalar todas atualizações
255 if($bolAlgumFiltroUsado === false) { 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 // Instalar somente a solicitada 259 // Instalar somente a solicitada
260 else { 260 else {
@@ -262,17 +262,23 @@ abstract class PenAtualizadorRN extends InfraRN { @@ -262,17 +262,23 @@ abstract class PenAtualizadorRN extends InfraRN {
262 $strVersaoInstalar = $strPenVersao; 262 $strVersaoInstalar = $strPenVersao;
263 $strRegexVersao = intval(substr($strPenVersao, -1) + 1); 263 $strRegexVersao = intval(substr($strPenVersao, -1) + 1);
264 } 264 }
265 - 265 +
266 // instalarV[0-9]{1,2}[0-9](R[0-9]{1,3})?(S[0-9]{1,3})?(US|IW[0-9]{1,4})? 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 // Tenta encontrar métodos que iniciem com instalar 269 // Tenta encontrar métodos que iniciem com instalar
275 $arrMetodo = (array)preg_grep ($strRegex, get_class_methods($this)); 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 if(empty($arrMetodo)) { 283 if(empty($arrMetodo)) {
278 284
rn/PenAtualizarSeiRN.php
@@ -17,7 +17,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -17,7 +17,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
17 return $this->objBanco; 17 return $this->objBanco;
18 } 18 }
19 19
20 - protected function instalarV100(){ 20 + protected function instalarV001(){
21 21
22 $objInfraBanco = $this->inicializarObjInfraIBanco(); 22 $objInfraBanco = $this->inicializarObjInfraIBanco();
23 $objMetaBD = $this->inicializarObjMetaBanco(); 23 $objMetaBD = $this->inicializarObjMetaBanco();
@@ -603,18 +603,6 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -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,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 /* protected function instalarV008R004S006WI001(){ 955 /* protected function instalarV008R004S006WI001(){
sip_atualizar_versao_modulo_pen.php
@@ -425,6 +425,11 @@ class PenMetaBD extends InfraMetaBD { @@ -425,6 +425,11 @@ class PenMetaBD extends InfraMetaBD {
425 abstract class PenAtualizadorRN extends InfraRN { 425 abstract class PenAtualizadorRN extends InfraRN {
426 426
427 const VER_NONE = '0.0.0'; // Modulo não instalado 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 const VER_100 = '1.0.0'; 433 const VER_100 = '1.0.0';
429 434
430 protected $sei_versao; 435 protected $sei_versao;
@@ -651,8 +656,10 @@ abstract class PenAtualizadorRN extends InfraRN { @@ -651,8 +656,10 @@ abstract class PenAtualizadorRN extends InfraRN {
651 $strPenVersao = $this->setVersao(self::VER_NONE, $objInfraBanco); 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 $bolAlgumFiltroUsado = false; 664 $bolAlgumFiltroUsado = false;
658 $strRegexRelease = $this->getStrArg('release', '(R%s)', '(R[0-9]{1,3})?', $bolAlgumFiltroUsado); 665 $strRegexRelease = $this->getStrArg('release', '(R%s)', '(R[0-9]{1,3})?', $bolAlgumFiltroUsado);
@@ -662,8 +669,21 @@ abstract class PenAtualizadorRN extends InfraRN { @@ -662,8 +669,21 @@ abstract class PenAtualizadorRN extends InfraRN {
662 669
663 // Instalar todas atualizações 670 // Instalar todas atualizações
664 if ($bolAlgumFiltroUsado === false) { 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 // Instalar somente a solicitada 688 // Instalar somente a solicitada
669 else { 689 else {
@@ -673,12 +693,25 @@ abstract class PenAtualizadorRN extends InfraRN { @@ -673,12 +693,25 @@ abstract class PenAtualizadorRN extends InfraRN {
673 } 693 }
674 694
675 // instalarV[0-9]{1,2}[0-9](R[0-9]{1,3})?(S[0-9]{1,3})?(US|IW[0-9]{1,4})? 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 // Tenta encontrar métodos que iniciem com instalar 701 // Tenta encontrar métodos que iniciem com instalar
680 $arrMetodo = (array) preg_grep($strRegex, get_class_methods($this)); 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 if (empty($arrMetodo)) { 715 if (empty($arrMetodo)) {
683 716
684 throw new InfraException(sprintf('NENHUMA ATUALIZACAO FOI ENCONTRADA SUPERIOR A VERSAO %s DO MODULO PEN', $strPenVersao)); 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,16 +983,11 @@ class PenAtualizarSipRN extends PenAtualizadorRN {
950 $fnCadastrar('BASICO', $numIdSistema); 983 $fnCadastrar('BASICO', $numIdSistema);
951 } 984 }
952 985
953 - public function instalarV100(){  
954 - $this->instalarV001R001S001IW001();  
955 - $this->instalarV003R003S003IW001();  
956 - }  
957 -  
958 /** 986 /**
959 * Instala/Atualiza os módulo PEN para versão 1.0 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 $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema); 991 $numIdMenu = $this->getNumIdMenu('Principal', $numIdSistema);
964 992
965 //---------------------------------------------------------------------- 993 //----------------------------------------------------------------------
@@ -1017,15 +1045,12 @@ class PenAtualizarSipRN extends PenAtualizadorRN { @@ -1017,15 +1045,12 @@ class PenAtualizarSipRN extends PenAtualizadorRN {
1017 $this->criarMenu('Listar', 20, $numIdItemMenuPai, $numIdMenu, $numIdRecurso, $numIdSistema); 1045 $this->criarMenu('Listar', 20, $numIdItemMenuPai, $numIdMenu, $numIdRecurso, $numIdSistema);
1018 1046
1019 //Atribui as permissões aos recursos e menus 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 protected function instalarV003R003S003IW001() { 1051 protected function instalarV003R003S003IW001() {
1027 -  
1028 - $objBD = new ItemMenuBD($this->inicializarObjInfraIBanco()); 1052 +
  1053 + $objBD = new ItemMenuBD($this->inicializarObjInfraIBanco());
1029 1054
1030 //---------------------------------------------------------------------- 1055 //----------------------------------------------------------------------
1031 // Achar o root 1056 // Achar o root
@@ -1085,10 +1110,10 @@ class PenAtualizarSipRN extends PenAtualizadorRN { @@ -1085,10 +1110,10 @@ class PenAtualizarSipRN extends PenAtualizadorRN {
1085 1110
1086 $objBD->excluir($objItemMenuDTO); 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