3v4l.org

run code in 500+ PHP versions simultaneously
<?php declare(strict_types=1); // VM8 $vm[8] = [ 'juridico_adm', 'juridico_advogo', 'juridico_alecrimcosta', 'juridico_bck', 'juridico_borchardt', 'juridico_condoconta', 'juridico_confi', 'juridico_costaesa', 'juridico_covoloadvogados', 'juridico_dejur', 'juridico_dejur_bkp', 'juridico_demo', 'juridico_drumond', 'juridico_evl', 'juridico_fva', 'juridico_galvaoleonardo', 'juridico_gradv', 'juridico_gs', 'juridico_hba', 'juridico_jairavansi', 'juridico_jalocacoes', 'juridico_jgg', 'juridico_kazapi', 'juridico_leonato', 'juridico_marinsbertoldi', 'juridico_masa', 'juridico_medeirossantos', 'juridico_medina', 'juridico_mme', 'juridico_monteiro', 'juridico_mosello', 'juridico_mvsadv', 'juridico_nfa', 'juridico_orr', 'juridico_padrao', 'juridico_paglia', 'juridico_pbds', 'juridico_pcpadv', 'juridico_pqadv', 'juridico_pz', 'juridico_qmr', 'juridico_queirozeandrade', 'juridico_rangelmoreira', 'juridico_sarturi', 'juridico_smnadv', 'juridico_tgs_old', 'juridico_total', 'juridico_victorlopes', 'juridico_vmz', ]; // VM9 $vm[9] = [ 'juridico_baccin', 'juridico_bortolotto', 'juridico_casadolima', 'juridico_cbsprev', 'juridico_cmcadvogados', 'juridico_cms', 'juridico_cosso', 'juridico_dladv', 'juridico_dottoreis', 'juridico_dsmaazulay', 'juridico_fcar', 'juridico_frutuoso', 'juridico_grupooad', 'juridico_guimaraes', 'juridico_inpejam', 'juridico_jnpmadvogados', 'juridico_laloni', 'juridico_lbr', 'juridico_lzadv', 'juridico_mirandamafra', 'juridico_pbt', 'juridico_reiscostaadvogados', 'juridico_rigon', 'juridico_rossetto', 'juridico_senso', 'juridico_siqueiracastro', 'juridico_tagliariadvogados', 'juridico_teste', 'juridico_ztfadvogados', 'juridico_zuninoadv', ]; //VM10 $vm[10] = [ 'juridico_abacocalculos', 'juridico_advocaciapalma', 'juridico_alvaroalfredo', 'juridico_amorecuidado', 'juridico_bobsinvidal', 'juridico_bp', 'juridico_brancomiele', 'juridico_brizolaejapur', 'juridico_ca', 'juridico_caasc', 'juridico_ccbadv', 'juridico_cemin', 'juridico_clvadv', 'juridico_comoregistrar', 'juridico_condominio', 'juridico_cupertinocapital', 'juridico_donaadv', 'juridico_fasnadv', 'juridico_gnl', 'juridico_goulart', 'juridico_gr', 'juridico_isaacmiranda', 'juridico_laecioadv', 'juridico_mcga', 'juridico_mortoza', 'juridico_msa', 'juridico_quetesadvocacia', 'juridico_regent', 'juridico_roneely', 'juridico_rosajunior', 'juridico_sarloemachado', 'juridico_sdvadv', 'juridico_shr', 'juridico_sotopietra', ]; //VM11: $vm[11] = [ 'juridico_assisesiqueira', 'juridico_cavallazzi', 'juridico_chavesemaran', 'juridico_cmmlaw', 'juridico_gislandia', 'juridico_jacintolaw', 'juridico_marciomoraes', 'juridico_msradvogados', 'juridico_nascimentomourao', 'juridico_pereiraeprates', 'juridico_pradiadvogados', 'juridico_sobrecontroller', 'juridico_wecontroll', ]; $vm[12] = [ 'juridico_teste', ]; //Departamentos oculto //$query = function (string $base): string { // return "SELECT '{$base}' AS `base`," // . " (SELECT COUNT(*) FROM `{$base}`.`departamentos` WHERE `flag_oculto` = 1) AS `dep_ocultos`," // . " (SELECT COUNT(*) FROM `{$base}`.`departamentos`) AS `dep_total`;"; //}; //Coordenadores que perdem acesso por departamento oculto //Retorno: número de coordenadores //$query = function (string $base): string { // return "SELECT '{$base}' AS `base`, COUNT(DISTINCT `dxr`.`usuarios_id`) AS `coord_dep_oculto`" // . " FROM `{$base}`.`departamento_x_responsavel` AS `dxr`" // . " INNER JOIN `{$base}`.`departamentos` AS `dep`" // . " ON `dep`.`departamentos_id` = `dxr`.`departamentos_id`" // . " INNER JOIN `{$base}`.`usuarios` AS `u` ON `u`.`usuarios_id` = `dxr`.`usuarios_id`" // . " WHERE `dxr`.`flag_oculto` = 0 AND `dxr`.`flag_coordenador` = 1" // . " AND `dep`.`flag_oculto` = 1 AND `u`.`flag_oculto` = 0;"; //}; //Supervisores que perdem acesso por departamento oculto //Retorno: número de supervisores //$query = function (string $base): string { // return "SELECT '{$base}' AS `base`, COUNT(DISTINCT `uxd`.`usuarios_id`) AS `superv_dep_oculto`" // . " FROM `{$base}`.`usuarios_x_dep` AS `uxd`" // . " INNER JOIN `{$base}`.`departamentos` AS `dep`" // . " ON `dep`.`departamentos_id` = `uxd`.`departamentos_id`" // . " INNER JOIN `{$base}`.`usuarios` AS `u` ON `u`.`usuarios_id` = `uxd`.`usuarios_id`" // . " WHERE `uxd`.`flag_supervisor` = 1" // . " AND `dep`.`flag_oculto` = 1 AND `u`.`flag_oculto` = 0;"; //}; //tarefa que hoje é filtrável/editável por coordenador ou supervisor e deixa de ser. //ao filtrar por um usuário, tarefas cujo processo está em //departamento oculto deixam de aparecer pelo vínculo coordenador/supervisor //Retorno: quantidade de tarefas //$query = function (string $base): string { // return "SELECT '{$base}' AS `base`, COUNT(DISTINCT `pxe`.`pxe_id`) AS `tarefas_perdidas`" // . " FROM `{$base}`.`processos_x_etapas` AS `pxe`" // . " INNER JOIN `{$base}`.`processos` AS `pr` ON `pr`.`processos_id` = `pxe`.`processos_id`" // . " INNER JOIN `{$base}`.`departamentos` AS `dep`" // . " ON `dep`.`departamentos_id` = `pr`.`departamentos_id`" // . " WHERE `pxe`.`flag_oculto` = 0 AND `pr`.`flag_oculto` = 0" // . " AND `dep`.`flag_oculto` = 1" // . " AND (EXISTS(SELECT 1 FROM `{$base}`.`departamento_x_responsavel` AS `dxr`" // . " WHERE `dxr`.`departamentos_id` = `pr`.`departamentos_id`" // . " AND `dxr`.`flag_oculto` = 0 AND `dxr`.`flag_coordenador` = 1)" // . " OR EXISTS(SELECT 1 FROM `{$base}`.`usuarios_x_dep` AS `uxd`" // . " WHERE `uxd`.`departamentos_id` = `pr`.`departamentos_id`" // . " AND `uxd`.`flag_supervisor` = 1));"; //}; //Parametro usr_dep_restringe $query = function (string $base): string { return "SELECT '{$base}' AS `base`," . " EXISTS(SELECT 1 FROM (SELECT `sp`.`sys_par_valor` AS `valor`" . " FROM `{$base}`.`sys_par` AS `sp`" . " WHERE `sp`.`sys_par_nome` = 'usr_dep_restringe' AND `sp`.`flag_oculto` = 0" . " ORDER BY `sp`.`sys_par_id` DESC LIMIT 1) AS `ult`" . " WHERE TRIM(`ult`.`valor`) NOT IN ('', '0')) AS `restringe_ativo`," . " EXISTS(SELECT 1 FROM `{$base}`.`sys_par_usr` AS `spu`" . " INNER JOIN `{$base}`.`sys_par` AS `sp2` ON `sp2`.`sys_par_id` = `spu`.`sys_par_id`" . " WHERE `sp2`.`sys_par_nome` = 'usr_dep_restringe' AND `spu`.`flag_oculto` = 0) AS `tem_sobrescrita`;"; }; $nroVm = 11; foreach ($vm[$nroVm] as $key => $base) { echo $query($base) . PHP_EOL; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 15, Position 2 = 23
Branch analysis from position: 15
2 jumps found. (Code = 78) Position 1 = 16, Position 2 = 23
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
filename:       /in/ulOO6
function name:  (null)
number of ops:  25
compiled vars:  !0 = $vm, !1 = $query, !2 = $nroVm, !3 = $base, !4 = $key
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    6     0  E >   ASSIGN_DIM                                                   !0, 8
    7     1        OP_DATA                                                      <array>
   59     2        ASSIGN_DIM                                                   !0, 9
   60     3        OP_DATA                                                      <array>
   93     4        ASSIGN_DIM                                                   !0, 10
   94     5        OP_DATA                                                      <array>
  131     6        ASSIGN_DIM                                                   !0, 11
  132     7        OP_DATA                                                      <array>
  147     8        ASSIGN_DIM                                                   !0, 12
  148     9        OP_DATA                                                      <array>
  203    10        DECLARE_LAMBDA_FUNCTION                              ~10     [0]
         11        ASSIGN                                                       !1, ~10
  215    12        ASSIGN                                                       !2, 11
  216    13        FETCH_DIM_R                                          ~13     !0, !2
         14      > FE_RESET_R                                           $14     ~13, ->23
         15    > > FE_FETCH_R                                           ~15     $14, !3, ->23
         16    >   ASSIGN                                                       !4, ~15
  217    17        INIT_DYNAMIC_CALL                                            !1
         18        SEND_VAR_EX                                                  !3
         19        DO_FCALL                                          0  $17     
         20        CONCAT                                               ~18     $17, '%0A'
         21        ECHO                                                         ~18
  216    22      > JMP                                                          ->15
         23    >   FE_FREE                                                      $14
  218    24      > RETURN                                                       1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ulOO6
function name:  {closure:/in/ulOO6:203}
number of ops:  25
compiled vars:  !0 = $base
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
  203     0  E >   RECV                                                 !0      
  204     1        ROPE_INIT                                         3  ~2      'SELECT+%27'
          2        ROPE_ADD                                          1  ~2      ~2, !0
          3        ROPE_END                                          2  ~1      ~2, '%27+AS+%60base%60%2C'
  205     4        CONCAT                                               ~4      ~1, '+EXISTS%28SELECT+1+FROM+%28SELECT+%60sp%60.%60sys_par_valor%60+AS+%60valor%60'
  206     5        ROPE_INIT                                         3  ~6      '+FROM+%60'
          6        ROPE_ADD                                          1  ~6      ~6, !0
          7        ROPE_END                                          2  ~5      ~6, '%60.%60sys_par%60+AS+%60sp%60'
          8        CONCAT                                               ~8      ~4, ~5
  207     9        CONCAT                                               ~9      ~8, '+WHERE+%60sp%60.%60sys_par_nome%60+%3D+%27usr_dep_restringe%27+AND+%60sp%60.%60flag_oculto%60+%3D+0'
  208    10        CONCAT                                               ~10     ~9, '+ORDER+BY+%60sp%60.%60sys_par_id%60+DESC+LIMIT+1%29+AS+%60ult%60'
  209    11        CONCAT                                               ~11     ~10, '+WHERE+TRIM%28%60ult%60.%60valor%60%29+NOT+IN+%28%27%27%2C+%270%27%29%29+AS+%60restringe_ativo%60%2C'
  210    12        ROPE_INIT                                         3  ~13     '+EXISTS%28SELECT+1+FROM+%60'
         13        ROPE_ADD                                          1  ~13     ~13, !0
         14        ROPE_END                                          2  ~12     ~13, '%60.%60sys_par_usr%60+AS+%60spu%60'
         15        CONCAT                                               ~15     ~11, ~12
  211    16        ROPE_INIT                                         3  ~17     '+INNER+JOIN+%60'
         17        ROPE_ADD                                          1  ~17     ~17, !0
         18        ROPE_END                                          2  ~16     ~17, '%60.%60sys_par%60+AS+%60sp2%60+ON+%60sp2%60.%60sys_par_id%60+%3D+%60spu%60.%60sys_par_id%60'
         19        CONCAT                                               ~19     ~15, ~16
  212    20        CONCAT                                               ~20     ~19, '+WHERE+%60sp2%60.%60sys_par_nome%60+%3D+%27usr_dep_restringe%27+AND+%60spu%60.%60flag_oculto%60+%3D+0%29+AS+%60tem_sobrescrita%60%3B'
         21        VERIFY_RETURN_TYPE                                           ~20
         22      > RETURN                                                       ~20
  213    23*       VERIFY_RETURN_TYPE                                           
         24*     > RETURN                                                       null

End of Dynamic Function 0

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
158.57 ms | 1389 KiB | 8 Q