All pastes #822636 Raw Edit

Untitled

public cpp v1 · immutable
·published 2007-12-18 21:14 UTC
rendered paste body
sub change {  my $self = shift;  my ($attr) = @_;  my %FIELDS = (SIMULTANEONSLY => 'logins',              DISABLE          => 'disable',              IP               => 'ip',              NETMASK          => 'netmask',              TP_ID            => 'tp_id',              SPEED            => 'speed',              CID              => 'cid',              UID              => 'uid',              FILTER_ID        => 'filter_id',              CALLBACK         => 'callback',              PORT             => 'port'             );  if (! $attr->{CALLBACK}) {        $attr->{CALLBACK}=0;   }  my $old_info = $self->info($attr->{UID});  if ($old_info->{TP_ID} != $attr->{TP_ID}) {     my $tariffs = Tariffs->new($db, $CONF, $admin);     $tariffs->info($attr->{TP_ID});     if($tariffs->{CHANGE_PRICE} > 0) {       my $user = Users->new($db, $admin, $CONF);       $user->info($attr->{UID});       if ($user->{DEPOSIT} + $user->{CREDIT} < $tariffs->{CHANGE_PRICE}) {         $self->{errno}=15;         return $self;        }       my $fees = Fees->new($db, $admin, $CONF);       $fees->take($user, $tariffs->{CHANGE_PRICE}, { DESCRIBE  => "CHANGE TP" });      }     if ($tariffs->{AGE} > 0) {       my $user = Users->new($db, $admin, $CONF);       use POSIX qw(strftime);       my $EXPITE_DATE = strftime( "%Y-%m-%d", localtime(time + 86400 * $tariffs->{AGE}) );       #"curdate() + $tariffs->{AGE} days";       $user->{debug}=1;       $user->change($attr->{UID}, { EXPIRE => $EXPITE_DATE, UID => $attr->{UID} });     }   }  $admin->{MODULE}=$MODULE;  $self->changes($admin, { CHANGE_PARAM => 'UID',                   TABLE        => 'dv_main',                   FIELDS       => \%FIELDS,                   OLD_INFO     => $old_info,                   DATA         => $attr                  } );  return $self->{result};}