Şuanki Dizin: /home/wwwdreamtechnolo/www/vahtuksanghatana.com/ssociety-7-12-2024/lib/ |
Şuanki Dosya : /home/wwwdreamtechnolo/www/vahtuksanghatana.com/ssociety-7-12-2024/lib/functions.php |
<?php date_default_timezone_set("Asia/Kolkata"); session_start(); class login_function { private $con; function __construct() { // $this->con = new mysqli("localhost","root","","mahasang_society"); $this->con = new mysqli("localhost","wwwdreamtechnolo_ahasang_society_admin","ss!~mk-e6c.r","wwwdreamtechnolo_mahasang_society_main"); mysqli_set_charset($this->con, 'utf8'); } function get_password_from_user_name($mobile_no) { if($stmt_select = $this->con->prepare("Select `password` from `admin` where `admin_name` = ? ")) { $stmt_select->bind_param("s",$mobile_no); $stmt_select->bind_result($result_password); if($stmt_select->execute()) { if($stmt_select->fetch()) { return $result_password; } } return false; } } function insert_item_master($item_name) { $date = date("Y-m-d"); $time = date("h:i:s A"); if($stmt = $this->con->prepare("INSERT INTO `item_master`(`item_name`,`date`,`time`) VALUES (?,?,?)")) { $stmt->bind_param("sss",$item_name,$date,$time); if($stmt->execute()) { return true; } } return false; } function delete_item_master($del_id) { if($stmt_select = $this->con->prepare("DELETE FROM `item_master` WHERE `id`=?")) { $stmt_select->bind_param("i",$del_id); if($stmt_select->execute()) { return true; } return false; } } function get_item_master_data_for_search($title,$date_from,$date_to) { if($stmt_insert = $this->con->prepare("SELECT `id`, `item_name`, `date`, `time` FROM `item_master` Where `item_name` LIKE '%$title%' AND `date` BETWEEN '$date_from' AND '$date_to'")) { $stmt_insert->bind_result($id,$item_name,$date,$time); if($stmt_insert->execute()) { $counter = 0; $details = array(); while($stmt_insert->fetch()) { $details[$counter][0] = $id; $details[$counter][1] = $item_name; $details[$counter][2] = $date; $details[$counter][3] = $time; $counter++; } if(!empty($details)) { return $details; } return false; } } } function add_expenses_for_staff($expenses,$amount,$added_by,$description,$title) { $date = date("Y-m-d"); $time = date("H-i-s A"); if($stmt_insert = $this->con->prepare("INSERT INTO `expenses_mgt`(`expenses`, `amount`, `date`, `time`, `added_by`, `description`, `title`) VALUES (?,?,?,?,?,?,?)")) { $stmt_insert->bind_param("sssssss",$expenses,$amount,$date,$time,$added_by,$description,$title); if($stmt_insert->execute()) { return true; } return false; } } function delete_expenses_staff($del_id) { if($stmt_select = $this->con->prepare("Delete from `expenses_mgt` where `id`=?")) { $stmt_select->bind_param("i",$del_id); if($stmt_select->execute()) { return true; } return false; } } function get_item_master_name_category() { if($stmt_insert = $this->con->prepare("SELECT `id`, `item_name` FROM `item_master` ")) { $stmt_insert->bind_result($id,$name); if($stmt_insert->execute()) { $counter = 0; $details = array(); while($stmt_insert->fetch()) { $details[$counter][0] = $id; $details[$counter][1] = $name; $counter++; } if(!empty($details)) { return $details; } return false; } } } function get_all_expenses_for_admin($efrom_date,$eto_date) { // Initialize details as an empty array to ensure a consistent return type $details = array(); // Prepare the SQL statement if ($stmt_insert = $this->con->prepare("SELECT `id`, `expenses`, `amount`, `date`, `description`, `title` FROM `expenses_mgt` where (`date` between ? AND ?)")) { // Bind result variables $stmt_insert->bind_param("ss",$efrom_date,$eto_date); $stmt_insert->bind_result($id, $expenses, $amount, $date, $description, $title); // Execute the statement if ($stmt_insert->execute()) { // Fetch the results into the details array $counter = 0; while ($stmt_insert->fetch()) { $details[$counter][0] = $id; $details[$counter][1] = $expenses; $details[$counter][2] = $amount; $details[$counter][3] = $date; $details[$counter][4] = $description; $details[$counter][5] = $title; $counter++; } } else { // Handle execution failure error_log("Error executing the statement: " . $stmt_insert->error); } // Close the statement $stmt_insert->close(); } else { // Handle preparation failure error_log("Error preparing the statement: " . $this->con->error); } // Return the details array, even if empty return $details; } function fetch_item_name($id) { if($stmt_select = $this->con->prepare("Select `item_name` from `item_master` where `id` = ? ")) { $stmt_select->bind_param("i",$id); $stmt_select->bind_result($result_service); if($stmt_select->execute()) { if($stmt_select->fetch()) { return $result_service; } } return false; } } function expenses_update_data($update_id,$expenses,$amount,$description,$title) { $date = date("Y-m-d"); $time = date("H:i:s A"); if($stmt_select = $this->con->prepare("update `expenses_mgt` set `expenses`= ?,`amount`= ?,`description`= ?,`title`= ? where `id` = ?")) { $stmt_select->bind_param("ssssi",$expenses,$amount,$description,$title,$update_id); if($stmt_select->execute()) { return true; } return false; } } function fetch_exepense_data_for_staff($id) { if($stmt_insert = $this->con->prepare("SELECT `id`, `expenses`, `amount`, `date`,`description`,`title` FROM `expenses_mgt` WHERE `id` = ?")) { $stmt_insert->bind_param("i",$id); $stmt_insert->bind_result($id,$expenses,$amount,$date,$description,$title); if($stmt_insert->execute()) { $counter = 0; $details = array(); while($stmt_insert->fetch()) { $details[$counter][0] = $id; $details[$counter][1] = $expenses; $details[$counter][2] = $amount; $details[$counter][3] = $date; $details[$counter][4] = $description; $details[$counter][5] = $title; $counter++; } if(!empty($details)) { return $details; } return false; } } } function add_software_users($var_name, $var_address, $var_mobile_no, $var_user_type, $var_password,$sw_user) { $current_date = date("Y-m-d"); $current_time = date("h:i:s A"); if ($stmt = $this->con->prepare("INSERT INTO `software_users`(`name`, `address`, `mobile_no`, `user_type`, `password`, `date`, `time`,`sw_user`) VALUES (?,?,?,?,?,?,?,?)")) { $stmt->bind_param("ssssssss", $var_name, $var_address, $var_mobile_no, $var_user_type, $var_password, $current_date, $current_time ,$sw_user); if ($stmt->execute()) { return true; } } return false; } function delete_software_users($delete_id) { if ($stmt = $this->con->prepare("DELETE FROM `software_users` WHERE `id`=?")) { $stmt->bind_param("i", $delete_id); if ($stmt->execute()) { return true; } return false; } } function get_all_software_users_info($date_from,$date_to,$title) { $title_stmt = ""; if($title!="") { $title_stmt = " AND `name` LIKE '%".$title."%'"; } if ($stmt = $this->con->prepare("SELECT `id`, `name`, `address`, `mobile_no`, `user_type`, `password`, `date`, `time` FROM `software_users` where (`date` BETWEEN ? AND ?)".$title_stmt)) { $stmt->bind_param("ss",$date_from,$date_to); $stmt->bind_result($res_id, $res_name, $res_address, $res_mobile_no, $res_user_type, $res_password, $res_date, $res_time); if ($stmt->execute()) { $data = array(); $counter = 0; while ($stmt->fetch()) { $data[$counter][0] = $res_id; $data[$counter][1] = $res_name; $data[$counter][2] = $res_address; $data[$counter][3] = $res_mobile_no; $data[$counter][4] = $res_user_type; $data[$counter][5] = $res_password; $data[$counter][6] = $res_date; $data[$counter][7] = $res_time; $counter++; } if (!empty($data)) { return $data; } else { return false; } } } } function get_software_users_form_id($var_edit_id) { if ($stmt = $this->con->prepare("SELECT `id`, `name`, `address`, `mobile_no`, `user_type`, `password`, `date`, `time` FROM `software_users` WHERE `id`=?")) { $stmt->bind_param("i", $var_edit_id); $stmt->bind_result($res_id, $res_name, $res_address, $res_mobile_no, $res_user_type, $res_password, $res_date, $res_time); if ($stmt->execute()) { $data = array(); $counter = 0; if ($stmt->fetch()) { $data[0] = $res_id; $data[1] = $res_name; $data[2] = $res_address; $data[3] = $res_mobile_no; $data[4] = $res_user_type; $data[5] = $res_password; $data[6] = $res_date; $data[7] = $res_time; return $data; } return false; } } } function update_software_users_details($var_name, $var_address, $var_mobile_no, $var_user_type, $var_password,$var_edit_id) { $current_date = date("Y-m-d"); $current_time = date("h:i:s A"); if ($stmt = $this->con->prepare("UPDATE `software_users` SET `name`=?,`address`=?,`mobile_no`=?,`user_type`=?,`password`=?,`date`=?,`time`=? WHERE `id`=?")) { $stmt->bind_param("sssssssi", $var_name, $var_address, $var_mobile_no, $var_user_type, $var_password, $current_date, $current_time, $var_edit_id); if ($stmt->execute()) { return true; } return false; } } function get_admin_password($current_login_admin) { if($stmt_select = $this->con->prepare("SELECT `password` FROM `admin` WHERE `admin_name` = ?")) { $stmt_select->bind_param("s",$current_login_admin); $stmt_select->bind_result($password); if($stmt_select->execute()) { if($stmt_select->fetch()) { return $password; } } return false; } } function update_password_admin($new_pass,$current_login_admin) { if($stmt_insert = $this->con->prepare("UPDATE `admin` SET `password` = ? WHERE `admin_name`=?")) { $stmt_insert->bind_param("ss",$new_pass,$current_login_admin); if($stmt_insert->execute()) { return true; } return false; } } function get_all_data_for_item_master($id) { if($stmt_insert = $this->con->prepare("SELECT `id`, `item_name`, `date`, `time` FROM `item_master` where `id`=?")) { $stmt_insert->bind_param('i',$id); $stmt_insert->bind_result($id,$item_name,$date,$time); if($stmt_insert->execute()) { $counter = 0; $details = array(); while($stmt_insert->fetch()) { $details[$counter][0] = $id; $details[$counter][1] = $item_name; $details[$counter][2] = $date; $details[$counter][3] = $time; $counter++; } if(!empty($details)) { return $details; } return false; } } } function update_item_master($item_name,$up_id) { $date = date("Y-m-d"); $time = date("H-i-s A"); if($stmt_insert = $this->con->prepare("UPDATE `item_master` SET `item_name`=?,`date`=?,`time`=? WHERE `id` = ?")) { $stmt_insert->bind_param("sssi",$item_name,$date,$time,$up_id); if($stmt_insert->execute()) { return true; } return false; } } function get_var_select_member_from_id($select_member) { if($stmt_insert = $this->con->prepare("SELECT fullname FROM registration WHERE id=?")) { $stmt_insert->bind_param("i",$select_member); $stmt_insert->bind_result($res_fullname); if($stmt_insert->execute()) { if($stmt_insert->fetch()) { return $res_fullname; } return false; } } } function add_sabhasad($var_name,$var_address,$dob,$business,$var_mobile_no,$var_adhaar_no,$var_sanchalak_name,$var_varsadar,$var_nate,$niyam_ati,$password,$image) { $current_date = date("Y-m-d"); $current_time = date("h:i:s A"); if ($stmt = $this->con->prepare("INSERT INTO `sabhasad_entry`(`name`, `address`, `dob`, `business`, `mobile_no`, `adhaar_no`, `sanchalak_name`, `varsadar`, `nate`,`niyam_ati`,`password`, `date`, `time`,`image`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)")) { $stmt->bind_param("ssssssssssssss", $var_name,$var_address,$dob,$business,$var_mobile_no,$var_adhaar_no,$var_sanchalak_name,$var_varsadar,$var_nate,$niyam_ati,$password, $current_date, $current_time,$image); if ($stmt->execute()) { return $stmt->insert_id; } } return false; } function get_all_sabhasad($date_from,$date_to) { // $title_stmt = ""; // if($title!="") // { // $title_stmt = " AND `name` LIKE '%".$title."%'"; // } if ($stmt = $this->con->prepare("SELECT `id`, `name`, `address`, `dob`, `business`, `mobile_no`, `adhaar_no`, `sanchalak_name`, `varsadar`, `nate`, `date`, `time` FROM `sabhasad_entry` where (`date` between ? ANd ?)")) { $stmt->bind_param("ss",$date_from,$date_to); $stmt->bind_result($res_id, $res_name, $res_address, $dob, $res_businesss, $res_mobile_no, $res_adhaar_no, $res_sanchalak_name, $varsadar,$nate, $res_date, $res_time); if ($stmt->execute()) { $data = array(); $counter = 0; while ($stmt->fetch()) { $data[$counter][0] = $res_id; $data[$counter][1] = $res_name; $data[$counter][2] = $res_address; $data[$counter][3] = $dob; $data[$counter][4] = $res_businesss; $data[$counter][5] = $res_mobile_no; $data[$counter][6] = $res_adhaar_no; $data[$counter][7] = $res_sanchalak_name; $data[$counter][8] = $varsadar; $data[$counter][9] = $nate; $data[$counter][10] = $res_date; $data[$counter][11] = $res_time; $counter++; } if (!empty($data)) { return $data; } else { return false; } } } } function get_all_sabhasad_for_print($pavati_id) { if ($stmt = $this->con->prepare("SELECT `id`, `name`, `address`, `dob`, `business`, `mobile_no`, `adhaar_no`, `sanchalak_name`, `varsadar`, `nate`, `date`, `time`,`image` FROM `sabhasad_entry` where `id`=?")) { $stmt->bind_param("s",$pavati_id); $stmt->bind_result($res_id, $res_name, $res_address, $dob, $res_businesss, $res_mobile_no, $res_adhaar_no, $res_sanchalak_name, $varsadar,$nate, $res_date ,$res_time,$image); if ($stmt->execute()) { $data = array(); $counter = 0; while ($stmt->fetch()) { $data[$counter][0] = $res_id; $data[$counter][1] = $res_name; $data[$counter][2] = $res_address; $data[$counter][3] = $dob; $data[$counter][4] = $res_businesss; $data[$counter][5] = $res_mobile_no; $data[$counter][6] = $res_adhaar_no; $data[$counter][7] = $res_sanchalak_name; $data[$counter][8] = $varsadar; $data[$counter][9] = $nate; $data[$counter][10] = $res_date; $data[$counter][11] = $res_time; $data[$counter][12] = $image; $counter++; } if (!empty($data)) { return $data; } else { return false; } } } } function delete_sabhasad($delete_id) { if ($stmt = $this->con->prepare("DELETE FROM `sabhasad_entry` WHERE `id`=?")) { $stmt->bind_param("i", $delete_id); if ($stmt->execute()) { return true; } return false; } } function get_name_by_id($pavati_id) { if($stmt_select = $this->con->prepare("Select `name` from `sabhasad_entry` where `id` = ? ")) { $stmt_select->bind_param("s",$pavati_id); $stmt_select->bind_result($result_name); if($stmt_select->execute()) { if($stmt_select->fetch()) { return $result_name; } } return false; } } function add_payment($sabhasad_id,$payment_date,$acc_no,$parvesh_fee,$service_charge,$shares,$karj_hapta,$farm_fee,$vilamb_akar,$other,$other_desc) { $current_date = date("Y-m-d"); $current_time = date("h:i:s A"); if ($stmt = $this->con->prepare("INSERT INTO `add_payment`(`sabhasad_id`, `payment_date`,`acc_no`, `parvesh_fee`, `service_charge`, `shares`, `karj_hapta`, `farm_fee`, `vilamb_akar`, `date`, `time`,`other`,`other_desc`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)")) { $stmt->bind_param("sssssssssssss", $sabhasad_id,$payment_date,$acc_no,$parvesh_fee,$service_charge,$shares,$karj_hapta,$farm_fee,$vilamb_akar, $current_date, $current_time,$other,$other_desc); if ($stmt->execute()) { return $stmt->insert_id; } } return false; } function get_payment_id_wise($pavati_id) { if ($stmt = $this->con->prepare("SELECT `id`, `sabhasad_id`, `payment_date`,`acc_no`, `parvesh_fee`, `service_charge`, `shares`, `karj_hapta`, `farm_fee`, `vilamb_akar`, `date`, `time` FROM `add_payment` WHERE `sabhasad_id`=?")) { $stmt->bind_param("s",$pavati_id); $stmt->bind_result($res_id, $sabhasad_id, $payment_date,$acc_no, $parvesh_fee, $service_charge, $shares, $karj_hapta, $farm_fee, $vilamb_akar,$res_date, $res_time); if ($stmt->execute()) { $data = array(); $counter = 0; while ($stmt->fetch()) { $data[$counter][0] = $res_id; $data[$counter][1] = $sabhasad_id; $data[$counter][2] = $payment_date; $data[$counter][3] = $acc_no; $data[$counter][4] = $parvesh_fee; $data[$counter][5] = $service_charge; $data[$counter][6] = $shares; $data[$counter][7] = $karj_hapta; $data[$counter][8] = $farm_fee; $data[$counter][9] = $vilamb_akar; $data[$counter][10] = $res_date; $data[$counter][11] = $res_time; $counter++; } if (!empty($data)) { return $data; } else { return false; } } } } function delete_payment($delete_id) { if ($stmt = $this->con->prepare("DELETE FROM `add_payment` WHERE `id`=?")) { $stmt->bind_param("i", $delete_id); if ($stmt->execute()) { return true; } return false; } } function get_payment_details_for_pavati($pavati_id) { if ($stmt = $this->con->prepare("SELECT `id`, `sabhasad_id`, `payment_date`,`acc_no`, `parvesh_fee`, `service_charge`, `shares`, `karj_hapta`, `farm_fee`, `vilamb_akar`, `date`, `time`,`other`,`other_desc` FROM `add_payment` WHERE `id`=?")) { $stmt->bind_param("s",$pavati_id); $stmt->bind_result($res_id, $sabhasad_id, $payment_date,$acc_no, $parvesh_fee, $service_charge, $shares, $karj_hapta, $farm_fee, $vilamb_akar,$res_date, $res_time,$other,$other_desc); if ($stmt->execute()) { $data = array(); $counter = 0; while ($stmt->fetch()) { $data[$counter][0] = $res_id; $data[$counter][1] = $sabhasad_id; $data[$counter][2] = $payment_date; $data[$counter][3] = $acc_no; $data[$counter][4] = $parvesh_fee; $data[$counter][5] = $service_charge; $data[$counter][6] = $shares; $data[$counter][7] = $karj_hapta; $data[$counter][8] = $farm_fee; $data[$counter][9] = $vilamb_akar; $data[$counter][10] = $res_date; $data[$counter][11] = $res_time; $data[$counter][12] = $other; $data[$counter][13] = $other_desc; $counter++; } if (!empty($data)) { return $data; } else { return false; } } } } function add_loan($sabhasad_id, $loan_amount, $jamin_name) { $jamin_name = implode(",", $jamin_name); $current_date = date("Y-m-d"); $current_time = date("h:i:s A"); if ($stmt = $this->con->prepare("INSERT INTO `add_loan_details`(`sabhasad_id`, `loan_amount`, `jamin_name`, `date`, `time`) VALUES (?,?,?,?,?)")) { // Ensure that jamin_name is now a string after implode $stmt->bind_param("sssss", $sabhasad_id, $loan_amount, $jamin_name, $current_date, $current_time); if ($stmt->execute()) { return $stmt->insert_id; } } return false; } function get_loan_for_print($loan_id) { if ($stmt = $this->con->prepare("SELECT `id`, `sabhasad_id`, `loan_amount`, `jamin_name`, `date`, `time` FROM `add_loan_details` WHERE `id`=?")) { $stmt->bind_param("s",$loan_id); $stmt->bind_result($res_id, $sabhasad_id, $loan_amount, $jamin_name,$res_date ,$res_time); if ($stmt->execute()) { $data = array(); $counter = 0; while ($stmt->fetch()) { $data[$counter][0] = $res_id; $data[$counter][1] = $sabhasad_id; $data[$counter][2] = $loan_amount; $data[$counter][3] = $jamin_name; $data[$counter][4] = $res_date; $data[$counter][5] = $res_time; $counter++; } if (!empty($data)) { return $data; } else { return false; } } } } function fetch_jamin_names($jamin_ids) { $jamin_ids_array = explode(",", $jamin_ids); $jamin_names = []; foreach ($jamin_ids_array as $id) { $stmt = $this->con->prepare("SELECT `name` FROM `sabhasad_entry` WHERE `id` = ?"); $stmt->bind_param("i", $id); if ($stmt->execute()) { $stmt->bind_result($name); while ($stmt->fetch()) { $jamin_names[] = $name; } } } return implode(", ", $jamin_names); } function get_loan_id_wise($pavati_id) { if ($stmt = $this->con->prepare("SELECT `id`, `sabhasad_id`, `loan_amount`, `jamin_name`, `date`, `time` FROM `add_loan_details` WHERE `sabhasad_id`=?")) { $stmt->bind_param("s",$pavati_id); $stmt->bind_result($res_id, $sabhasad_id, $loan_amount, $jamin_name,$res_date ,$res_time); if ($stmt->execute()) { $data = array(); $counter = 0; while ($stmt->fetch()) { $data[$counter][0] = $res_id; $data[$counter][1] = $sabhasad_id; $data[$counter][2] = $loan_amount; $data[$counter][3] = $jamin_name; $data[$counter][4] = $res_date; $data[$counter][5] = $res_time; $counter++; } if (!empty($data)) { return $data; } else { return false; } } } } function delete_loan($delete_id) { if ($stmt = $this->con->prepare("DELETE FROM `add_loan_details` WHERE `id`=?")) { $stmt->bind_param("i", $delete_id); if ($stmt->execute()) { return true; } return false; } } function get_jamin_all_nameby_id($res_id) { if ($stmt_select = $this->con->prepare("SELECT `jamin_name` FROM `add_loan_details` WHERE `sabhasad_id` = ?")) { $stmt_select->bind_param("s", $res_id); $stmt_select->bind_result($result_name); $jamin_names = array(); // Initialize an empty array to hold all the names. if ($stmt_select->execute()) { while ($stmt_select->fetch()) { // Add each jamin_name to the array $jamin_names[] = $result_name; } // Return the array of names (or you can implode them into a comma-separated string) if (count($jamin_names) > 0) { return $jamin_names; // Return the array of names } else { return false; // No names found } } } return false; // Return false if query execution fails } function get_mobile_by_id($pavati_id) { if($stmt_select = $this->con->prepare("Select `mobile_no` from `sabhasad_entry` where `id` = ? ")) { $stmt_select->bind_param("s",$pavati_id); $stmt_select->bind_result($result_name); if($stmt_select->execute()) { if($stmt_select->fetch()) { return $result_name; } } return false; } } function get_adhaar_by_id($pavati_id) { if($stmt_select = $this->con->prepare("Select `adhaar_no` from `sabhasad_entry` where `id` = ? ")) { $stmt_select->bind_param("s",$pavati_id); $stmt_select->bind_result($result_name); if($stmt_select->execute()) { if($stmt_select->fetch()) { return $result_name; } } return false; } } function get_all_sabhasad1() { if ($stmt = $this->con->prepare("SELECT `id`, `name`, `address`, `dob`, `business`, `mobile_no`, `adhaar_no`, `sanchalak_name`, `varsadar`, `nate`, `date`, `time` FROM `sabhasad_entry`")) { $stmt->bind_result($res_id, $res_name, $res_address, $dob, $res_businesss, $res_mobile_no, $res_adhaar_no, $res_sanchalak_name, $varsadar,$nate, $res_date, $res_time); if ($stmt->execute()) { $data = array(); $counter = 0; while ($stmt->fetch()) { $data[$counter][0] = $res_id; $data[$counter][1] = $res_name; $data[$counter][2] = $res_address; $data[$counter][3] = $dob; $data[$counter][4] = $res_businesss; $data[$counter][5] = $res_mobile_no; $data[$counter][6] = $res_adhaar_no; $data[$counter][7] = $res_sanchalak_name; $data[$counter][8] = $varsadar; $data[$counter][9] = $nate; $data[$counter][10] = $res_date; $data[$counter][11] = $res_time; $counter++; } if (!empty($data)) { return $data; } else { return false; } } } } }//End ?>
Linux 65-254-81-4.cprapid.com 5.14.0-284.11.1.el9_2.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 9 05:49:00 EDT 2023 x86_64
Apache
65.254.81.4