Pojačana varnost hashanja (a pozor, pri geslih ostaja MD5/SHA1/... kombo zarazi družljivosti). Nadgradnja md5 bo poseben...tretma.
171 lines
5.1 KiB
PHP
171 lines
5.1 KiB
PHP
<?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){
|
|
|
|
$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;
|
|
}
|
|
|
|
} |