/** * 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; }
/** * 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); }
/** * 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; }
} /* * 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'];