Comunidad de diseño web y desarrollo en internet online

Request PHP

Citar            
MensajeEscrito el 23 Feb 2020 04:11 am
Buenas foro estoy recien incorporandome al lenguaje de php y no comprendo como realizar un request ya que estoy modificando un codigo ya generado pero requiero traer un dato desde la misma manera que se esta utilizando por lo cual me gustaria poder conocer mas ya que esto funciona a base de una consulta en mysql. El sistema recorre documentos y genera la visualizacion y listado de estas para que el usuario pueda seleccionar uno a uno los documentos y estos sean legibles ahora requiero de generar una ruta dinamica de dichos documentos. Adjunto los archivos.

BptRemoteClientBase.php

Código PHP :

class BptRemoteClientBase{
public $sessionId="";
public $webserviceUrl="";
public $msg="";
 function getDocumentRevision($documentRevisionId){
          $parameters = array(
            'session'=> $this->sessionId,
            'id'=> $documentRevisionId,
        );
        $response=$this->makeCall('get_document_revision',$parameters);
        $return=$this->processGetDocumentRevision($response);
        return $return;
    }
    
    protected function processGetDocumentRevision($response) {
        
    }


documento.php

Código PHP :

require_once ('config.php');
require_once ('BptCdcClient.php');
$BptCliente=new BptCdcClient(WEB_SERVICE_URL);
$username="operador";
$password="0p3r4d0r";
$BptCliente->logIn($username, $password);
$documento=$BptCliente->getDocumentRevision($_REQUEST['id']);

header('Content-type: application/pdf');
header("Content-Disposition: attachment; filename=".$documento->document_revision->filename);
header("Content-Disposition: attachment; ruta=".$data->branch->ruta);
header('Content-Transfer-Encoding: binary');
echo base64_decode( $documento->document_revision->file);


BptCdcClient.php

Código PHP :

function buscarPartes($fiscalia,$unidadPolicial,$agno,$tipoParte,$numeroParte,$rangeBa,$rangeBb,$offset,$maxResPorPagina){
        require_once("../dockeyst-cdc/config.php");
        $link = mysql_connect($sugar_config['dbconfig']['db_host_name'],
            $sugar_config['dbconfig']['db_user_name'],
            $sugar_config['dbconfig']['db_password']);
        $db_selected = mysql_select_db($sugar_config['dbconfig']['db_name'], $link);
        
        $query="SELECT * FROM documents doc JOIN documents_cstm doccstm ON (doc.id=doccstm.id_c) ";
         $where="WHERE deleted=0";
          if ($unidadPolicial!="" && isset($unidadPolicial)){
            if ($where!="")$where.=" AND ";
            $where.="doc.subcategory_id='".$unidadPolicial."'";
        }
         if ($agno!="" && isset($agno)){
             if ($where!="")$where.=" AND ";
            $where.="doc.category_id='".$agno."'";
        }
         if ($tipoParte!="" && isset($tipoParte)){
             if ($where!="")$where.=" AND ";
            $where.="doccstm.bpt_tipo_parte_c='".$tipoParte."'";
        }
         if ($numeroParte!="" && isset($numeroParte)){
             if ($where!="")$where.=" AND ";
            $where.="doccstm.bpt_numero_parte_c='".$numeroParte."'";
        }
        
        if ($fiscalia!="" && isset($fiscalia)){
             if ($where!="")$where.=" AND ";
            $where.="doccstm.bpt_juzgado_c='".$fiscalia."'";
        }
        
         if ($rangeBa!="" && isset($rangeBa) && $rangeBa!="" && isset($rangeBb)){
            if ($where!="")$where.=" AND ";
            $where.=" DATE(doc.date_entered) between '".$rangeBa."' AND '".$rangeBb."'";
        }
     
        $query=$query.$where." GROUP BY subcategory_id, bpt_juzgado_c,category_id,bpt_numero_parte_c ";
        
        $result = mysql_query($query, $link);
        $total=mysql_num_rows($result);
        $query=$query." ORDER BY doc.date_entered DESC LIMIT ".$offset.",".$maxResPorPagina;
        $result = mysql_query($query, $link);
        $result_count=mysql_num_rows($result);
        $lista=array();
        $lista["total_count"]=$total;
        $lista["result_count"]=$result_count;
        $lista["next_offset"]=$offset+$result_count;
        while ($row    = mysql_fetch_assoc($result)){
            $arr=array();
            $arr["name_value_list"]=$row;
            $lista["entry_list"][]=$arr;
        }
        
     return $lista;
    }


lista.php

Código PHP :

require_once ('BptCdcClient.php');
$BptCliente=new BptCdcClient(WEB_SERVICE_URL);
$BptCliente->sessionId=$_SESSION['_ID_'];
$usuarioList=$BptCliente->obtenerDatosUsuario();
foreach($usuarioList->entry_list as $usuario){
    $juzgado=$usuario->name_value_list->name->value;
    $codigoJuzgado=$usuario->name_value_list->department->value;
}


    //CAMBIO PARA RELLENAR CEROS A NUMERO DE PARTE 12-12-2012
        if (isset($_REQUEST["numParte"]) && $_REQUEST["numParte"]){
      $_REQUEST["numParte"]=sprintf("%05d",$_REQUEST["numParte"]);
   }
    //FIN 

    //Se pasan las variables de Request a la sesion
    $_SESSION= array_merge($_SESSION,$_REQUEST);

    $usuarioList=$BptCliente->obtenerDatosUsuario();
    foreach($usuarioList->entry_list as $usuario){
        $juzgado=$usuario->name_value_list->name->value;
        $codigoJuzgado=$usuario->name_value_list->department->value;
    }
    $lista=array();
    $mensaje="";
    $fechaIni="";
    $fechaFin="";
    //Se obtienen las listas de juzgados,unidades policiales
    $arrayJuzgados=$BptCliente->getDropDownList('Documents','bpt_juzgado_c');
    $arrayUnidadesPoliciales=$BptCliente->getDropDownList('Documents','subcategory_id');
    $arrayTipoParte=$BptCliente->getDropDownList('Documents','bpt_tipo_parte_c');

    if(!isset($_REQUEST["offset"])){
        $_REQUEST["offset"]='0';
    }

    if(!isset($_REQUEST["max_result"]) && !isset($_SESSION["max_result"])){
        $_SESSION["max_result"]='30';
    }

    if ($_SESSION["fechaDesde"]!=""  &&  $_SESSION["fechaHasta"]!="")
    {
        $fechaIni=date('Y-m-d',strtotime(str_replace("/","-",$_SESSION["fechaDesde"])));
        $fechaFin=date('Y-m-d',strtotime(str_replace("/","-",$_SESSION["fechaHasta"])));            
    }
    //Se compone el mensaje de busqueda realizado
    $BptCliente->textoDeBusquedaRealizada($BptCliente->matchDropDownValues($arrayJuzgados, $_SESSION["fiscalia"], '') ,$BptCliente->matchDropDownValues($arrayUnidadesPoliciales,$_SESSION["comisaria"], ''),$_SESSION["agno"],$BptCliente->matchDropDownValues($arrayTipoParte,$_SESSION["tipo_parte"], ''),$_SESSION["numParte"],$fechaIni,$fechaFin);
    $mensajeCadenaBusqueda= " Búsqueda realizada: ".$BptCliente->textoDeBusquedaRealizada($BptCliente->matchDropDownValues($arrayJuzgados,$_SESSION["fiscalia"], '') ,$BptCliente->matchDropDownValues($arrayUnidadesPoliciales,$_SESSION["comisaria"], ''),$_SESSION["agno"],$BptCliente->matchDropDownValues($arrayTipoParte,$_SESSION["tipo_parte"], ''),$_SESSION["numParte"],$_SESSION["fechaDesde"],$_SESSION["fechaHasta"]);

    //Se realiza la busqueda
    //$documentList=  $BptCliente->buscarDocumento($_SESSION["fiscalia"],$_SESSION["comisaria"],$_SESSION["agno"],$_SESSION["tipo_parte"],$_SESSION["numParte"],$fechaIni,$fechaFin,$_REQUEST['offset'],$_SESSION['max_result']);
    $partes= $BptCliente->buscarPartes($_SESSION["fiscalia"],$_SESSION["comisaria"],$_SESSION["agno"],$_SESSION["tipo_parte"],$_SESSION["numParte"],$fechaIni,$fechaFin,$_REQUEST['offset'],$_SESSION['max_result']);
    if ($partes==false || $partes["total_count"]=="0"){
    $mensaje="Sin resultados.";
    }else{
    $mensaje="Mostrando ".$partes["result_count"]." documento(s) de un total ".$partes["total_count"] ." documento(s) encontrado(s) : ";
        foreach($partes["entry_list"] as $parte){
        $arrayListaDocumentos=array();
        $documentList=$BptCliente->buscarDocumento($parte["name_value_list"]["bpt_juzgado_c"], $parte["name_value_list"]["subcategory_id"], $parte["name_value_list"]["branch"], $parte["name_value_list"]["category_id"], null, $parte["name_value_list"]["bpt_numero_parte_c"],null, null, 0, 10000000);
           foreach($documentList->entry_list as $document){
                $docuTmp=array(
                    'document_name'=>$document->name_value_list->name->value,
                    'juzgado'=>$BptCliente->matchDropDownValues($arrayJuzgados, '00'.$document->name_value_list->bpt_juzgado_c->value, '') ,
                    'unidad_policial'=>$BptCliente->matchDropDownValues($arrayUnidadesPoliciales,$document->name_value_list->subcategory_id->value, ''),
                    'numero_parte'=>$document->name_value_list->bpt_numero_parte_c->value,
                    'tipo_parte'=>$BptCliente->matchDropDownValues($arrayTipoParte,$document->name_value_list->bpt_tipo_parte_c->value, ''),
                    'document_revision_id'=>$document->name_value_list->document_revision_id->value, 
                    //Modifica Nicolas Villablanca 2020-02-14
                    //treeFolder para los documentos branch
                    'branch'=>$document->name_value_list->branch->value,
                    'fecha_entrega'=>  date('d-m-Y H:i:s',strtotime($document->name_value_list->date_entered->value)),
                    'agno'=>$document->name_value_list->category_id->value,
                );
            $arrayListaDocumentos[]=$docuTmp; 
        
    }
        $doc=array(
            'document_name'=>$parte["name_value_list"]["document_name"],
            'juzgado'=>$BptCliente->matchDropDownValues($arrayJuzgados, '00'.$parte["name_value_list"]["bpt_juzgado_c"], '') ,
            'unidad_policial'=>$BptCliente->matchDropDownValues($arrayUnidadesPoliciales,$parte["name_value_list"]["subcategory_id"], ''),
            'numero_parte'=>$parte["name_value_list"]["bpt_numero_parte_c"],
            'tipo_parte'=>$BptCliente->matchDropDownValues($arrayTipoParte,$parte["name_value_list"]["bpt_tipo_parte_c"], ''),
           // 'document_revision_id'=>$document->name_value_list->document_revision_id->value,
            'branch'=>$parte["name_value_list"]["branch"],
            'fecha_entrega'=>  date('d-m-Y',strtotime($parte["name_value_list"]["date_entered"])),
            'agno'=>$parte["name_value_list"]["category_id"],
            'lista_documentos'=>$arrayListaDocumentos,
            );
        $lista[]=$doc; 

        }
    }

    $paginas=ceil((int)$partes["total_count"]/(int)$_SESSION["max_result"]);
    $request=$_GET;

    $request['offset']='0';
    $listaPaginas[]=array('http_query'=>  http_build_query($request),'numero'=>1,'actual'=>$request['offset']==$_REQUEST['offset']);
    for($i=2;$i<=$paginas;$i++){
        $request['offset']=$request['offset']+$_SESSION["max_result"];
        $listaPaginas[]=array('http_query'=>  http_build_query($request),'numero'=>$i,'actual'=>$request['offset']==$_REQUEST['offset']);
    }
    $request['offset']=(string)$partes["next_offset"];
    $request_prev=$request;
    $request_prev['offset']=(string)($_REQUEST["offset"]-$_SESSION["max_result"]);
    $valor=$partes["next_offset"]>=$partes["total_count"];
    echo $twig->render('lista.html', array(
        'lista'=>$lista,
        'mensaje'=>$mensaje,
        'cadena_busqueda'=>$mensajeCadenaBusqueda,
        'next_offset'=>$partes["next_offset"],
        'total_count'=>$partes["total_count"],
        'paginas'=>$paginas,
        'lista_httpquery'=>$listaPaginas,
        'next_httpquery'=> http_build_query($request),
        'prev_httpquery'=> http_build_query($request_prev),
        'first'=>$_REQUEST["offset"]=="0",
        'url_post'=>URL_DOCUMENTO_SELECCIONAR,
    ));


lista.html

Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
  
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>{{titulo}}</title>  
  <link rel="stylesheet" href="css/screen.css" type="text/css" media="screen" title="default" />

<!--[if IE]>

<link rel="stylesheet" media="all" type="text/css" href="css/pro_dropline_ie.css" />

<![endif]-->
<!--  jquery core -->
 <link rel="stylesheet" type="text/css" href="css/Bootstrap/jquery-ui-1.8.16.custom.css" />
 <script type="text/javascript" src="javascript/jquery-1.7.2.min.js"></script>
 <script type="text/javascript" src="javascript/jquery-ui-1.8.21.custom.min.js"></script>
 <script>
        $(document).ready(function() {
          $('#visor').hide();   
      });
  function multiplica(){
    return 2*5;
  }
   function verdoc(id,pag,texto){
             
  
             $('#prev').unbind();
             $('#sig').unbind();
             $( "#visor_body" ).html("<img src='images/ajax-loader.gif' alt='Cargando...'>");
             $( "#visor" ).dialog({ title:texto, position: ['center','top'], modal : true,width:700, height:550,resizable:false });
             
              $.getJSON('visor.php?id='+id+'&pag='+pag, function(data){ 
                       $('#prev').unbind().click(function (){verdoc(id,data.prev,texto);return false;});
                       $('#sig').unbind().click(function (){verdoc(id,data.next,texto);return false;});
                       if(parseInt(data.next)>=parseInt(data.total)){$('#sig').unbind();}
                       if(parseInt(data.prev)<0){$('#prev').unbind();}
                       $('#paginas').html(parseInt(parseInt(data.pag)+1)+" de "+data.total);
                       $('<img />')
                       .attr('src', 'pdoc.php?'+data.src+'&ids='+Math.random()).bind('contextmenu', function(e){
                            return false;
                        })
                        .load(function(){
                            $('#visor_body').html( $(this) );
                            // Your other custom code
                        });
                       //$( "#visor_body" ).html("<img src='pdoc.php?"+data.src+"'>");
                       
                    });
           
                   
            
      
                 
                }
 </script>
</head>
 <body>
 <div id="visor">
    <table>
        <tr><td id="visor_nav"><p><a id="prev" href="#mid" class="ui-button ui-corner-all">< Anterior</a>&nbsp;<span id="paginas"></span>&nbsp;<a id="sig" href="#mid" class="ui-button ui-corner-all"> Siguiente ></a><br></p></td></tr>
        <tr><td id="visor_body"></td></tr>
    </table>
  </div>
<!-- Start: page-top-outer -->
<div id="page-top-outer"><!-- Start: page-top -->
<div id="page-top"><!-- start logo -->
<div id="logo"> <a href=""><br />
</a> </div>
<!-- end logo --><!--  start top-search -->
<div id="top-search">
<table border="0" cellpadding="0" cellspacing="0">
  <tbody>
    <tr>
      <td><br />
      </td>
      <td> <br />
      </td>
      <td> <br />
      </td>
    </tr>
  </tbody>
</table>
</div>
<!--  end top-search -->
<div class="clear">
</div>
<!-- End: page-top -->
</div>
<!-- End: page-top-outer -->
<div class="clear">&nbsp;</div>
<!--  start nav-outer-repeat................................................................................................. START -->
<div class="nav-outer-repeat"><!--  start nav-outer -->
<div class="clear">
<!--  start nav-outer -->
</div>
<!--  start nav-outer-repeat................................................... END -->
<div class="clear">
<!-- start content-outer -->
<div id="content-outer"><br />
<div id="content">
<div id="page-heading">
  <button onclick="window.location.href='index.php';" class="ui-button-primary ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text"><-- Volver</span></button>
  <br />
<h1>  <br />Búsqueda de documentos<br />
</h1>
  <p class="information">*{{cadena_busqueda}}</p>
</div>
<div>Cantidad de archivo = <p id="demo"></p>

<script><?php
function toCelsius(f) {
  return (5/9);
}
document.getElementById("demo").innerHTML = toCelsius(77);
?></script></div>
<table id="content-table" border="0" cellpadding="0" cellspacing="0" width="100%">
  <tbody>
    <tr>
      <th rowspan="3" class="sized"><img src="images/shared/side_shadowleft.jpg" alt="" height="300" width="20" /></th>
      <th class="topleft"><br />
      </th>
      <td id="tbl-border-top">&nbsp;<br />
      </td>
      <th class="topright"><br />
      </th>
      <th rowspan="3" class="sized"><img src="images/shared/side_shadowright.jpg" alt="" height="300" width="20" /></th>
    </tr>
    <tr>
      <td id="tbl-border-left"><br />
      </td>
      <td><br />

      <div id="content-table-inner">
      <table style="width: 1000px; height: 300px;" border="0" cellpadding="0" cellspacing="0">
        <tbody>
          <tr valign="top">
            <td>
                      <p>{{mensaje}}</p>
                     <script>
                    $(document).ready(function() {
                        $( "#accordion" ).accordion({ active: false ,collapsible: true,autoHeight: false});
                    });
                    </script>
                <div id="accordion">
                        {%for item in lista%}
                             <h3><a href="#">  Parte N° : {{item.numero_parte}}  &nbsp;&nbsp;&nbsp;Juzgado : {{item.juzgado}}&nbsp;&nbsp;&nbsp;Unidad Policial : {{item.unidad_policial}}&nbsp;&nbsp;&nbsp;&nbsp; Tipo de parte : {{item.tipo_parte}} &nbsp;&nbsp;&nbsp;Año : {{item.agno}} </a></h3>
                                    <div>
                                        <p>
                                            <form method="post" action="{{url_post}}">
                                                <input type="hidden" name="descripcion" value="Número de parte : {{item.numero_parte}}, Juzgado:{{item.juzgado}}, Unidad Policial : {{item.unidad_policial}} "> 
                                            {%for itemdoc in item.lista_documentos%}
                                                  <p><a id="link" href="#mid" onClick="verdoc('{{itemdoc.document_revision_id}}','0','<span style=\' font-size:14px;\'>Parte : {{item.numero_parte}}, {{itemdoc.fecha_entrega}}</span>');" class="ui-button ui-widget ui-state-default ui-corner-all"><span class="ui-icon ui-icon-document"></span></a> Documento enviado: {{itemdoc.fecha_entrega}}&nbsp;<input type="checkbox" name="urls[]" value="{{itemdoc.document_revision_id}}"></p>      
                                            {%endfor%}        
                                                                  
                                                                   
                                            </form>            
                                         </p>
                                    </div>
                            
                        {%endfor%}
                            
                </div>
            </td>
            <td>
                
               <br />
            </td>
          </tr>
          <tr>
            <td><img src="images/shared/blank.gif" alt="blank" height="1" width="200" /></td>
            <td><br />
            </td>
          </tr>
        </tbody>
      </table>
      <div class="clear">
      </div>
          <div >
              {% if first!=true %} <a  class="link" href="lista.php?{{prev_httpquery | raw}}"> << Anterior </a>&nbsp;{% endif %}
              {% for item in lista_httpquery %}
              {%if item.actual==false %}<a   class="link" href="lista.php?{{item.http_query}}">{{item.numero}}</a>&nbsp;{%else%}<span class="normal">{{item.numero}}</span>&nbsp;{%endif%}
              {% endfor %}
              {%if next_offset<total_count %}<a  class="link" href="lista.php?{{next_httpquery | raw}}"> Siguiente >></a>{% endif %}
          </div>
<!--  end content-table-inner  -->
      </div></td>
      <td id="tbl-border-right"><br />
      </td>
    </tr>
    <tr>
      <th class="sized bottomleft"><br />
      </th>
      <td id="tbl-border-bottom">&nbsp;<br />
      </td>
      <th class="sized bottomright"><br />
      </th>
    </tr>
  </tbody>
</table>
<div class="clear">&nbsp;</div>
</div>
<!--  end content -->
<div class="clear">&nbsp;</div>
</div>
<!--  end content-outer -->
<div class="clear">&nbsp;</div>
<!-- start footer -->
<div id="footer"><!--  start footer-left -->
<div id="footer-left">Blue Peaks Technology<br />
</div>
<!--  end footer-left -->
<div class="clear">&nbsp;</div>
</div>
<!-- end footer -->
</div></div></div>
</body></html>


visor.php

Código PHP :

require_once ('BptCdcClient.php');
$BptCliente=new BptCdcClient(WEB_SERVICE_URL);
$BptCliente->sessionId=$_SESSION['_ID_'];

if ($BptCliente->isAuth()){
function getNumPagesPdf($filepath){
    $fp = @fopen(preg_replace("/\[(.*?)\]/i", "",$filepath),"r");
    $max=0;
    while(!feof($fp)) {
            $line = fgets($fp,255);
            if (preg_match('/\/Count [0-9]+/', $line, $matches)){
                    preg_match('/[0-9]+/',$matches[0], $matches2);
                    if ($max<$matches2[0]) $max=$matches2[0];
            }
    }
    fclose($fp);
    if($max==0){
        $im = new imagick($filepath);
        $max=$im->getNumberImages();
    }

    return $max;
}
   if(file_exists('../dockeyst-cdc/upload/'.$_REQUEST["branch"].'/'.$_REQUEST["id"])){
      $num=getNumPagesPdf('../dockeyst-cdc/upload/'.$_REQUEST["id"]);
      $src="ids=".  rand(1000000000000000000000, 99999999999999999999999999)."&id=".$_REQUEST['id']."&pag=".$_REQUEST['pag'];
      $prev=$_REQUEST["pag"]-1;
      $next=$_REQUEST["pag"]+1;
      $arr["total"]=$num;
      $arr["src"]=$src;
      $arr["estado"]="OK";
      $arr["pag"]=$_REQUEST['pag'];
      $arr["prev"]=$prev;
      $arr["next"]=$next;
      ob_clean();
      echo json_encode($arr);
   }
}
?>


Bueno no logro comprender como extraer mi request para agregar nueva informacion es posible que alguien me ayude en este caso

Por madlosft

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Feb 2020 04:12 am
La idea es poder contar con un nuevo request aleatorio de mi archivo lista.php

Por madlosft

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Feb 2020 04:55 pm
No entiendo bien la pregunta, quieres hacer un request de que? Me pierdo en las 300 lineas de codigo que posteaste

Jorge

Por solisarg

BOFH

13640 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome

   Página 1 de 1

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.