Foros del Web » Programando para Internet » PHP »

Desactivar cuenta con mysql y php

Estas en el tema de Desactivar cuenta con mysql y php en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/11/2015, 05:18
 
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
  #2 (permalink)  
Antiguo 29/11/2015, 05:36
 
Fecha de Ingreso: noviembre-2015
Mensajes: 13
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Desactivar cuenta con mysql y php

Tal vez este otro php pueda ayudar. Este seria para update o habilitar las cuentas ya expiradas
Código PHP:
 <?php
    
include("global.php");
    if( !isset(
$_REQUEST["account"]) )
    {
        echo(
"ERROR: No account was specified.");
        die;
    }
    
    
$account entry_filter($_REQUEST["account"]);
    
$status_message_info "";
    
$status_message_server "";
    
$status_message_service "";
    
    
// -- check if it is a valid sub-account for this username
    
if( (int)query_scalar("select count(*) from accounts where username = '$G_username' and ".
        
"account = '$account'") == 0)
    {
        echo(
"ERROR: Invalid account specified.");
        die;
    }
    
    
// -- update account information
    
if( isset($_REQUEST["update"]) and isset($_REQUEST["account"]) and isset($_REQUEST["password"]) )
    {
        
$_REQUEST["account"] = entry_filter$_REQUEST["account"] );
        
$_REQUEST["password"] = entry_filter$_REQUEST["password"] );
        
        if( 
$_REQUEST["password"] <> "" )
        {
            
$server_status_description "";
            if( 
server_update_account_password(get_effective_account($account$G_user_account_prefix),
                
$_REQUEST["password"], $server_status_description) )
            {
                if( 
db_update("accounts", array("password" => $_REQUEST["password"]), "username = '$G_username' and ".
                    
"account = '".$_REQUEST["account"]."'") )
                {
                    
$status_message_info grs("ACCOUNT_ACTIONS_UPDATE_SUCCESS");
                }
                else 
$status_message_info grs("ACCOUNT_ACTIONS_UPDATE_FAILURE");
            }
            else 
$status_message_info "SERVER: ".$server_status_description;
        }
    }
    
    
// -- add service months
    
if( isset($_REQUEST["add_service_months"]) and isset($_REQUEST["add_months"]) and isset($_REQUEST["account"]) )
    {
        
// -- add record to the database
        
if( (get_credit_balance$G_username ) - (int)$_REQUEST["add_months"]) >= )
        {
            
$current_date date("Ymd");
            
$account_expiry query_scalar("select date_format(expires, '%Y%m%d') from accounts where ".
                
"username = '$G_username' and account = '$account'");
            
            if( ((int)
$account_expiry) > ((int)$current_date) )
            {
                
$base_timestamp mktime(000,
                    
substr($account_expiry42),
                    
substr($account_expiry62),
                    
substr($account_expiry04));
                
                
$coverage_start $base_timestamp + (3600 24 1);
            }
            else
            {
                
$base_timestamp mktime(000,
                    
substr($current_date42),
                    
substr($current_date62),
                    
substr($current_date04));

                
$coverage_start $base_timestamp;
            }
            
$coverage_end $base_timestamp + ((3600 24 $G_days_per_month) * (int)$_REQUEST["add_months"]);

            
$server_status_description "";
            if( 
server_update_account_expiry(get_effective_account($account$G_user_account_prefix),
                
$coverage_end$server_status_description) )
            {
                
mysql_begin();
                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" => $account,
                    
"timestamp" => date("Y-m-d H:i:s"),
                    
"coverage_start" => date("Y-m-d"$coverage_start),
                    
"coverage_end" => date("Y-m-d"$coverage_end)) ) )
                {
                    if( 
mysql_query("update accounts set expires = (select max(coverage_end) from transactions ".
                        
"where username = '$G_username' and account = '$account') where username = '$G_username' ".
                        
"and account = '$account'") )
                        
                    {
                        
mysql_commit();
                        
$status_message_service grs("ACCOUNT_ACTIONS_ADD_SUCCESS");                        
                    }
                    else
                    {
                        
$status_message_service grs("ACCOUNT_ACTIONS_ADD_FAILURE");
                        
mysql_rollback();
                    }
                    
                }
                else
                {
                    
$status_message_service grs("ACCOUNT_ACTIONS_ADD_FAILURE");
                    
mysql_rollback();
                }
            }
            else 
$status_message_service "SERVER: ".$server_status_description;
        }
        else 
$status_message_service grs("ACCOUNT_ACTIONS_ADD_INSUFFICIENT");
    }
    
    
$rs_account mysql_query("select password, unix_timestamp(expires) as expires from accounts where username = '$G_username' and ".
        
"account = '$account'");
    
    
$rw_account mysql_fetch_assoc$rs_account );
    if( !
$rw_account )
    {
        echo(
"ERROR: Invalid account was specified.");
        die;
    }

Última edición por gnzsoloyo; 29/11/2015 a las 08:51
  #3 (permalink)  
Antiguo 29/11/2015, 08:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Desactivar cuenta con mysql y php

PHP no es MySQL, ni MySQL entiende PHP.
Programación es OFF TOPIC en los foros de base de datos.

Movido a PHP.

Etiquetas: desactivar, mysql, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:04.