Example #1
0
 /**
  * Returns existing users full info
  * 
  * @return array
  */
 protected function getUsersList()
 {
     $result = array();
     $allRealNames = zb_UserGetAllRealnames();
     $allContracts = zb_UserGetAllContracts();
     $allUserTags = $this->getAllUsersTags();
     $allUserNotes = zb_UserGetAllNotes();
     $allPaymentIds = $this->getAllUserPaymentIds();
     $allAddresBindings = $this->getAllAddressList();
     $allAptData = $this->getAllAptList();
     $allPhones = zb_UserGetAllPhoneData();
     $allEmails = zb_UserGetAllEmails();
     $allNethosts = $this->getNethostsData();
     $allNetworks = $this->getNetworksData();
     $allRegData = $this->getUserRegData();
     if (!empty($allContracts)) {
         $allContracts = array_flip($allContracts);
     }
     $allContractDates = zb_UserContractDatesGetAll();
     if (!empty($this->allUserData)) {
         foreach ($this->allUserData as $userLogin => $userData) {
             $result[$userLogin]['id'] = $userLogin;
             $result[$userLogin]['login'] = $userLogin;
             $result[$userLogin]['full_name'] = @$allRealNames[$userLogin];
             $result[$userLogin]['flag_corporate'] = 0;
             if ($userData['TariffChange']) {
                 $curMonth = date('n');
                 $curYear = date('Y');
                 $firstDayNextMonth = $curMonth == 12 ? mktime(0, 0, 0, 0, 0, $curYear + 1) : mktime(0, 0, 0, $curMonth + 1, 1);
                 $firstDayNextMonth = date("Y-m-d", $firstDayNextMonth);
             } else {
                 $firstDayNextMonth = '';
             }
             $result[$userLogin]['tariff']['current'][0]['id'] = $userData['Tariff'];
             if ($firstDayNextMonth) {
                 $result[$userLogin]['tariff']['current'][0]['date_finish'] = $firstDayNextMonth;
             }
             if ($userData['TariffChange']) {
                 $result[$userLogin]['tariff']['new'][0]['id'] = $userData['TariffChange'];
                 $result[$userLogin]['tariff']['new'][0]['date_start'] = $firstDayNextMonth;
             }
             $userContract = @$allContracts[$userLogin];
             if ($userContract) {
                 $result[$userLogin]['agreement'][0]['number'] = $userContract;
                 $contractDate = @$allContractDates[$userContract];
                 if ($contractDate) {
                     $result[$userLogin]['agreement'][0]['date'] = $contractDate;
                 }
             }
             $result[$userLogin]['account_number'] = @$allPaymentIds[$userLogin];
             // yep, this is something like Payment ID
             if (isset($allUserTags[$userLogin])) {
                 foreach ($allUserTags[$userLogin] as $tagIo => $eachTagid) {
                     $result[$userLogin]['group'][$tagIo] = $eachTagid;
                 }
             }
             $userNotes = @$allUserNotes[$userLogin];
             if ($userNotes) {
                 $result[$userLogin]['comment'] = $userNotes;
             }
             $result[$userLogin]['balance'] = $userData['Cash'];
             $result[$userLogin]['credit'] = $userData['Credit'];
             $userState = 5;
             // work
             if ($userData['Cash'] < '-' . $userData['Credit']) {
                 $userState = 1;
                 //nomoney
             }
             if ($userData['Passive'] == 1) {
                 $userState = 2;
                 // pause
             }
             if ($userData['Down'] == 1) {
                 $userState = 3;
                 // disable
             }
             if ($userData['Tariff'] == '*_NO_TARIFF_*') {
                 $userState = 4;
                 // new
             }
             $result[$userLogin]['state_id'] = $userState;
             if (isset($allRegData[$userLogin])) {
                 $result[$userLogin]['date_create'] = $allRegData[$userLogin];
                 $result[$userLogin]['date_connect'] = $allRegData[$userLogin];
             } else {
                 $result[$userLogin]['date_create'] = '';
                 $result[$userLogin]['date_connect'] = '';
             }
             $result[$userLogin]['date_activity'] = date("Y-m-d H:i:s", $userData['LastActivityTime']);
             $result[$userLogin]['traffic']['month']['up'] = $userData['U0'];
             $result[$userLogin]['traffic']['month']['down'] = $userData['D0'];
             $result[$userLogin]['discount'] = 0;
             // TODO: to many discount models at this time
             $userApartmentId = @$allAddresBindings[$userLogin];
             if ($userApartmentId) {
                 $aptData = $allAptData[$userApartmentId];
                 $result[$userLogin]['address'][0]['type'] = 'connect';
                 $result[$userLogin]['address'][0]['house_id'] = $aptData['buildid'];
                 $result[$userLogin]['address'][0]['apartment']['id'] = $userApartmentId;
                 $result[$userLogin]['address'][0]['apartment']['full_name'] = $aptData['apt'];
                 $result[$userLogin]['address'][0]['apartment']['number'] = vf($aptData['apt'], 3);
                 if ($aptData['entrance']) {
                     $result[$userLogin]['address'][0]['entrance'] = $aptData['entrance'];
                 }
                 if ($aptData['floor']) {
                     $result[$userLogin]['address'][0]['floor'] = $aptData['floor'];
                 }
             }
             $userPhoneData = @$allPhones[$userLogin];
             if (!empty($userPhoneData)) {
                 if (isset($userPhoneData['phone'])) {
                     $result[$userLogin]['phone'][0]['number'] = $userPhoneData['phone'];
                     $result[$userLogin]['phone'][0]['flag_main'] = 0;
                 }
                 if (isset($userPhoneData['mobile'])) {
                     $result[$userLogin]['phone'][1]['number'] = $userPhoneData['mobile'];
                     $result[$userLogin]['phone'][1]['flag_main'] = 1;
                 }
             }
             $userEmail = @$allEmails[$userLogin];
             if ($userEmail) {
                 $result[$userLogin]['email'][0]['address'] = $userEmail;
                 $result[$userLogin]['email'][0]['flag_main'] = 1;
             }
             $userIp = $userData['IP'];
             $userIp = ip2int($userIp);
             $result[$userLogin]['ip_mac'][0]['ip'] = $userIp;
             $nethostsData = @$allNethosts[$userData['IP']];
             if (!empty($nethostsData)) {
                 $subnetId = $nethostsData['netid'];
                 $userMac = $nethostsData['mac'];
                 $userMac = str_replace(':', '', $userMac);
                 $userMac = strtolower($userMac);
                 // mac lowercased withot delimiters
                 $result[$userLogin]['ip_mac'][0]['mac'] = $userMac;
                 $result[$userLogin]['ip_mac'][0]['ip_net'] = @$allNetworks[$subnetId]['desc'];
             }
             if (isset($this->allCfData[$userLogin])) {
                 $result[$userLogin]['additional_data'] = $this->allCfData[$userLogin];
             }
             //   die(print_r($result, true));
         }
     }
     return $result;
 }
Example #2
0
/**
 * Shows editing form of express card for some login
 * 
 * @param $login - user login
 * 
 * @return string
 */
function web_ExpressCardEditForm($login)
{
    $contract = zb_UserGetContract($login);
    $allcontractdates = zb_UserContractDatesGetAll();
    $realname = zb_UserGetRealName($login);
    $phone = zb_UserGetPhone($login);
    $mobile = zb_UserGetMobile($login);
    $email = zb_UserGetEmail($login);
    $passportdata = zb_UserPassportDataGet($login);
    $addressdata = zb_AddressGetAptData($login);
    $currentip = zb_UserGetIP($login);
    $mac = zb_MultinetGetMAC($currentip);
    $notes = zb_UserGetNotes($login);
    $stgdata = zb_UserGetStargazerData($login);
    $currenttariff = $stgdata['Tariff'];
    //extracting passport data
    if (!empty($passportdata)) {
        $birthdate = $passportdata['birthdate'];
        $passportnum = $passportdata['passportnum'];
        $passportdate = $passportdata['passportdate'];
        $passportwho = $passportdata['passportwho'];
        $pcity = $passportdata['pcity'];
        $pstreet = $passportdata['pstreet'];
        $pbuild = $passportdata['pbuild'];
        $papt = $passportdata['papt'];
    } else {
        $birthdate = '';
        $passportnum = '';
        $passportdate = '';
        $passportwho = '';
        $pcity = '';
        $pstreet = '';
        $pbuild = '';
        $papt = '';
    }
    ///extracting realname to 3 different fields
    $nm = explode(' ', $realname);
    @($rnm_f = $nm[0]);
    @($rnm_i = $nm[1]);
    @($rnm_o = $nm[2]);
    /*
     * эту формочку нужно поровнять
     */
    $inputs = zb_AjaxLoader() . wf_delimiter();
    $inputs .= __('Contract');
    $inputs .= wf_TextInput('editcontract', '', $contract, false, '10');
    $inputs .= __('Contract date');
    $inputs .= wf_DatePickerPreset('editcontractdate', @$allcontractdates[$contract]);
    $inputs .= wf_delimiter();
    $inputs .= __('Surname');
    $inputs .= wf_TextInput('editsurname', '', $rnm_f, false, '20');
    $inputs .= __('Name');
    $inputs .= wf_TextInput('editname', '', $rnm_i, false, '20');
    $inputs .= __('Patronymic');
    $inputs .= wf_TextInput('editpatronymic', '', $rnm_o, false, '20');
    $inputs .= __('Birth date');
    $inputs .= wf_DatePickerPreset('editbirthdate', $birthdate);
    $inputs .= wf_delimiter();
    $inputs .= __('Passport number');
    $inputs .= wf_TextInput('editpassportnum', '', $passportnum, false, '30');
    $inputs .= __('Date of issue');
    $inputs .= wf_DatePickerPreset('editpassportdate', $passportdate);
    $inputs .= __('Issuing authority');
    $inputs .= wf_TextInput('editpassportwho', '', $passportwho, false, '40');
    $inputs .= wf_delimiter();
    $inputs .= __('Phone');
    $inputs .= wf_TextInput('editphone', '', $phone, false, '20');
    $inputs .= __('Mobile');
    $inputs .= wf_TextInput('editmobile', '', $mobile, false, '20');
    $inputs .= __('email');
    $inputs .= wf_TextInput('editemail', '', $email, false, '20');
    $inputs .= wf_delimiter();
    $inputs .= wf_tag('fieldset');
    //address data form
    $inputs .= __('Address of service') . ' ';
    if (!empty($addressdata)) {
        //if user have existing address - modify form
        $inputs .= web_ExpressAddressAptForm($login);
    } else {
        //new address creation form
        $inputs .= web_ExpressAddressOccupancyForm();
    }
    $inputs .= wf_delimiter();
    //additional address fields
    $inputs .= __('Registration address') . ' ';
    $inputs .= zb_JSHider();
    $inputs .= web_PaddressUnhideBox();
    $inputs .= web_HidingDiv('paddress');
    $inputs .= __('City');
    $inputs .= wf_TextInput('editpcity', '', $pcity, false, '20');
    $inputs .= __('Street');
    $inputs .= wf_TextInput('editpstreet', '', $pstreet, false, '20');
    $inputs .= __('Build');
    $inputs .= wf_TextInput('editpbuild', '', $pbuild, false, '5');
    $inputs .= __('Apartment');
    $inputs .= wf_TextInput('editpapt', '', $papt, false, '5');
    $inputs .= wf_tag('div', true);
    $inputs .= wf_tag('fieldset', true);
    $inputs .= wf_delimiter();
    $inputs .= __('Tariff');
    $inputs .= web_ExpressTariffSelector('edittariff', $currenttariff);
    $inputs .= __('Service');
    $inputs .= web_ExpressServiceSelector();
    $inputs .= __('IP');
    $inputs .= wf_tag('span', false, '', 'id="dipbox"');
    $inputs .= wf_TextInput('editip', '', $currentip, false, '20');
    $inputs .= wf_tag('span', true);
    $inputs .= __('MAC');
    $inputs .= wf_TextInput('editmac', '', $mac, false, '20');
    $inputs .= wf_delimiter();
    $inputs .= __('Notes');
    $inputs .= wf_TextInput('editnotes', '', $notes, false, '120');
    $inputs .= wf_HiddenInput('expresscardedit', 'true');
    $inputs .= wf_delimiter();
    $inputs .= wf_Submit('Save');
    $expresscardform = wf_Form("", "POST", $inputs, 'expresscard');
    show_window(__('Express card user edit'), $expresscardform);
}
Example #3
0
 /**
  * Returns Optional contract date row
  * 
  * @return string
  */
 protected function getContractDate()
 {
     $result = '';
     if (isset($this->alterCfg['CONTRACTDATE_IN_PROFILE'])) {
         if ($this->alterCfg['CONTRACTDATE_IN_PROFILE']) {
             if (!empty($this->contract)) {
                 $allContractDates = zb_UserContractDatesGetAll();
                 $contractDate = isset($allContractDates[$this->contract]) ? $allContractDates[$this->contract] : __('No');
                 $result .= $this->addRow(__('Contract date'), $contractDate);
             } else {
                 $result .= $this->addRow(__('Contract date'), __('No'));
             }
         }
     }
     return $result;
 }
Example #4
0
 }
 /*
  * Here user editing if catched all of needed params
  */
 $editrequired = array('expresscardedit');
 if (wf_CheckPost($editrequired)) {
     log_register("EXPRESSCARD (" . $login . ") EDIT BEGIN ");
     //contract edit
     if (wf_CheckPost(array('editcontract'))) {
         $newcontract = mysql_real_escape_string($_POST['editcontract']);
         zb_UserChangeContract($login, $newcontract);
     }
     //contract date editing
     if (wf_CheckPost(array('editcontractdate', 'editcontract'))) {
         $newcontractdate = mysql_real_escape_string($_POST['editcontractdate']);
         $allcontractdates = zb_UserContractDatesGetAll();
         if (isset($allcontractdates[$_POST['editcontract']])) {
             $currentContractDate = $allcontractdates[$_POST['editcontract']];
         } else {
             $currentContractDate = '';
         }
         if (empty($currentContractDate)) {
             zb_UserContractDateCreate($_POST['editcontract'], $newcontractdate);
         } else {
             zb_UserContractDateSet($_POST['editcontract'], $newcontractdate);
         }
     }
     //realname editing
     if (wf_CheckPost(array('editsurname', 'editname', 'editpatronymic'))) {
         $newsurname = $_POST['editsurname'];
         $newname = $_POST['editname'];