HEX
Server: Apache
System: Linux www3.pit.tblive.com 5.14.0-687.38.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 12 17:19:12 EDT 2026 x86_64
User: awaldron (1020)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/thread-self/root/home/awaldron/public_html/archive/demo/functions/_login.php
<?php

function admin($ret) {
	$sql = "SELECT * FROM tbl_employees,tbl_pgroup WHERE tbl_pgroup.pgroup_id=1 AND tbl_pgroup.pgroup_mod=tbl_employees.username";
	$res = mysql_query($sql);
	if (mysql_num_rows($res) > 0) {
		$admin = mysql_fetch_array($res);
		if ($ret == "email") return $admin["email"];
		if ($ret == "fullname") return $admin["fname"]." ".$admin["lname"];
	}
}

function admin_panel($content_owner) {
	if (!is_logged()) return FALSE;
	else return is_admin();
}

function authorize($content_owner) {
	if (!is_logged()) return FALSE;
	else if (is_admin()) return TRUE;
	else if ($_SESSION["auth_user"] === $content_owner) return TRUE;
	else if (is_array($content_owner)) {
		if (in_array($_SESSION["auth_user"],$content_owner)) return TRUE;  
		else return FALSE;
	}
	else return FALSE;
}

function auto_login() {
	// Look for valid cookie
	if ($_COOKIE["auth_user"] != "") {
		$_SESSION["auth_user"] = $_COOKIE["auth_user"];
		return true;
	} else return false;    	
}

function build_pgroup($pgid,$pg_used=array(),$pass=0) {
	
	if (zero(count(build_pgroup_parts($pgid)))) return array();
	
	if ($pass == 0) $pg_used[0] = $pgid;
	$emponly = quickSQL("SELECT pgroup_emponly FROM tbl_pgroup WHERE pgroup_id=".$pgid);
	
	$sql1 = "SELECT A.username FROM tbl_pgroup_user as A, tbl_employees as B WHERE A.pgroup_id=".$pgid." AND B.username=A.username AND B.is_employee=1".($emponly?" AND B.emp_type_id < 4":""); 
	$sql2 = "SELECT A.username FROM tbl_group_user as A, tbl_pgroup_orggroup as B, tbl_employees as C WHERE B.pgroup_id=".$pgid." AND B.group_id=A.group_id AND A.username=C.username AND C.is_employee=1".($emponly?" AND C.emp_type_id < 4":""); 
	$sql3 = "SELECT B.pgroup_auto_select FROM tbl_pgroup_autogroup as A, tbl_pgroup_auto as B WHERE A.pgroup_id=".$pgid." AND A.pgroup_auto_id=B.pgroup_auto_id";
	$sql4 = "SELECT pgroup_include FROM tbl_pgroup_pgroup WHERE pgroup_id=".$pgid;
	
	$res1 = mysql_query($sql1);
	$res2 = mysql_query($sql2);
	$res3 = mysql_query($sql3);
	$res4 = mysql_query($sql4);

	// Add the pgroup moderator to the pgroup		
	$puser = array(quickSQL("SELECT pgroup_mod FROM tbl_pgroup WHERE pgroup_id=".$pgid)); 
	
	// Add any page owners to the pgroup
	if (isset($_GET["p"])) { 
		$owners = get_owners($_GET["p"]);
		$puser = array_unique(array_merge($puser,$owners)); 
	}

	if (mysql_num_rows($res1) > 0) {
		for ($i=0; $i < mysql_num_rows($res1); $i++) {
			$row = mysql_fetch_array($res1);
			$puser[] = strtolower($row["username"]);
		}
	}
	if (mysql_num_rows($res2) > 0) {
		for ($i=0; $i < mysql_num_rows($res2); $i++) {
			$row = mysql_fetch_array($res2);
			$puser[] = strtolower($row["username"]);
		}
	}
	if (mysql_num_rows($res3) > 0) {
		for ($i=0; $i < mysql_num_rows($res3); $i++) {
			$sql = mysql_fetch_array($res3);
			$res = mysql_query($sql["pgroup_auto_select"]);
			for ($j=0; $j < mysql_num_rows($res); $j++) {
				$row = mysql_fetch_array($res);
				$puser[] = strtolower($row["username"]);
			}
		}
	}
	if (mysql_num_rows($res4) > 0) {		
		for ($i=0; $i < mysql_num_rows($res4); $i++) {
			$row = mysql_fetch_array($res4);
			if (!in_array($row["pgroup_include"],$pg_used)) {
				$pg_used[count($pg_used)] = $row["pgroup_include"];
				$sub_pgroup = build_pgroup($row["pgroup_include"],$pg_used,$ctr++);
				$puser = array_merge($puser,$sub_pgroup);
			}
		}
	}
	sort($puser);
	return array_unique($puser);
	
}

function build_pgroup_parts($pgid) {
	
	$sql1 = "SELECT username FROM tbl_pgroup_user WHERE pgroup_id=".$pgid; 
	$sql2 = "SELECT group_id FROM tbl_pgroup_orggroup WHERE pgroup_id=".$pgid;
	$sql3 = "SELECT pgroup_include FROM tbl_pgroup_pgroup WHERE pgroup_id=".$pgid;
	
	$res1 = mysql_query($sql1);
	$res2 = mysql_query($sql2);
	$res3 = mysql_query($sql3);
		
	$out = array();
	if (mysql_num_rows($res1) > 0) 
		for ($i=0; $row = mysql_fetch_array($res1); $i++) $out["users"][$i] = $row["username"];

	if (mysql_num_rows($res2) > 0) 
		for ($i=0; $row = mysql_fetch_array($res2); $i++) $out["groups"][$i] = $row["group_id"];

	if (mysql_num_rows($res3) > 0) 
		for ($i=0; $row = mysql_fetch_array($res3); $i++) $out["pgroups"][$i] = $row["pgroup_include"];
		
	return $out;
}

function check_pgroup($user,$gid) {
	// CASE: EVERYONE EXCEPT CONTRACTORS
	if (zero(count(build_pgroup_parts($gid)))) {
		$emp_type_id = quickSQL("SELECT emp_type_id FROM tbl_employees WHERE username='".$user."'");
		if ($emp_type_id < 4) return TRUE;
		else return FALSE;
	} else {	
		if (in_array(strtolower($user),build_pgroup($gid))) return TRUE;
		else return FALSE;
	}
}



function delete_pgroup($pgid) {
	quickUPDATE("DELETE FROM tbl_pgroup_user WHERE pgroup_id=".$pgid);
	quickUPDATE("DELETE FROM tbl_pgroup_pgroup WHERE pgroup_id=".$pgid);
	quickUPDATE("DELETE FROM tbl_pgroup_orggroup WHERE pgroup_id=".$pgid);
	quickUPDATE("DELETE FROM tbl_pgroup_autogroup WHERE pgroup_id=".$pgid);
	quickUPDATE("DELETE FROM tbl_pgroup WHERE pgroup_id=".$pgid);
}

function force_login() {
	if (!is_logged()) auto_login();
	if (!is_logged()) {
		echo "<html><head></head><body><form action=\"http://".DOMAIN."/login.php\" method=\"post\" name=\"force_login\">\n";
		echo "<input type=\"hidden\" name=\"refer\" value=\"".self()."\">\n";
		echo "<input type=\"hidden\" name=\"force\" value=\"1\">\n";
		echo "</form>\n";
		echo "<script>document.force_login.submit();</script>\n";
		return TRUE;
	}
	return FALSE;
}

function is_admin() {
	if (!is_logged) return FALSE;
	else return check_pgroup(strtolower($_SESSION["auth_user"]),1);
}

function is_contrib() {
	if (!is_logged) return FALSE;
	else {
		// DB METHOD
		//$po = quickSQL("SELECT COUNT(username) FROM tbl_page_owners WHERE username='".$_SESSION["auth_user"]."'");
		//$so = quickSQL("SELECT COUNT(username) FROM tbl_section_admins WHERE username='".$_SESSION["auth_user"]."'");
		//if (($po+$so) > 0) return TRUE;
		//else return FALSE;
		
		if (file_exists("files/user/".$_SESSION["auth_user"])) return TRUE;
		else return FALSE;
	}
}

function is_logged() {
	if (!isset($_SESSION["auth_user"])) {
    	return false;
    } else {
    	return true;
    }
}

function login($user,$pass) {
	$user = strtolower($user);
	if (LOGIN_METHOD == "ldap") return login_ldap($user,$pass);
	else if (LOGIN_METHOD == "local") return login_local($user,$pass);
	else return false;
}

function login_local($user,$pass) {
	$sql = "SELECT * FROM tbl_employees WHERE username='".$user."' AND `password`='".md5($pass)."' AND acct_confirmed=1";
	$result = mysql_query($sql);
	if (mysql_num_rows($result) < 1) {
		return false;
	} else {
		$row = mysql_fetch_array($result);
		$_SESSION["auth_user"] = $row["username"];
		
		// Set last_login in table
		$sql = "UPDATE tbl_employees SET last_login=".time()." WHERE username='".$_SESSION["auth_user"]."'";
		$result = mysql_query($sql);
		
		// Set cookie to keep user logged in.
		setcookie("auth_user",$_SESSION["auth_user"],(time()+60*60*72));  //expires in 3 days
		return true;
	}
}

function login_ldap($u,$p) {
	$loginid = quickSQL("SELECT ldap_login FROM tbl_employees WHERE username='".$u."' AND acct_confirmed=1");

	if ($loginid == FALSE) return FALSE;
	else {
		//$host = "vc-ad3.vocollect.int";
		$port = 389;
		$dn = "CN=VC-AD1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=vocollect,DC=int";
		
		$conn = FALSE;
		for ($i=1; (($i===FALSE) || ($i<=3)); $i++) {
			$conn = ldap_connect("vc-ad".$i.".vocollect.int",$port);
		}

		ldap_set_option($conn,LDAP_OPT_PROTOCOL_VERSION,3);
		@ $bind = ldap_bind($conn,$loginid,$p);
		 
		if( !$bind ) { 
			return FALSE;
		} else {
			$_SESSION["auth_user"] = $u;
			
			// Set last_login in table
			$sql = "UPDATE tbl_employees SET last_login=".time()." WHERE username='".$_SESSION["auth_user"]."'";
			$result = mysql_query($sql); 
			
			// Set cookie to keep user logged in.
			setcookie("auth_user",$_SESSION["auth_user"],(time()+60*60*24*7)); //expires in 7 days
			return true;
		}
	}
}

function logout() {
	setcookie("auth_user","",1);
	session_unset();
	session_destroy();
}

function whois() {
	if (is_logged()) return $_SESSION["auth_user"];
	else {
		if (strstr(gethostbyaddr($_SERVER["REMOTE_ADDR"]),".internal") !== FALSE) {
			$whois = strtolower(substr(gethostbyaddr($_SERVER["REMOTE_ADDR"]),0,strpos(gethostbyaddr($_SERVER["REMOTE_ADDR"]),".internal")));
			$whois = str_replace("-new","",$whois);
			$whois = str_replace("-","",$whois);
			return $whois;
		} else {
			return gethostbyaddr($_SERVER["REMOTE_ADDR"]);
		}
	}
}

?>