Files
crmPRO/autoload/class.S.php
2024-11-10 11:11:35 +01:00

250 lines
7.1 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
class S
{
public static function array_unique_multi( $array, $key )
{
$temp_array = [];
foreach ($array as &$v) {
if (!isset($temp_array[$v[$key]]))
$temp_array[$v[$key]] =& $v;
}
$array = array_values($temp_array);
return $array;
}
static public function number_display( $value )
{
return number_format( $value, 2, ',', ' ' ) . ' zł';
}
public static function prepar_request( $query )
{
if ( is_array( $query ) && !empty( $query ) )
{
foreach ( $query as $key => $value )
$query[$key] = urlencode( $key ) . '=' . urlencode( $value );
return implode( '&', $query );
}
else
return false;
}
public static function seo( $val, $delete_rhombs = false )
{
$array_rep1 = array( '*', '_', ' ', '+', '"', "'", '?', '-', ',', '!', '~', '<', '>', '@', '#', '$', '%', '^', '&', '*' . '(', ')' . '-', '=', '\\', '|', '[', ']', ':', '(', ')' );
$array_rep2 = array( '-', '-', '-', '-', '', '', '', '-', '-', '', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '', '-', '-', '-', '-', '-', '-', '-', '-' );
$val = self::noPl( $val );
$val = str_replace( $array_rep1, $array_rep2, $val );
$val = strtolower( $val );
$val = preg_replace( '/(-){2,}/', '-', $val );
if ( $delete_rhombs )
$val = str_replace( '/', '', $val );
return $val;
}
static public function no_pl_excel( $val )
{
$table = Array(
"\xc4\x85" => "a", "\xc4\x84" => "A", "\xc4\x87" => "c", "\xc4\x86" => "C",
"\xc4\x99" => "e", "\xc4\x98" => "E", "\xc5\x82" => "l", "\xc5\x81" => "L",
"\xc3\xb3" => "o", "\xc3\x93" => "O", "\xc5\x9b" => "s", "\xc5\x9a" => "S",
"\xc5\xbc" => "z", "\xc5\xbb" => "Z", "\xc5\xba" => "z", "\xc5\xb9" => "Z",
"\xc5\x84" => "n", "\xc5\x83" => "N"
);
$val = strtr( $val, $table );
return $val;
}
public static function noPL( $val )
{
$table = array(
"А" => "a", "Б" => "b", "В" => "v", "Г" => "g", "Д" => "d",
"Е" => "e", "Ё" => "yo", "Ж" => "zh", "З" => "z", "И" => "i",
"Й" => "j", "К" => "k", "Л" => "l", "М" => "m", "Н" => "n",
"О" => "o", "П" => "p", "Р" => "r", "С" => "s", "Т" => "t",
"У" => "u", "Ф" => "f", "Х" => "kh", "Ц" => "ts", "Ч" => "ch",
"Ш" => "sh", "Щ" => "sch", "Ъ" => "", "Ы" => "y", "Ь" => "",
"Э" => "e", "Ю" => "yu", "Я" => "ya", "а" => "a", "б" => "b",
"в" => "v", "г" => "g", "д" => "d", "е" => "e", "ё" => "yo",
"ж" => "zh", "з" => "z", "и" => "i", "й" => "j", "к" => "k",
"л" => "l", "м" => "m", "н" => "n", "о" => "o", "п" => "p",
"р" => "r", "с" => "s", "т" => "t", "у" => "u", "ф" => "f",
"х" => "kh", "ц" => "ts", "ч" => "ch", "ш" => "sh", "щ" => "sch",
"ъ" => "", "ы" => "y", "ь" => "", "э" => "e", "ю" => "yu",
"я" => "ya", " " => "-", "." => "", "," => "",
":" => "", ";" => "", "" => "", "" => "-"
);
$val = strtr( $val, $table );
$val = iconv( 'UTF-8', 'ASCII//TRANSLIT', $val );
$table = Array(
"\xc4\x85" => "a", "\xc4\x84" => "A", "\xc4\x87" => "c", "\xc4\x86" => "C",
"\xc4\x99" => "e", "\xc4\x98" => "E", "\xc5\x82" => "l", "\xc5\x81" => "L",
"\xc3\xb3" => "o", "\xc3\x93" => "O", "\xc5\x9b" => "s", "\xc5\x9a" => "S",
"\xc5\xbc" => "z", "\xc5\xbb" => "Z", "\xc5\xba" => "z", "\xc5\xb9" => "Z",
"\xc5\x84" => "n", "\xc5\x83" => "N"
);
$val = strtr( $val, $table );
return $val;
}
public static function alert( $text )
{
\S::set_session( 'alert', $text );
}
public static function hash( $qtd )
{
$Caracteres = 'ABCDEFGHIJKLMOPQRSTUVXWYZ0123456789';
$QuantidadeCaracteres = strlen($Caracteres);
$QuantidadeCaracteres--;
$Hash =NULL;
for ( $x = 1; $x <= $qtd; $x++ )
{
$Posicao = rand( 0, $QuantidadeCaracteres );
$Hash .= substr( $Caracteres, $Posicao, 1 );
}
return $Hash;
}
public static function sort_array_of_array( &$array, $subfield, $type = SORT_ASC )
{
$sortarray = array();
foreach ( $array as $key => $row )
$sortarray[$key] = $row[$subfield];
array_multisort( $sortarray, $type, $array );
}
public static function json_to_array( $json )
{
$values_tmp = json_decode( $json, true );
if ( is_array( $values_tmp ) ) foreach ( $values_tmp as $val )
{
if ( isset( $values[ $val['name'] ] ) )
{
if ( is_array( $values[ $val['name'] ] ) )
$values[ $val['name'] ][] = $val['value'];
else
$values[ $val['name'] ] = array( $values[ $val['name'] ], $val['value'] );
}
else
$values[ $val['name'] ] = $val['value'];
}
return $values;
}
public static function get_session( $var )
{
return $_SESSION[ $var ];
}
public static function del_session( $var ) {
unset( $_SESSION[ $var ] );
}
public static function set_session( $var, $val )
{
$_SESSION[ $var ] = $val;
}
public static function get( $var )
{
if ( isset( $_POST[ $var ] ) )
{
if ( is_string( $_POST[ $var ] ) )
return $_POST[ $var ];
else
return $_POST[ $var ];
}
else
{
if ( isset( $_GET[ $var ] ) )
{
if ( is_string( $_GET[ $var ] ) )
return $_GET[ $var ];
else
return $_GET[ $var ];
}
}
}
public static function pre( $data , $type = '' )
{
$data = str_replace( 'Array
(' , '' , $data );
$data = str_replace( ')' , '' , $data );
echo '<pre';
if ( $type == 'error' )
echo ' style="color: #cc0000;" ';
else if ( $type == 'info' )
echo ' style="color: #2c539e;" ';
else
echo ' style="color: #8fc400;" ';
echo '>' . print_r( $data , true ) . '</pre>';
}
public static function email_check( $email )
{
return filter_var( $email, FILTER_VALIDATE_EMAIL );
}
public static function send_email( $email, $subject, $text, $file = '' )
{
global $settings;
$mail = new PHPMailer;
$mail -> IsSMTP();
$mail -> SMTPAuth = true;
$mail -> Host = 'host117523.hostido.net.pl';
$mail -> Port = 25;
$mail -> Username = 'www@projectpro.pl';
$mail -> Password = 'pMCZHCHBywtDGaVz';
$mail -> CharSet = "UTF-8";
$mail -> SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$mail -> From = 'www@projectpro.pl';
$mail -> FromName = 'crmPRO';
$mail -> addAddress( $email, $email );
$mail -> addReplyTo( 'biuro@project-pro.pl', 'crmPRO' );
$mail -> isHTML( true );
$mail -> Subject = $subject;
$mail -> Body = $text;
if ( is_array( $file ) )
{
foreach ( $file as $file_tmp )
{
if ( file_exists( $file_tmp ) )
$mail -> AddAttachment( $file_tmp );
}
}
else
{
if ( file_exists( $file ) )
$mail -> AddAttachment( $file );
}
return $mail -> send();
}
}