2020-08-14 13:36:36 +02:00
< ? php
class SurveyGorenje {
// Izpisemo ustrezen brand logo v anketi
public static function logoGorenje ( $ank_id , $usr_id ){
global $site_url ;
global $site_path ;
global $lang ;
$class = '' ;
$url = $site_url ;
// Logo prikazemo angleski v vseh primerih kjer respondentov jezik ni slovenscina in ce ni custom - popravimo tudi link na anglesko stran (http in english namesto www)
if ( $lang [ 'language' ] != 'Slovenščina' ) {
$class = ' class="english"' ;
}
// Preverimo ce slucajno nalozimo logo drugega proizvajalca
$other_logo = '' ;
$brand = self :: getGorenjeVariable ( $ank_id , $brand_var = 'brand' , $usr_id );
if ( $brand != '' ){
// Preverimo ce logo sploh obstaja
if ( file_exists ( $site_path . 'main/survey/skins/___po_narocilu/Gorenje/logo/' . $brand . '.jpg' ))
$other_logo = ' style="background-image: url(\'' . $site_url . '/main/survey/skins/___po_narocilu/Gorenje/logo/' . $brand . '.jpg\');"' ;
}
echo '<div id="logo" ' . $class . ' ' . $other_logo . '>' ;
echo ' <a href="' . $url . '" title="GorenjeGroup" target="_blank">GorenjeGroup</a>' ;
echo ' <div id="logo_right"></div>' ;
echo '</div>' ;
}
/**
* @ desc Za gorenje vrne vrednosti za sistemsko spremenljivko (
*
* rekid - ID reklamacije
* brand - znamka izdelka
* ser - serviser
* serenota - servisna enota
* sercenter - servisni center
* drzava - drzava
*
* http :// localhost / gorenje / a / 962 ? rekid = 123 & brand = fdv & ser = jozko & serenota = enotaX & sercenter = centerYY & drzava = Mad % C5 % BEarska
*
*/
public static function getGorenjeVariable ( $ank_id , $variable , $usr_id ){
global $global_user_id ;
// Poiscemo ustrezno sistemsko spremenljivko v bazi
$sql = sisplet_query ( " SELECT s.id FROM srv_spremenljivka s, srv_grupa g
WHERE s . gru_id = g . id AND g . ank_id = '".$ank_id."' AND s . variable = '".$variable."' " );
$row = mysqli_fetch_array ( $sql );
$sql2 = sisplet_query ( " SELECT text FROM srv_data_text_active WHERE spr_id=' " . $row [ 'id' ] . " ' AND usr_id=' " . $usr_id . " ' " );
$row2 = mysqli_fetch_array ( $sql2 );
if ( isset ( $row2 [ 'text' ]))
return $row2 [ 'text' ];
else
return '' ;
}
// Posljemo id reklamacije za katero je bila izpolnjena anketa proko gorenje api-ja
/*
WSDL : http :// partners . gorenje . com / SAGWCFServices / SAGService . svc ? wsdl
Operacija ZapisiAnketiranje je označena kot OneWay in prejme zgolj en parameter id_reklamacije .
Primer klica ( SOAPUI ) :
POST http :// partners . gorenje . com / SAGWCFServices / SAGService . svc HTTP / 1.1
Accept - Encoding : gzip , deflate
Content - Type : text / xml ; charset = UTF - 8
SOAPAction : " http://tempuri.org/ISAGService/ZapisiAnketiranje "
Content - Length : 312
Host : partners . gorenje . com
Connection : Keep - Alive
User - Agent : Apache - HttpClient / 4.1 . 1 ( java 1.5 )
Body :
< soapenv : Envelope xmlns : soapenv = " http://schemas.xmlsoap.org/soap/envelope/ " xmlns : tem = " http://tempuri.org/ " >
< soapenv : Header />
< soapenv : Body >
< tem : ZapisiAnketiranje >
< tem : id_reklamacije > 4056668 </ tem : id_reklamacije >
</ tem : ZapisiAnketiranje >
</ soapenv : Body >
</ soapenv : Envelope >
*/
public static function sendGorenjeRekID ( $rek_id ){
2023-01-23 20:39:16 +01:00
2020-08-14 13:36:36 +02:00
$gorenje_wsdl = 'http://partners.gorenje.com/SAGWCFServices/SAGService.svc?wsdl' ;
$options = array (
'location' => $gorenje_url ,
'trace' => 1 ,
'exceptions' => 1 ,
'cache_wsdl' => WSDL_CACHE_NONE ,
'connection_timeout' => 1000 ,
'keep_alive' => false ,
'encoding' => 'UTF-8'
);
// Ustvarimo SOAP client
try {
$soapClient = new SoapClient ( $gorenje_wsdl , $options );
// Posljemo ID reklamacije
$object = new ZapisiAnketiranje ( $rek_id );
$parameters = array (
" ZapisiAnketiranje " => $object
);
$result = $soapClient -> __soapCall ( " ZapisiAnketiranje " , $parameters );
//var_dump($result);
//var_dump($soapClient->__getFunctions());
//var_dump($soapClient->__getTypes());
//var_dump($soapClient);
//echo '<pre>' . print_r(get_defined_vars(), true) . '</pre>';
}
catch ( Exception $e ){
var_dump ( $e );
}
}
// Ce ima uporabnik nastavljeno default geslo, ga preusmerimo na urejanje profila
public static function redirectGorenjePassword (){
global $site_url ;
// Preverimo ce je default pass
$default_pass = SurveyGorenje :: checkGorenjePassword ();
// Izvedemo redirect
if ( $default_pass && ( $_GET [ 'a' ] != 'nastavitve' || $_GET [ 'm' ] != 'global_user_myProfile' )){
header ( 'location: ' . $site_url . 'admin/survey/index.php?a=nastavitve&m=global_user_myProfile' );
}
}
// Preverimo ce ima uporabnik nastavljeno default geslo
public static function checkGorenjePassword (){
global $global_user_id ;
global $pass_salt ;
$default_pass = '1234' ;
$sql = sisplet_query ( " SELECT pass FROM users WHERE id=' " . $global_user_id . " ' " );
$row = mysqli_fetch_array ( $sql );
if ( base64_encode (( hash ( SHA256 , $default_pass . $pass_salt ))) == $row [ 'pass' ])
return true ;
else
return false ;
}
}
// Razred za objekt, ki ga posljemo preko gorenje api-ja za id reklamacije
class ZapisiAnketiranje {
public function __construct ( $id_reklamacije ){
$this -> id_reklamacije = $id_reklamacije ;
}
}