From 7cf3e98090a3e9f0a9cc960d07c5f259adab6a19 Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Thu, 14 Nov 2013 08:39:08 -0500 Subject: [PATCH] Merge remote-tracking branch 'origin/stable-3.0.5' --- interface/lib/classes/functions.inc.php | 111 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 57 insertions(+), 54 deletions(-) diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php index 0801c1c..0028b39 100644 --- a/interface/lib/classes/functions.inc.php +++ b/interface/lib/classes/functions.inc.php @@ -61,52 +61,6 @@ $app->ispcmail->send($to); $app->ispcmail->finish(); - /* left in here just for the case... - if($filepath != '') { - if(!file_exists($filepath)) $app->error("Mail attachement does not exist ".$filepath); - - $content = file_get_contents($filepath); - $content = chunk_split(base64_encode($content)); - $uid = strtoupper(md5(uniqid(time()))); - $subject = "=?utf-8?B?".base64_encode($subject)."?="; - - if($filename == '') { - $path_parts = pathinfo($filepath); - $filename = $path_parts["basename"]; - unset($path_parts); - } - - $header = "Return-Path: $from\nFrom: $from\nReply-To: $from\n"; - if($cc != '') $header .= "Cc: $cc\n"; - if($bcc != '') $header .= "Bcc: $bcc\n"; - $header .= "MIME-Version: 1.0\n"; - $header .= "Content-Type: multipart/mixed; boundary=$uid\n"; - - $header .= "--$uid\n"; - $header .= "Content-Type: text/plain;\n\tcharset=\"UTF-8\"\n"; - $header .= "Content-Transfer-Encoding: 8bit\n\n"; - $header .= "$text\n"; - - $header .= "--$uid\n"; - $header .= "Content-Type: $filetype; name=\"$filename\"\n"; - - $header .= "Content-Transfer-Encoding: base64\n"; - $header .= "Content-Disposition: attachment; filename=\"$filename\"\n\n"; - $header .= "$content\n"; - - $header .= "--$uid--"; - - mail($to, $subject, "", $header); - } else { - $header = "From: $from\nReply-To: $from\n"; - if($cc != '') $header .= "Cc: $cc\n"; - if($bcc != '') $header .= "Bcc: $bcc\n"; - $header .= "Content-Type: text/plain;\n\tcharset=\"UTF-8\"\n"; - $header .= "Content-Transfer-Encoding: 8bit\n\n"; - $subject = "=?utf-8?B?".base64_encode($subject)."?="; - mail($to, $subject, $text, $header); - } - */ return true; } @@ -129,11 +83,36 @@ return number_format((double)$number, $number_format_decimals, $number_format_dec_point, $number_format_thousands_sep); } + //* convert currency formatted number back to floating number + public function currency_unformat($number) { + global $app; + + $number_format_dec_point = $app->lng('number_format_dec_point'); + $number_format_thousands_sep = $app->lng('number_format_thousands_sep'); + if($number_format_thousands_sep == 'number_format_thousands_sep') $number_format_thousands_sep = ''; + + if($number_format_thousands_sep != '') $number = str_replace($number_format_thousands_sep, '', $number); + if($number_format_dec_point != '.' && $number_format_dec_point != '') $number = str_replace($number_format_dec_point, '.', $number); + + return (double)$number; + } + public function get_ispconfig_url() { + global $app; + $url = (stristr($_SERVER['SERVER_PROTOCOL'],'HTTPS') || stristr($_SERVER['HTTPS'],'on'))?'https':'http'; - $url .= '://'.$_SERVER['SERVER_NAME']; - if($_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443) { - $url .= ':'.$_SERVER['SERVER_PORT']; + if($_SERVER['SERVER_NAME'] != '_') { + $url .= '://'.$_SERVER['SERVER_NAME']; + if($_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443) { + $url .= ':'.$_SERVER['SERVER_PORT']; + } + } else { + $app->uses("getconf"); + $server_config = $app->getconf->get_server_config(1,'server'); + $url .= '://'.$server_config['hostname']; + if($_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443) { + $url .= ':'.$_SERVER['SERVER_PORT']; + } } return $url; } @@ -212,12 +191,24 @@ // IPv6 $regex = "/^(\:\:([a-f0-9]{1,4}\:){0,6}?[a-f0-9]{0,4}|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){0,6}?\:\:|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){1,6}?\:\:([a-f0-9]{1,4}\:){1,6}?[a-f0-9]{1,4})(\/\d{1,3})?$/i"; } + + $server_by_id = array(); + $server_by_ip = array(); + $servers = $app->db->queryAllRecords("SELECT * FROM server"); + if(is_array($servers) && !empty($servers)){ + foreach($servers as $server){ + $server_by_id[$server['server_id']] = $server['server_name']; + } + } $ips = array(); - $results = $app->db->queryAllRecords("SELECT ip_address AS ip FROM server_ip WHERE ip_type = '".$type."'"); + $results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$type."'"); if(!empty($results) && is_array($results)){ foreach($results as $result){ - if(preg_match($regex, $result['ip'])) $ips[] = $result['ip']; + if(preg_match($regex, $result['ip'])){ + $ips[] = $result['ip']; + $server_by_ip[$result['ip']] = $server_by_id[$result['server_id']]; + } } } $results = $app->db->queryAllRecords("SELECT ip_address AS ip FROM openvz_ip"); @@ -292,7 +283,7 @@ foreach($ips as $ip){ $result_array['cdata'][] = array( 'title' => $ip, - 'description' => $type, + 'description' => $type.($server_by_ip[$ip] != ''? ' > '.$server_by_ip[$ip] : ''), 'onclick' => '', 'fill_text' => $ip ); @@ -303,7 +294,7 @@ } public function intval($string, $force_numeric = false) { - if(intval($string) == 2147483647) { + if(intval($string) == 2147483647 || ($string > 0 && intval($string) < 0)) { if($force_numeric == true) return floatval($string); elseif(preg_match('/^([-]?)[0]*([1-9][0-9]*)([^0-9].*)*$/', $string, $match)) return $match[1].$match[2]; else return 0; @@ -312,6 +303,18 @@ } } + /** + * Function to change bytes to kB, MB, GB or TB + * @param int $size - size in bytes + * @param int precicion - after-comma-numbers (default: 2) + * @return string - formated bytes + */ + public function formatBytes($size, $precision = 2) { + $base=log($size)/log(1024); + $suffixes=array('','k','M','G','T'); + return round(pow(1024,$base-floor($base)),$precision).$suffixes[floor($base)]; + } + /** IDN converter wrapper. * all converter classes should be placed in ISPC_CLASS_PATH.'/idn/' */ @@ -384,4 +387,4 @@ } -?> \ No newline at end of file +?> -- Gitblit v1.9.1