Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/11/2015, 05:18
cilindro
 
Fecha de Ingreso: noviembre-2015
Mensajes: 13
Antigüedad: 8 años, 5 meses
Puntos: 0
Desactivar cuenta con mysql y php

estoy adaptando un admin panel de iks para iptv y se supone que toda la info vaya a la base de datos y al servidor por medio de http. En mi caso no se comunica por http. Creo los archivos con php y lo envia a un directorio del servidor. La base de datos asume que corta el servicio cada 30 dias pero no se comunica con el servidor http para cortar el servicio. nesecito que se comunique con un php para re escribir los archivos de activacion para cortar el servicio. No se si haya manera para que la base de datos envie estos clientes a un php y de manera automatica poder reescribir el archivo para desactivar las cuentas o algun script que cada 24 horas haga pedidos de las cuentas expiradas para volver a reescribir. Les dejo el pedaso de script que asumo es donde debe estar la expiracion de las cuentas. Aclaro que es mi primera ves trabajando con mysql y php no tengo mucha experiencia solo el dolor de cabeza que me a causado este admin panel. espero me puedan ayudar.

Código PHP:
 <?php 
    
include("global.php");
    
    
$_METHOD "post";
    
$_INCLUDER "reseller-home.php";
    include(
"header.php");

    
$status_message "";

    if( !isset(
$_REQUEST["show"]) ) $_REQUEST["show"] = "";
    if( 
$_REQUEST["show"] == "" $_REQUEST["show"] = "not_expired";

    if( !isset(
$_REQUEST["order_by"]) ) $_REQUEST["order_by"] = "";
    if( 
$_REQUEST["order_by"] == "" $_REQUEST["order_by"] = "name";
    
    
// -- add account
    
if( !$G_disable_reseller_subaccount_creation )
    {
        if( isset(
$_REQUEST["add"]) and isset($_REQUEST["add_username"]) and isset($_REQUEST["add_password"]) and
            isset(
$_REQUEST["add_months"]) )
        {

            
$_REQUEST["add_username"] = entry_filter($_REQUEST["add_username"]);
            
$_REQUEST["add_password"] = entry_filter($_REQUEST["add_password"]);

            
$current_date date("Ymd"time());
            
$coverage_start mktime(000,
                        
substr($current_date42),
                        
substr($current_date62),
                        
substr($current_date04));

            
$coverage_end $coverage_start + ((3600 24 $G_days_per_month) * (int)$_REQUEST["add_months"]);
            
            if( (
get_credit_balance$G_username ) - (int)$_REQUEST["add_months"]) >= )
            {
                
// -- check if account already exists
                
if( (int)query_scalar("select count(*) from accounts where username = '$G_username' and ".
                    
"upper(account) = '".strtoupper($_REQUEST["add_username"])."'") == )
                {
                    
// -- add server user
                    
$server_status_description "";
                    
$effective_account get_effective_account($_REQUEST["add_username"], $G_user_account_prefix);
                    if( 
server_add_account($effective_account$_REQUEST["add_password"], $coverage_endTRUE,
                        
sprintf($G_fslb_global_account_comment$G_username), $server_status_description) )
                    {
                        
// -- add record to the database
                        
include("acltvh.php");
                        
mysql_begin();
                        if( 
db_insert("accounts", array(
                            
"username" => $G_username,
                            
"account" => $_REQUEST["add_username"],
                            
"password" => $_REQUEST["add_password"],
                            
"filename1" => $filename1,
                            
"expires" => date("Y-m-d"$coverage_end)) ) )
                                    
                        {
                            
                            if( 
db_insert("transactions", array(
                                
"username" => $G_username,
                                
"transaction" => (int)query_scalar("select max(transaction) + 1 from transactions where username = '$G_username'"),
                                
"type" => "DBIT",
                                
"periods" => (int)$_REQUEST["add_months"],
                                
"account" => $_REQUEST["add_username"],
                                
"timestamp" => date("Y-m-d H:i:s"),
                                
"coverage_start" => date("Y-m-d"$coverage_start),
                                
"coverage_end" => date("Y-m-d"$coverage_end)) ) )
                            {
                                
mysql_commit();
                                
header("Location: reseller-home.php");
                                die;
                            }
                            else
                            {
                                
$status_message grs("HOME_ADD_FAILED");
                                
mysql_rollback();
                            }
                        }
                        else
                        {
                            
$status_message grs("HOME_ADD_FAILED");
                            
mysql_rollback();
                        }
                    }
                    else 
$status_message "SERVER: ".$server_status_description;
                }
                else 
$status_message grs("HOME_ADD_ALREADY_EXISTS");                
            }
            else 
$status_message grs("HOME_ADD_INSUFFICIENT_CREDIT");
        }
    }
    
    
// -- get user sub-accounts
    
if( $_REQUEST["order_by"] == "expiry_date")
        
$query_order_by "expires";
    else
        
$query_order_by "account";
    
    switch( 
$_REQUEST["show"] )
    {
        case 
"expired":
            
$query_show "and expires < current_date()";
            break;

        case 
"not_expired":
            
$query_show "and expires >= current_date()";
            break;

        default:
            
$query_show "";
            break;
    }    
    
$rs_accounts mysql_query("select account, password, unix_timestamp(expires) as expires from accounts where username = ".
        
"'$G_username' ".$query_show." order by ".$query_order_by);

    
// -- handle paging
    
$page_index 1;
    if( isset(
$_REQUEST["page_index"]) ) $page_index = (int)entry_filter($_REQUEST["page_index"]);
    
$page_count = ((int)(mysql_num_rows$rs_accounts ) / $G_reselled_accounts_per_page)) + 1;

    if( isset(
$_REQUEST["page_first"]) ) $page_index 1;
    if( isset(
$_REQUEST["page_previous"]) ) $page_index = (int)entry_filter($_REQUEST["page_index"]) - 1;
    if( isset(
$_REQUEST["page_next"]) ) $page_index = (int)entry_filter($_REQUEST["page_index"]) + 1;
    if( isset(
$_REQUEST["page_last"]) ) $page_index $page_count;

    
// -- correct page index if needed
    
if( $page_index $page_index 1;
    if( 
$page_index $page_count$page_index $page_count;
?>

Última edición por gnzsoloyo; 29/11/2015 a las 08:50