www.pudn.com > ProjectSend_feeywt.rar > functions.php, change:2012-04-25,size:8243b


<?php 
/** 
 * Define the common functions that can be accessed from anywhere. 
 * 
 * @package		ProjectSend 
 * @subpackage	Functions 
 */ 
 
/** 
 * Check if a client id exists on the database. 
 * Used on the Edit client page. 
 * 
 * @return bool 
 */ 
function client_exists_id($id) 
{ 
	global $database; 
	$id_exists = $database->query("SELECT * FROM tbl_clients WHERE id='$id'"); 
	$count_clients = mysql_num_rows($id_exists); 
	if($count_clients > 0){ 
		return true; 
	} 
	else { 
		return false; 
	} 
} 
 
/** 
 * Check if a user id exists on the database. 
 * Used on the Edit user page. 
 * 
 * @return bool 
 */ 
function user_exists_id($id) 
{ 
	global $database; 
	$id_exists = $database->query("SELECT * FROM tbl_users WHERE id='$id'"); 
	$count_users = mysql_num_rows($id_exists); 
	if($count_users > 0){ 
		return true; 
	} 
	else { 
		return false; 
	} 
} 
 
/** 
 * Get all the client information knowing only the id 
 * Used on the Manage files page. 
 * 
 * @return array 
 */ 
function get_client_by_id($client) 
{ 
	global $database; 
	$get_client_info = $database->query("SELECT * FROM tbl_clients WHERE id='$client'"); 
	while ($row = mysql_fetch_assoc($get_client_info)) { 
		$information = array( 
							'id' => $row['id'], 
							'name' => $row['name'], 
							'username' => $row['client_user'], 
							'address' => $row['address'], 
							'phone' => $row['phone'], 
							'email' => $row['email'], 
							'notify' => $row['notify'], 
							'contact' => $row['contact'], 
							'created_date' => $row['timestamp'], 
							'created_by' => $row['created_by'] 
						); 
		if(!empty($information)) { 
			return $information; 
		} 
		else { 
			return false; 
		} 
	} 
} 
 
 
/** 
 * Get all the client information knowing only the log in username 
 * 
 * @return array 
 */ 
function get_client_by_username($client) 
{ 
	global $database; 
	$get_client_info = $database->query("SELECT * FROM tbl_clients WHERE client_user='$client'"); 
	while ($row = mysql_fetch_assoc($get_client_info)) { 
		$information = array( 
							'id' => $row['id'], 
							'name' => $row['name'], 
							'username' => $row['client_user'], 
							'address' => $row['address'], 
							'phone' => $row['phone'], 
							'email' => $row['email'], 
							'notify' => $row['notify'], 
							'contact' => $row['contact'], 
							'created_date' => $row['timestamp'], 
							'created_by' => $row['created_by'] 
						); 
		if(!empty($information)) { 
			return $information; 
		} 
		else { 
			return false; 
		} 
	} 
} 
 
 
/** 
 * Used on the file uploading process to determine if the client 
 * needs to be notified by e-mail. 
 */ 
function check_if_notify_client($client) 
{ 
	global $database; 
	$get_notify = $database->query("SELECT notify, email FROM tbl_clients WHERE client_user='$client'"); 
	while ($row = mysql_fetch_assoc($get_notify)) { 
		if($row['notify'] === '1') { 
			return $row['email']; 
		} 
		else { 
			return false; 
		} 
	} 
} 
 
 
/** 
 * Standard footer mark up and information generated on this function to 
 * prevent code repetition. 
 * Used on the default template, log in page, install page and the back-end 
 * footer file. 
 */ 
function default_footer_info() 
{ 
?> 
	<div id="footer"> 
		<span><?php _e('ProjectSend Free software (GPL2) | 2007 - ', 'cftp_admin'); ?> <?php echo date("Y") ?> | <a href="<?php echo SYSTEM_URI; ?>" target="_blank"><?php echo SYSTEM_URI_LABEL; ?></a></span> 
	</div> 
<?php 
} 
 
 
/** 
 * Standard "There are no clients" message mark up and information 
 * generated on this function to prevent code repetition. 
 * 
 * Used on the upload pages and the clients list. 
 */ 
function message_no_clients() 
{ 
?> 
	<div class="whitebox whiteform whitebox_text"> 
		<p><?php _e('There are no clients at the moment', 'cftp_admin'); ?></p> 
		<p><a href="clients-add.php" target="_self"><?php _e('Create a new one', 'cftp_admin'); ?></a> <?php _e('to be able to upload files for that account.', 'cftp_admin'); ?></p> 
	</div> 
<?php 
} 
 
 
/** 
 * Generate a system text message. 
 * 
 * Current CSS available message classes: 
 * - message_ok 
 * - message_error 
 * - message_info 
 * 
 */	 
function system_message($type,$message,$div_id = '') 
{ 
	$return = '<div class="message message_'.$type.'"'; 
	if (isset($div_id) && $div_id != '') { 
		$return .= ' id="'.$div_id.'"'; 
	} 
	$return .= '>'.$message.'</div>'; 
	return $return; 
} 
 
 
/** 
 * Function used accross the system to determine if the current logged in 
 * account has permission to do something. 
 *  
 */ 
function in_session_or_cookies($levels) 
{ 
	if (isset($_SESSION['userlevel']) && (in_array($_SESSION['userlevel'],$levels))) { 
		return true; 
	} 
	else if (isset($_COOKIE['userlevel']) && (in_array($_COOKIE['userlevel'],$levels))) { 
		return true; 
	} 
	else { 
		return false; 
	} 
} 
 
 
/** 
 * Returns the current logged in account level either from the active 
 * session or the cookies. 
 * 
 * @todo Validate the returned value against the one stored on the database 
 */ 
function get_current_user_level() 
{ 
	if (isset($_SESSION['userlevel'])) { 
		$level = $_SESSION['userlevel']; 
	} 
	elseif (isset($_COOKIE['userlevel'])) { 
		$level = $_COOKIE['userlevel']; 
	} 
	return $level; 
} 
 
 
/** 
 * Returns the current logged in account username either from the active 
 * session or the cookies. 
 * 
 * @todo Validate the returned value against the one stored on the database 
 */ 
function get_current_user_username() 
{ 
	if (isset($_COOKIE['loggedin'])) { 
		$user = $_COOKIE['loggedin']; 
	} 
	elseif (isset($_SESSION['loggedin'])) { 
		$user = $_SESSION['loggedin']; 
	} 
	return $user; 
} 
 
 
/** 
 * @author		brian dot folts at gmail dot com 
 * @copyright	06-Sep-2006 
 * @link		http://php.net/manual/es/function.mysql-real-escape-string.php 
 */ 
function mysql_real_escape_array($array) 
{ 
    return array_map("mysql_real_escape_string",$array); 
} 
 
 
/** 
 * Based on a script found on webcheatsheet. Fixed an issue from the original code. 
 * Used on the installation form to fill the URI field automatically. 
 * 
 * @author		http://webcheatsheet.com 
 * @link		http://www.webcheatsheet.com/php/get_current_page_url.php 
 */ 
function get_current_url() 
{ 
	$pageURL = 'http'; 
	if (!empty($_SERVER['HTTPS'])) { 
		if($_SERVER['HTTPS'] == 'on'){ 
			$pageURL .= "s"; 
		} 
	} 
	$pageURL .= "://"; 
	if ($_SERVER["SERVER_PORT"] != "80") { 
		$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
	} else { 
		$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
	} 
 
	/** 
	 * Check if we are accesing the install folder or the index.php file directly 
	 */ 
	$extension = substr($pageURL,-4); 
	if ($extension=='.php') { 
		$pageURL = substr($pageURL,0,-17); 
		return $pageURL; 
	} 
	else { 
		$pageURL = substr($pageURL,0,-8); 
		return $pageURL; 
	} 
} 
 
/** 
 * Receives the size of a file in bytes, and formats it for readability. 
 * Used on files listings (templates and the files manager). 
 */ 
function format_file_size($size) 
{ 
	if ($size < 1024) { 
		$format_size = $size . " bytes"; 
	} 
	else if ($size < 1024*1000) { 
		$divide_by = 1024; 
		$format_size = round(($size / $divide_by), 1) . " kB"; 
	} 
	else if ($size < 1024*1000*1000) { 
		$divide_by = 1024*1000; 
		$format_size = round(($size / $divide_by), 1) . " MB"; 
	} 
	else { 
		$divide_by = 1024*1000*1000; 
		$format_size = round(($size / $divide_by), 1) . " GB"; 
	} 
	return $format_size; 
} 
 
/** 
 * Delete just one file. 
 * Used on the files managment page. 
 */ 
function delete_file($filename) 
{ 
	chmod($filename, 0777); 
	unlink($filename); 
} 
 
/** 
 * Deletes all files and sub-folders of the selected directory. 
 * Used when deleting a client. 
 */ 
function delete_recursive($dir) 
{ 
	if (is_dir($dir)) { 
		if ($dh = opendir($dir)) { 
			while (($file = readdir($dh)) !== false ) { 
				if( $file != "." && $file != ".." ) { 
					if( is_dir( $dir . $file ) ) { 
						delete_recursive( $dir . $file . "/" ); 
						rmdir( $dir . $file ); 
					} 
					else { 
						chmod($dir.$file, 0777); 
						unlink($dir.$file); 
					} 
				} 
		   } 
		   closedir($dh); 
		   rmdir($dir); 
	   } 
	} 
} 
 
?>