Commit 224153e3773165432c532ab14051131e19ec62bc

Authored by Eduardo Heinske
1 parent 98f1402b

Ajuste no script

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  
... ...