HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/web/mailadmin/background_account_save.php
<?php

   if (!defined('IN_WEBADMIN'))
      exit();

   $domainid	= hmailGetVar("domainid",0,true);
   $accountid	= hmailGetVar("accountid",0,true);
   $action	   = hmailGetVar("action","");
   
   $obDomain	= $obBaseApp->Domains->ItemByDBID($domainid);
   
   if (hmailGetAdminLevel() == 0 && ($accountid != hmailGetAccountID() || $action != "edit"))
      hmailHackingAttemp();
   
   if (hmailGetAdminLevel() == 1 && $domainid != hmailGetDomainID())
   	hmailHackingAttemp(); // Domain admin but not for this domain.
   	
   $accountpassword  = hmailGetVar("accountpassword","");
   $accountmaxsize   = hmailGetVar("accountmaxsize","0");
   $accountaddress   = hmailGetVar("accountaddress","") . "@". $obDomain->Name;
   $accountactive    = hmailGetVar("accountactive","0");
   $accountadminlevel  = hmailGetVar("accountadminlevel","0");
   $PersonFirstName  = hmailGetVar("PersonFirstName","0");
   $PersonLastName   = hmailGetVar("PersonLastName","0");
   
   $vacationmessageon  = hmailGetVar("vacationmessageon","");
   $vacationsubject   = hmailGetVar("vacationsubject","0");
   $vacationmessage   =   hmailGetVar("vacationmessage","");
   $vacationmessageexpires   =   hmailGetVar("vacationmessageexpires","0");
   $vacationmessageexpiresdate   =   hmailGetVar("vacationmessageexpiresdate","2001-01-01");
   
   $forwardenabled  = hmailGetVar("forwardenabled","0");
   $forwardaddress   = hmailGetVar("forwardaddress","");
   $forwardkeeporiginal   =   hmailGetVar("forwardkeeporiginal","0");
   
   $adenabled   = hmailGetVar("adenabled","");
   $addomain    = hmailGetVar("addomain","0");
   $adusername  =   hmailGetVar("adusername","");
  
   $SignatureEnabled     = hmailGetVar("SignatureEnabled","0");
   $SignatureHTML        = hmailGetVar("SignatureHTML","");
   $SignaturePlainText   =   hmailGetVar("SignaturePlainText","0");

  
   if ($action == "edit")
      $obAccount = $obDomain->Accounts->ItemByDBID($accountid);  
   elseif ($action == "add")
      $obAccount = $obDomain->Accounts->Add();  
   elseif ($action == "delete")
   {
      $obAccount = $obDomain->Accounts->DeleteByDBID($accountid);  
      header("Location: index.php?page=accounts&domainid=$domainid");
      exit();
   }
  
   // If this is the current user, we need to update the session password.
   if ($action == "edit" &&
       $accountid == hmailGetAccountID())
   {
      if ($accountpassword != "")
         $_SESSION['session_password'] = $accountpassword;  
   }
   
   if ($accountpassword != "")
      $obAccount->Password = "$accountpassword";
   
   $obAccount->PersonFirstName = $PersonFirstName;
   $obAccount->PersonLastName = $PersonLastName;
   
   $obAccount->VacationMessageIsOn = $vacationmessageon == "1";
   $obAccount->VacationSubject     = $vacationsubject;
   $obAccount->VacationMessage     = $vacationmessage;
   $obAccount->VacationMessageExpires      = $vacationmessageexpires;
   $obAccount->VacationMessageExpiresDate  = $vacationmessageexpiresdate;

   $obAccount->ForwardEnabled		= $forwardenabled == "1";
   $obAccount->ForwardAddress		= $forwardaddress;
   $obAccount->ForwardKeepOriginal	= $forwardkeeporiginal == "1";

   $obAccount->SignatureEnabled		= $SignatureEnabled == "1";
   $obAccount->SignatureHTML		   = $SignatureHTML;
   $obAccount->SignaturePlainText	= $SignaturePlainText;
     
   
   if (hmailGetAdminLevel() != ADMIN_USER)
   {
      $accountmaxsize = str_replace(".", ",", $accountmaxsize);

      // Save other properties
      $obAccount->Address = $accountaddress;
      $obAccount->MaxSize = $accountmaxsize;
      $obAccount->Active  = $accountactive;
      
      $obAccount->IsAD         = $adenabled == "1";
      $obAccount->ADDomain     = $addomain;
      $obAccount->ADUsername   = $adusername;   
      
      if (hmailGetAdminLevel() == 1)
      {
         // The web user is domain administrator. Don't allow him
         // to change the user to server admin, unless he already
         // is this.
         
         if ($accountadminlevel == 0 || $accountadminlevel == 1)
         {
            $obAccount->AdminLevel = $accountadminlevel;
         }
      }
      else if (hmailGetAdminLevel() == 2)
      {
         // The web user is server administrator. Allow any change
         $obAccount->AdminLevel = $accountadminlevel;
      }
   }
   
   
   $obAccount->Save();
   $accountid = $obAccount->ID;
   
   header("Location: index.php?page=account&action=edit&domainid=$domainid&accountid=$accountid");
   

?>