Jump to content
daniel8634

Rotina de fila com problema

Recommended Posts

Fala pessoal, tudo bem?

Estou com um problema com uma rotina, que tem como funcionalidade principal a fila, é uma rotina de fila, que basicamente funciona com o envio de uma solicitação e fica aguardando até o retorno dessa solicitação ser satisfeita, caso não ocorra passa para outra solicitação e fica com esse loop, até que se encerre o processo, o que esta ocorrendo é que aparentemente essa rotina fica travando em algum momento ou por algum motivo a resposta não chega de forma adequada para que o processo de fila funcione de forma correta, abaixo vou posta a rotina completa para vocês darem uma olhada e de repente visualizar algo que não esteja conseguindo visualizar, gostaria de contar com a ajuda de vocês para tentarem ver se tem algo de errado com a rotina.

 

<?php
error_reporting(0);
include_once '../apporioconfig/start_up.php';
header("Content-Type: application/json");

include 'pn_android.php';
include 'pn_iphone.php';
include 'one-signal.php';
include 'firebase_new.php';
$query = "select * from admin_panel_settings WHERE admin_panel_setting_id=1";
$result = $db->query($query);
$admin_settings = $result->row;
$normal_ride_radius = $admin_settings['normal_ride_radius'];
$admin_panel_request = $admin_settings['admin_panel_request'];
$admin_panel_firebase_id = $admin_settings['admin_panel_firebase_id'];

$onesignal_rest_key = $admin_settings['onesignal_rest_key'];
$onesignal_app_id = $admin_settings['onesignal_app_id'];
$onesignal_redirect_url = $admin_settings['onesignal_redirect_url'];

$user_id = $_REQUEST['user_id'];
$coupon_code = $_REQUEST['coupon_code'];
$pickup_lat = $_REQUEST['pickup_lat'];
$pickup_long = $_REQUEST['pickup_long'];
$pickup_location = $_REQUEST['pickup_location'];
$drop_lat = $_REQUEST['drop_lat'];
$drop_long = $_REQUEST['drop_long'];
$drop_location = $_REQUEST['drop_location'];
$car_type_id = $_REQUEST['car_type_id'];
$language_code = $_REQUEST['language_code'];
$payment_option_id = $_REQUEST['payment_option_id'];
$card_id = $_REQUEST['card_id'];
$pem_file = $_REQUEST['pem_file'];
if ($user_id != "" && $pickup_lat != "" && $pickup_long != "" && $pickup_location != "" && $car_type_id != "" && $payment_option_id != "") {
    if ($pem_file == "") {
        $pem_file = 1;
    }

    $time = date("H:i:s");
    $dt = DateTime::createFromFormat('!d/m/Y', date("d/m/Y"));
    $data = $dt->format('M j');
    $day = date("l");
    $date1 = $day . ", " . $data;
    $date1 = strftime('%d-%m-%Y', strtotime($date1)); //CONTROLD - 13/10/2018 - Alteração para formatar data


    $query3 = "select * from driver where verification_status=1 AND driver_category IN (1,3) AND car_type_id='$car_type_id'  
    and online_offline = 1 and driver_admin_status=1 and busy=0 and login_logout=1 order by rand()";
    $result3 = $db->query($query3);
    $ex_rows = $result3->num_rows;
    if ($ex_rows == 0) {
        $image = "";
        $last_time_stamp = date("h:i:s A");
        $query1 = "INSERT INTO no_driver_ride_table(user_id,coupon_code, pickup_lat, pickup_long,pickup_location,drop_lat,drop_long,drop_location,
	    ride_date,ride_time,ride_type,ride_status,ride_image,car_type_id,payment_option_id,card_id,last_time_stamp) 
	    VALUES ('$user_id','$coupon_code','$pickup_lat','$pickup_long','$pickup_location','$drop_lat','$drop_long','$drop_location',
	    '$date1','$time','1','1','$image','$car_type_id','$payment_option_id','$card_id','$last_time_stamp')";
        $db->query($query1);
        $language = "select * from table_messages where language_code='$language_code' and message_id=34";
        $lang_result = $db->query($language);
        $lang_list = $lang_result->row;
        $message = $lang_list['message'];
        $re = array('result' => 0, 'msg' => $message);
    } else {

        $list3 = $result3->rows;
        $c = array();
        foreach ($list3 as $login3) {
            $driver_lat = $login3['current_lat'];
            $driver_long = $login3['current_long'];

            $theta = $pickup_long - $driver_long;
            $dist = sin(deg2rad($pickup_lat)) * sin(deg2rad($driver_lat)) + cos(deg2rad($pickup_lat)) * cos(deg2rad($driver_lat)) * cos(deg2rad($theta));
            $dist = acos($dist);
            $dist = rad2deg($dist);
            $miles = $dist * 60 * 1.1515;
            $km = $miles * 1.609344;
            if ($km <= $normal_ride_radius) {
                $c[] = array("driver_id" => $login3['driver_id'], "distance" => $km, );
            }
        }
        // inicio rotina grava viagem
        //print_r($c);


        if (!empty($c)) {

            // aqui - CONTROLD - 28/01/2019 - Validação para verificar se já tem viagem em andamento ao solicitar uma nova viagem

            $query_verifica = "select user_id,viagem from user where user_id='$user_id' and viagem = 'S' order by user_id asc";
            $result_verifica = $db->query($query_verifica);
            $quant_verifica = $result_verifica->num_rows;

            //if ($quant_verifica >= 1) {                
            //    $re = array('result' => 0, 'msg' => "Você já possui uma viagem em andamento, aguarde o motorista ou cancele a viagem.", 'details' => "");
            //}else{
                
              $image = "";
              $date = date("Y-m-d");
              $last_time_stamp = date("h:i:s A");
              $query1 = "INSERT INTO ride_table (user_id,coupon_code, pickup_lat,pickup_long,pickup_location,drop_lat,drop_long,drop_location,
                ride_date,ride_time,ride_type,ride_status,ride_image,car_type_id,payment_option_id,card_id,last_time_stamp,date,pem_file) 
                    VALUES ('$user_id','$coupon_code','$pickup_lat','$pickup_long','$pickup_location','$drop_lat','$drop_long','$drop_location',
                '$date1','$time','1','1','$image','$car_type_id','$payment_option_id','$card_id','$last_time_stamp','$date','$pem_file')";
                $db->query($query1);
                $last_id = $db->getLastId();
                $query3 = "select * from ride_table where ride_id='$last_id'";
                $result3 = $db->query($query3);
                $list = $result3->row;
                $ride_status = $list['ride_status'];
            
                $data_viagem = $list['ride_time'];
            
                sendMessage($onesignal_app_id, $onesignal_redirect_url, $onesignal_rest_key);
                $firebase_id = uniqid();
                new_ride_sound($admin_panel_firebase_id, $firebase_id);
                clear($admin_panel_firebase_id, $firebase_id);
                $nodes = array();
                $repetir = 0;
                foreach ($c as $value) {
                    $distance[] = $value['distance'];
                }
            
            

                $repetir = 0;
                $id_motorista = "aaaa";
                //array_multisort($distance, SORT_ASC, $c);
                foreach ($c as $driver) { 
                // echo "aqui envia push ".$driver['driver_id'] ."<br>";
                // echo "repetir: ".$repetir;
                // push                
                    // aqui
                    $ride_id = (string)$last_id;
                    $nodes[$driver_id] = array('ride_id' => $ride_id, 'ride_status' => "1");
                    $query3 = "select * from driver_ride_allocated where driver_id='$driver_id'";
                    $result3 = $db->query($query3);
                    $driver_allocated = $result3->row;
                    if (empty($driver_allocated)) {
                        $query5 = "INSERT INTO driver_ride_allocated (driver_id,ride_id,ride_mode) VALUES ('$driver_id','$ride_id','1')";
                        $db->query($query5);
                    } else {
                        $query5 = "UPDATE driver_ride_allocated SET ride_id='$ride_id' WHERE driver_id='$driver_id'";
                        $db->query($query5);
                    }


                    if ($repetir == 1){
                         break;
                    }
                                    $driver_id = $driver['driver_id'];
                                    $query4 = "select * from driver where driver_id='$driver_id'";
                                    $result4 = $db->query($query4);
                                    $list4 = $result4->row;
                                    $device_id = $list4['device_id'];
                                    $language = "select * from table_messages where language_code='$language_code' and message_id=35";
                                    $lang_result = $db->query($language);
                                    $lang_list = $lang_result->row;
                                    $message = $lang_list['message'];
                                    $ride_id = (String)$last_id;
                                    $ride_status = '1';

                                    //echo "device id: ".$device_id."<br>";
                                    //echo "driver id: ".$driver_id."<br>";
                                    
                                    
                                    $codi_motorista = $driver['driver_id'];
                                    $query5 = "INSERT INTO ride_allocated (allocated_ride_id, allocated_driver_id,allocated_date) VALUES ('$ride_id','$codi_motorista','$date')";
                                    $db->query($query5);        
                                    
                                    
                                    new_ride($nodes,$admin_panel_firebase_id);
                                    if ($device_id != "") {
                                       // echo "entrou para enviar push"."<br>";
                                        if ($list4['flag'] == 1) {
                                             IphonePushNotificationDriver($device_id, $message, $ride_id, $ride_status, $pem_file);
                                        }else {
                                            //echo "entrou no push android "."<br>";
                                            //echo "device id: ".$device_id. "<br>";
                                            //echo "message id: ".$message. "<br>";
                                            //echo "ride id: ".$ride_id. "<br>";
                                            //echo "ride status id: ".$ride_status. "<br>";
                                            AndroidPushNotificationDriver($device_id, $message, $ride_id, $ride_status);
                                         }
                                    }                       
                
                //fim push
                //echo "entrou 0";
                //echo "motorista while: ".$driver['driver_id'];
                //echo "id do motorista: ".$id_motorista ."<br>";
                //echo "id do driver: ".$driver['driver_id'] ."<br>";
                    while ($repetir == 0) {
                        
                        $hora_atual = date('H:i:s');
                        //echo "hora atual: ".$hora_atual;
                        //echo "<br>"." hora da viagem: ".$data_viagem;
                       // echo "<br>"." diferença: ".calculaTempo($data_viagem,$hora_atual);
                        //echo "<br>"."hora da viagem: ".$data_viagem;
                    
                    
                    
                        // inicio
                    
                        //echo "data 1: ".$data_viagem;
                        //echo "<br>"."data 2 ".$hora_atual;
                    
                    
                    /*
                        if (calculaTempo($data_viagem,$hora_atual) >= 01){
                             //echo "parou na hora deu tempo "."<br>";
                       
                            //$query_tempo = "UPDATE ride_table SET ride_status='40' WHERE user_id = '$user_id' and ride_id='$ride_id'";
                           // $db->query($query_tempo);
                        
                            $repetir = 1;
                         break;
                         
                       }
                       */
                       
                       
                       
                       
                        /*}
                        else{
                            echo "entrou na hora continuou"."<br>";
                            continue;
                              
                             //    continue;
                        }
                        */
                        
                    
                    
                    
                    
                    //fim
                    //echo "chegou rejeita? <br>"; 
                    
                        $id_driver = $driver['driver_id'];
                        //echo "id driver: ".$id_driver."<br>";
                        //echo "id da viagem ".$ride_id ."<br>";
                        $query_rejeita = "select reject_ride_id,reject_driver_id from ride_reject where reject_ride_id = '$ride_id' 
                                      and reject_driver_id='$id_driver'";
                        $result_rejeita = $db->query($query_rejeita);
                        $list_rejeita = $result_rejeita->num_rows;

                        //echo "id do motorista: ".$driver['driver_id'] ."<br>";
                         //echo "rejeitou? ".$list_rejeita ."<br>";
                         
                       
                        if ($list_rejeita > 0){
                            //&& $codigo_motorista != $driver['driver_id']) {  
                            //echo "entrou 2";
                            //print_r("print motorista id: ".$driver);
                            //echo "motorista: ".$driver['driver_id'];
                            //echo "passou print <br>";                            
                                
                            //// echo "entrou rejeitou"."<br>";
                            $repetir = 0;
                            //$list_rejeita = 1;
                            break; 
                            //continue;
                        }
                        else{
                            //echo "entrou else rejeitou"."<br>";
                            $repetir = 0;
                            //continue;
                        } 
                        

                        // aceitou viagem
                        //echo "aceitou: entrando verificação se aceitou";
                        //echo "Chegou aceitou viagem"."<br>";
                        //sleep(5);
                        $query_consulta = "select ride_status from ride_table where ride_id = '$ride_id' and ride_status = '3' and user_id = '$user_id'";
                        $result_consulta = $db->query($query_consulta);
                        $lista_consulta = $result_consulta->num_rows;
                        //$repetir = $lista_consulta;

                        //echo "aceitou: " . $lista_consulta;
                        
                        
                        if ($lista_consulta >= 1) {

                            //echo "aceitou viagem"."<br>";
                            $repetir = 1;
                           // break;
                        }else{
                             //echo "continuou aceitou viagem"."<br>";
                             $repetir = 0;
                            continue;
                        }   
                        
                        
                    
                    //fim aceitou viagem
                    
                    // auto cancelada
                        //echo "Chegou entrou alto cancelada"."<br>";
                        $query_autocancel = "select ride_status from ride_table where ride_id = '$ride_id' and (ride_status = '2' or ride_status = '15') and user_id = '$user_id'";
                        $result_autocancel = $db->query($query_autocancel);
                        $lista_autocancel = $result_autocancel>num_rows;
                        
                        
                        if ($lista_autocancel >= 1) {
                        //echo "entrou alto cancelada"."<br>";
                        
                            $repetir = 1;
                           // break;
                        
                        }else{
                           //echo "continuou auto cancelada"."<br>";
                          //  continue;
                        }   
                        
                        
                    
                    
                        
                        $query_autocancel_passageiro = "select ride_status from ride_table where ride_id = '$ride_id' and ride_status = '40' and user_id = '$user_id'";
                        $result_autocancel_passageiro = $db->query($query_autocancel_passageiro);
                        $lista_autocancel_passageiro = $result_autocancel_passageiro>num_rows;
                        if ($lista_autocancel_passageiro >= 1) {
                        // echo "entrou alto cancelada"."<br>";
                            $repetir = 1;
                            break;
                        }else{
                            //echo "continuou auto cancelada"."<br>";
                            continue;
                        }   
                        
                    
                    
                        // fim auto cancelada

                         // verifica se passou 1 minuto em relação a solicitação da viagem, caso sim sai fora
                    

                    
                    
                        //$hora_atual = date('H:i:s');
                        //echo "hora atual: ".$hora_atual;
                        //echo "Diferença de hora: ".difDeHoras($hora_atual,$data_viagem);

                        // fim
                    

                        //echo "aqui envia push";
                        
                        if ($repetir == 0){
                            continue;
                        }
                        
                        $id_motorista = $driver['driver_id'];
                
                 }
            
            }

            // 28/01/2019 - CONTROLD - Atualiza campo na tabela de usuarios para controlar solicitação de viagens
            //$query_update_user = "UPDATE user SET viagem='S' WHERE user_id='$user_id'";
            //$db->query($query_update_user);


                    $query5 = "INSERT INTO table_user_rides(booking_id,ride_mode,user_id) VALUES ('$last_id','1','$user_id')";
                    $db->query($query5);
        
                    $query3 = "select * from ride_table where ride_id='$last_id'";
                    $result3 = $db->query($query3);
                    $list = $result3->row;
                    //echo "entrou aqui";
                    $re = array('result' => 1, 'msg' => "" . $km, 'details' => $list);          
   
         //}      
        } else {
            $image = "";
            $last_time_stamp = date("h:i:s A");
            $query1 = "INSERT INTO no_driver_ride_table (user_id,coupon_code, pickup_lat, pickup_long,pickup_location,drop_lat,drop_long,drop_location,
    	    ride_date,ride_time,ride_type,ride_status,ride_image,car_type_id,payment_option_id,card_id,last_time_stamp) 
	        VALUES ('$user_id','$coupon_code','$pickup_lat','$pickup_long','$pickup_location','$drop_lat','$drop_long','$drop_location',
	        '$date','$time','1','1','$image','$car_type_id','$payment_option_id','$card_id','$last_time_stamp')";
            $db->query($query1);
            $language = "select * from table_messages where language_code='$language_code' and message_id=36";
            $lang_result = $db->query($language);
            $lang_list = $lang_result->row;
            $message = $lang_list['message'];
            $re = array('result' => 0, 'msg' => "Sem motorista", );
        }
    }

    }else{
        $re = array('result' => 0, 'msg' => "Faltou informar algum campo");   
    }    
   
    echo json_encode($re, JSON_PRETTY_PRINT);
    
    
    
 
    /*
    
function difDeHoras($hIni, $hFinal)
{        
    // Separa á hora dos minutos
    $hIni = explode(':', $hIni);
    $hFinal = explode(':', $hFinal);
    
    // Converte a hora e minuto para segundos
    $hIni = (60 * 60 * $hIni[0]) + (60 * $hIni[1]);
    $hFinal = (60 * 60 * $hFinal[0]) + (60 * $hFinal[1]);
    
    // Verifica se a hora final é maior que a inicial
    if(!($hIni < $hFinal)) {
        return false;
    }
    
    // Calcula diferença de horas
    $difDeHora = $hFinal - $hIni;
    
    //Converte os segundos para Hora e Minuto
    $tempo = $difDeHora / (60 * 60);
    $tempo = explode('.', $tempo); // Aqui divide o restante da hora, pois se não for inteiro, retornará um decimal, o minuto, será o valor depois do ponto.
    $hora = $tempo[0];
    @$minutos = (float) (0) . '.' . $tempo[1]; // Aqui forçamos a conversão para float, para não ter erro.
    $minutos = $minutos * 60; // Aqui multiplicamos o valor que sobra que é menor que 1, por 60, assim ele retornará o minuto corretamente, entre 0 á 59 minutos.
    $minutos = explode('.', $minutos); // Aqui damos explode para retornar somente o valor inteiro do minuto. O que sobra será os segundos
    $minutos = $minutos[0];
    
    //Aqui faz uma verificação, para retornar corretamente as horas, mas se não quiser, só mandar retornar a variavel hora e minutos
    if (!(isset($tempo[1]))) {
        if($hora == 1){
            return $hora;
        } else {
            return $hora;
        }
    } else {
        if($hora == 1){
            if($minutos == 1){
                return $hora;//'A diferen&ccedil;a &eacute; de ' . $hora . ' Hora e ' .$minutos . ' Minuto.';
            } else {
                return $hora;//'A diferen&ccedil;a &eacute; de ' . $hora . ' Hora e ' .$minutos . ' Minutos.';
            }
        } else {
            if($minutos == 1){
                return $minutos;
            } else {
                return $minutos;
            }
        }
    }
    
}  

*/
  
  
function calculaTempo($hora_inicial, $hora_final) {
$i = 1;
$tempo_total;

$tempos = array($hora_final, $hora_inicial);

foreach($tempos as $tempo) {
$segundos = 0;

list($h, $m, $s) = explode(':', $tempo);
$segundos += $h * 3600;
$segundos += $m * 60;
$segundos += $s;

$tempo_total[$i] = $segundos;

$i++;
}
$segundos = $tempo_total[1] - $tempo_total[2];

$horas = floor($segundos / 3600);
$segundos -= $horas * 3600;
$minutos = str_pad((floor($segundos / 60)), 2, '0', STR_PAD_LEFT);
$segundos -= $minutos * 60;
$segundos = str_pad($segundos, 2, '0', STR_PAD_LEFT);

return "$minutos";
}  
  
 ?>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Marcelodiehl
      Boa tarde,
      tenho um código php para envio de documentos para uma área do cliente e no admin onde eu realizo o upload dos documentos tem um input onoffswitch onde eu ativo ou desativo (Quando Ativo = "Mostrar na area dos clientes") mas quando envio um arquivo ele fica por default desativado, então tenho que ativar para que o cliente Visualize o documento. O que eu preciso é que este botão fique Ativado por default, mas não encontro no script onde mudo isso. Peço desculpas pela minha ignorancia em PHP, mas estou iniciando um curso esta semana, não sei muito ainda, mas já tenho este desafio. Alguém poderia me ajudar?
       
      <?php defined('BASEPATH') or exit('No direct script access allowed'); ?> <div class="modal fade" id="customer_file_share_file_with" data-total-contacts="<?php echo count($contacts); ?>" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title"><?php echo _l('share_file_with'); ?></h4> </div> <div class="modal-body"> <?php echo form_hidden('file_id'); ?> <?php echo render_select('share_contacts_id[]',$contacts,array('id',array('firstname','lastname')),'customer_contacts',array(get_primary_contact_user_id($client->userid)),array('multiple'=>true,'data-actions-box'=>true),array(),'','',false); ?> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo _l('close'); ?></button> <button type="button" class="btn btn-info" onclick="do_share_file_contacts();"><?php echo _l('confirm'); ?></button> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <h4 class="no-mtop bold"><?php echo _l('customer_attachments'); ?> <br /> <small class="text-info"><?php echo _l('customer_files_info_message'); ?></small> </h4> <hr /> <?php if(isset($client)){ ?> <?php echo form_open_multipart(admin_url('clients/upload_attachment/'.$client->userid),array('class'=>'dropzone','id'=>'client-attachments-upload')); ?> <input type="file" name="file" multiple /> <?php echo form_close(); ?> <div class="text-right mtop15"> <button class="gpicker" data-on-pick="customerGoogleDriveSave"> <i class="fa fa-google" aria-hidden="true"></i> <?php echo _l('choose_from_google_drive'); ?> </button> <div id="dropbox-chooser"></div> </div> <div class="attachments"> <div class="mtop25"> <table class="table dt-table scroll-responsive" data-order-col="2" data-order-type="desc"> <thead> <tr> <th width="30%"><?php echo _l('customer_attachments_file'); ?></th> <th><?php echo _l('customer_attachments_show_in_customers_area'); ?></th> <th><?php echo _l('file_date_uploaded'); ?></th> <th><?php echo _l('options'); ?></th> </tr> </thead> <tbody> <?php foreach($attachments as $type => $attachment){ $download_indicator = 'id'; $key_indicator = 'rel_id'; $upload_path = get_upload_path_by_type($type); if($type == 'invoice' || $type == 'proposal' || $type == 'estimate' || $type == 'credit_note'){ $url = site_url() .'download/file/sales_attachment/'; $download_indicator = 'attachment_key'; } else if($type == 'contract'){ $url = site_url() .'download/file/contract/'; $download_indicator = 'attachment_key'; } else if($type == 'lead'){ $url = site_url() .'download/file/lead_attachment/'; } else if($type == 'task'){ $url = site_url() .'download/file/taskattachment/'; $download_indicator = 'attachment_key'; } else if($type == 'ticket'){ $url = site_url() .'download/file/ticket/'; $key_indicator = 'ticketid'; } else if($type == 'customer'){ $url = site_url() .'download/file/client/'; $download_indicator = 'attachment_key'; } else if($type == 'expense'){ $url = site_url() .'download/file/expense/'; $download_indicator = 'rel_id'; } ?> <?php foreach($attachment as $_att){ ?> <tr id="tr_file_<?php echo $_att['id']; ?>"> <td> <?php $path = $upload_path . $_att[$key_indicator] . '/' . $_att['file_name']; $is_image = false; if(!isset($_att['external'])) { $attachment_url = $url . $_att[$download_indicator]; $is_image = is_image($path); $img_url = site_url('download/preview_image?path='.protected_file_url_by_path($path,true).'&type='.$_att['filetype']); $lightBoxUrl = site_url('download/preview_image?path='.protected_file_url_by_path($path).'&type='.$_att['filetype']); } else if(isset($_att['external']) && !empty($_att['external'])){ if(!empty($_att['thumbnail_link']) && $_att['external'] == 'dropbox'){ $is_image = true; $img_url = optimize_dropbox_thumbnail($_att['thumbnail_link']); } $attachment_url = $_att['external_link']; } if($is_image){ echo '<div class="preview_image">'; } ?> <a href="<?php if($is_image){ echo isset($lightBoxUrl) ? $lightBoxUrl : $img_url; } else {echo $attachment_url; } ?>"<?php if($is_image){ ?> data-lightbox="customer-profile" <?php } ?> class="display-block mbot5"> <?php if($is_image){ ?> <div class="table-image"> <div class="text-center"><i class="fa fa-spinner fa-spin mtop30"></i></div> <img src="#" class="img-table-loading" data-orig="<?php echo $img_url; ?>"> </div> <?php } else { ?> <i class="<?php echo get_mime_class($_att['filetype']); ?>"></i> <?php echo $_att['file_name']; ?> <?php } ?> </a> <?php if($is_image){ echo '</div>'; } ?> </td> <td> <div class="onoffswitch"<?php if($type != 'customer'){?> data-toggle="tooltip" data-title="<?php echo _l('customer_attachments_show_notice'); ?>" <?php } ?>> <input type="checkbox" <?php if($type != 'customer'){echo 'disabled';} ?> id="<?php echo $_att['id']; ?>" data-id="<?php echo $_att['id']; ?>" class="onoffswitch-checkbox customer_file" data-switch-url="<?php echo admin_url(); ?>misc/toggle_file_visibility" <?php if(isset($_att['visible_to_customer']) && $_att['visible_to_customer'] == 1){echo 'checked';} ?>> <label class="onoffswitch-label" for="<?php echo $_att['id']; ?>"></label> </div> <?php if($type == 'customer' && $_att['visible_to_customer'] == 1){ $file_visibility_message = ''; $total_shares = total_rows(db_prefix().'shared_customer_files',array('file_id'=>$_att['id'])); if($total_shares == 0){ $file_visibility_message = _l('file_share_visibility_notice'); } else { $share_contacts_id = get_customer_profile_file_sharing(array('file_id'=>$_att['id'])); if(count($share_contacts_id) == 0){ $file_visibility_message = _l('file_share_visibility_notice'); } } echo '<span class="text-warning'.(empty($file_visibility_message) || total_rows(db_prefix().'contacts',array('userid'=>$client->userid)) == 0 ? ' hide': '').'">'.$file_visibility_message.'</span>'; if(isset($share_contacts_id) && count($share_contacts_id) > 0){ $names = ''; $contacts_selected = ''; foreach($share_contacts_id as $file_share){ $names.= get_contact_full_name($file_share['contact_id']) .', '; $contacts_selected .= $file_share['contact_id'].','; } if($contacts_selected != ''){ $contacts_selected = substr($contacts_selected,0,-1); /**na linha abaixo em </a> ' . _l('share_file_with_show, trocando o _1 por 0 desabilita envio */ } if($names != ''){ echo '<a href="#" onclick="do_share_file_contacts(\''.$contacts_selected.'\','.$_att['id'].'); return false;"><i class="fa fa-pencil-square-o"></i></a> ' . _l('share_file_with_show',mb_substr($names, 0,-2)); } } } ?> </td> <td data-order="<?php echo $_att['dateadded']; ?>"><?php echo _dt($_att['dateadded']); ?></td> <td> <?php if(!isset($_att['external'])){ ?> <button type="button" data-toggle="modal" data-file-name="<?php echo $_att['file_name']; ?>" data-filetype="<?php echo $_att['filetype']; ?>" data-path="<?php echo $path; ?>" data-target="#send_file" class="btn btn-info btn-icon"><i class="fa fa-envelope"></i></button> <?php } else if(isset($_att['external']) && !empty($_att['external'])) { echo '<a href="'.$_att['external_link'].'" class="btn btn-info btn-icon" target="_blank">'.($_att['external'] == 'dropbox' ? '<i class="fa fa-dropbox"></i>' : '<i class="fa fa-google"></i>').'</a>'; } ?> <?php if($type == 'customer'){ ?> <a href="<?php echo admin_url('clients/delete_attachment/'.$_att['rel_id'].'/'.$_att['id']); ?>" class="btn btn-danger btn-icon _delete"><i class="fa fa-remove"></i></a> <?php } ?> </td> <?php } ?> </tr> <?php } ?> </tbody> </table> </div> </div> <?php include_once(APPPATH . 'views/admin/clients/modals/send_file_modal.php');  
    • By jdlucena
      Eu tenho um sistema em php e utilizei esse site http://www.pipsomania.com/best_php_obfuscator.do para ofuscar meu código.
       
      Porém, acabei perdendo o código original que estava no hd externo e agora o hd não funciona mais.
       
      Alguém conhece uma forma de reverter o código ofuscado? Entrei em contato com o desenvolvedor do site pipsomania.service@gmail.com mas não tive retorno.
       
      Exemplo de como ficou meu código:
      <?php ${"G\x4c\x4f\x42ALS"}["\x76v\x66\x68\x74\x77c\x73\x69\x70\x66"]="\x6c\x6f\x67i\x6e";if(version_compare(PHP_VERSION,"\x35\x2e3\x2e7","<")){exit("\x53\x6frry,\x20\x53i\x6d\x70le\x20\x50\x48P\x20\x4c\x6fgi\x6e\x20d\x6f\x65\x73\x20n\x6ft \x72un\x20on a P\x48P\x20v\x65r\x73\x69on \x73m\x61ller t\x68\x61n 5\x2e3\x2e7\x20\x21");}else if(version_compare(PHP_VERSION,"5\x2e\x35.0","<")){require_once("li\x62\x72\x61\x72\x69e\x73/p\x61\x73\x73\x77or\x64\x5f\x63om\x70ati\x62i\x6c\x69ty\x5f\x6c\x69b\x72a\x72y.\x70h\x70");}require_once("c\x6fn\x66\x69g/db\x2eph\x70");require_once("c\x6ca\x73se\x73/\x4cogin\x2ep\x68\x70");${${"GLOB\x41L\x53"}["v\x76f\x68\x74w\x63s\x69\x70\x66"]}=new Login();include("\x76\x69ew\x73/\x69n\x64\x65x.\x70\x68p"); ?>  
    • By asacap1000
      Galera já verifiquei vários páginas do google mas não encontrei o que precisava. Temos um sistema a qual no final temos a opção d imprimir os dados. que até aí está perfeito utilizo bootstrap para o layout e está ok. Porém preciso colocar a opção de pdf também aí não sai de jeito nenhum com o bootstrap. preciso gerar algo neste formato.
       

       
      Se alguem puder me dar um norte referente a isso agradeço demais.
    • By manigold
      Estou com um pequeno problema nessa parte:
      $monsters = simplexml_load_file($otdir . '/data/monster/monsters.xml') or die('<b>Could not load monsters!</b>'); foreach($monsters->monster as $monster) { $loot = simplexml_load_file($otdir . '/data/monster/' . $monster['file']); if($loot) { if($item = $loot->loot->item){ A pagina mostra a lista de items corretamente mas se eu tenho um item dentro de outro item ,como nesse exemplo:
      <loot> <item id="2148" countmax="100" chance="33750" /> <item id="2148" countmax="100" chance="33750" /> <item id="2672" countmax="5" chance="80000" /> <item id="7399" chance="80" /> <item id="2392" chance="1428" /> <item id="2033" chance="3190" /> <item id="2547" countmax="7" chance="6700" /> <item id="5948" chance="3040" /> <item id="1987" chance="100000"> <!-- bag --> O PROBLEMA É NESSA PARTE <item id="5882" chance="5920" /> <item id="2498" chance="888" /> <item id="7378" countmax="3" chance="8800" /> <item id="2146" chance="5300" /> <item id="2414" chance="1500"/> <item id="2528" chance="2333" /> <item id="7402" chance="2000" /> <item id="2492" chance="730" /> </item> </loot> Os items dentro do item com id 1987 não são mostrados .
      Me desculpem se a explicação não esta muito boa , não entendo nada de php e xml ,eu agradeço se alguem puder me ajudar.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.