src/PanelBundle/Twig/PanelExtension.php line 5007

Open in your IDE?
  1. <?php
  2. // src/AppBundle/Twig/AppExtension.php
  3. namespace PanelBundle\Twig;
  4. use PanelBundle\Entity\Istatistik;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use PanelBundle\Entity\Ceviri;
  7. use Symfony\Component\HttpFoundation\Session\Session;
  8. use Doctrine\ORM\EntityManager;
  9. class PanelExtension extends \Twig_Extension
  10. {
  11.     public function getFilters()
  12.     {
  13.         return array(
  14.             new \Twig_SimpleFilter('timthumb', array($this'timthumb')),
  15.             new \Twig_SimpleFilter('seo', array($this'seo')),
  16.             new \Twig_SimpleFilter('tarih_yaz', array($this'tarih_yaz')),
  17.             new \Twig_SimpleFilter('base64_encode', array($this'base64_encode')),
  18.             new \Twig_SimpleFilter('base64_decode', array($this'base64_decode')),
  19.             new \Twig_SimpleFilter('yandexToken', array($this'yandexToken')),
  20.             new \Twig_SimpleFilter('cevir', array($this'cevir')),
  21.             new \Twig_SimpleFilter('ceviri', array($this'ceviri')),
  22.             new \Twig_SimpleFilter('ayarlar', array($this'ayarlar')),
  23.             new \Twig_SimpleFilter('dilSay', array($this'dilSay')),
  24.             new \Twig_SimpleFilter('panelSayfaGetir', array($this'panelSayfaGetir')),
  25.             new \Twig_SimpleFilter('panelKategoriGetir', array($this'panelKategoriGetir')),
  26.             new \Twig_SimpleFilter('mesajSay', array($this'mesajSay')),
  27.             new \Twig_SimpleFilter('siparisSay', array($this'siparisSay')),
  28.             new \Twig_SimpleFilter('mesajBul', array($this'mesajBul')),
  29.             new \Twig_SimpleFilter('bildirimSay', array($this'bildirimSay')),
  30.             new \Twig_SimpleFilter('bildirimBul', array($this'bildirimBul')),
  31.             new \Twig_SimpleFilter('altKategoriBul', array($this'altKategoriBul')),
  32.             new \Twig_SimpleFilter('urun_altKategoriBulSol', array($this'urun_altKategoriBulSol')),
  33.             new \Twig_SimpleFilter('urun_altKategoriBul', array($this'urun_altKategoriBul')),
  34.             new \Twig_SimpleFilter('urun_altKategoriBul2', array($this'urun_altKategoriBul2')),
  35.             new \Twig_SimpleFilter('altKategoriGeriYaz', array($this'altKategoriGeriYaz')),
  36.             new \Twig_SimpleFilter('urun_altKategoriGeriYaz', array($this'urun_altKategoriGeriYaz')),
  37.             new \Twig_SimpleFilter('urun_altKategoriGeriIdYaz', array($this'urun_altKategoriGeriIdYaz')),
  38.             new \Twig_SimpleFilter('altKategoriListe', array($this'altKategoriListe')),
  39.             new \Twig_SimpleFilter('urun_altKategoriListe', array($this'urun_altKategoriListe')),
  40.             new \Twig_SimpleFilter('urun_altOzellikListe', array($this'urun_altOzellikListe')),
  41.             new \Twig_SimpleFilter('urun_altVaryantBul', array($this'urun_altVaryantBul')),
  42.             new \Twig_SimpleFilter('urun_altVaryantListe', array($this'urun_altVaryantListe')),
  43.             new \Twig_SimpleFilter('kategoriDetay', array($this'kategoriDetay')),
  44.             new \Twig_SimpleFilter('urun_kategoriDetay', array($this'urun_kategoriDetay')),
  45.             new \Twig_SimpleFilter('urun_getir', array($this'urun_getir')),
  46.             new \Twig_SimpleFilter('urun_varyant', array($this'urun_varyant')),
  47.             new \Twig_SimpleFilter('urun_markaDetay', array($this'urun_markaDetay')),
  48.             new \Twig_SimpleFilter('urun_ozellikDetay', array($this'urun_ozellikDetay')),
  49.             new \Twig_SimpleFilter('urun_ozellikGrubuBul', array($this'urun_ozellikGrubuBul')),
  50.             new \Twig_SimpleFilter('kategoriler_altKategoriBul', array($this'kategoriler_altKategoriBul')),
  51.             new \Twig_SimpleFilter('urun_firsatDetay', array($this'urun_firsatDetay')),
  52.             new \Twig_SimpleFilter('urun_firsatlar', array($this'urun_firsatlar')),
  53.             new \Twig_SimpleFilter('urun_ozellikler', array($this'urun_ozellikler')),
  54.             new \Twig_SimpleFilter('parabirimiDetay', array($this'parabirimiDetay')),
  55.             new \Twig_SimpleFilter('stokTurDetay', array($this'stokTurDetay')),
  56.             new \Twig_SimpleFilter('varyantDetay', array($this'varyantDetay')),
  57.             new \Twig_SimpleFilter('istatistik', array($this'istatistik')),
  58.             new \Twig_SimpleFilter('yetkiler', array($this'yetkiler')),
  59.             new \Twig_SimpleFilter('GetIP', array($this'GetIP')),
  60.             new \Twig_SimpleFilter('get_browser_name', array($this'get_browser_name')),
  61.             new \Twig_SimpleFilter('html_entity_decode', array($this'html_entity_decode')),
  62.             new \Twig_SimpleFilter('ozellikBul', array($this'ozellikBul')),
  63.             new \Twig_SimpleFilter('dilBelirle', array($this'dilBelirle')),
  64.             new \Twig_SimpleFilter('varsayilanDil', array($this'varsayilanDil')),
  65.             new \Twig_SimpleFilter('favoriListem', array($this'favoriListem')),
  66.             new \Twig_SimpleFilter('urunDetay', array($this'urunDetay')),
  67.             new \Twig_SimpleFilter('urunDetayKod', array($this'urunDetayKod')),
  68.             new \Twig_SimpleFilter('puanBul', array($this'puanBul')),
  69.             new \Twig_SimpleFilter('taksitGetir', array($this'taksitGetir')),
  70.             new \Twig_SimpleFilter('bankaDetay', array($this'bankaDetay')),
  71.             new \Twig_SimpleFilter('havaleBankalar', array($this'havaleBankalar')),
  72.             new \Twig_SimpleFilter('kapidaOdemeBil', array($this'kapidaOdemeBil')),
  73.             new \Twig_SimpleFilter('alinanurunler', array($this'alinanurunler')),
  74.             new \Twig_SimpleFilter('altvaryantlar', array($this'altvaryantlar')),
  75.             new \Twig_SimpleFilter('ozellikBulSite', array($this'ozellikBulSite')),
  76.             new \Twig_SimpleFilter('alturunlerGetir', array($this'alturunlerGetir')),
  77.             new \Twig_SimpleFilter('site_istatistik', array($this'site_istatistik')),
  78.             new \Twig_SimpleFilter('site_anaLink', array($this'site_anaLink')),
  79.             new \Twig_SimpleFilter('site_menuGetir', array($this'site_menuGetir')),
  80.             new \Twig_SimpleFilter('site_kategoriMenuGetir', array($this'site_kategoriMenuGetir')),
  81.             new \Twig_SimpleFilter('site_footerMetin', array($this'site_footerMetin')),
  82.             new \Twig_SimpleFilter('site_footerSayfa', array($this'site_footerSayfa')),
  83.             new \Twig_SimpleFilter('site_iletisimBilgileri', array($this'site_iletisimBilgileri')),
  84.             new \Twig_SimpleFilter('site_sosyalAglar', array($this'site_sosyalAglar')),
  85.             new \Twig_SimpleFilter('site_sliders', array($this'site_sliders')),
  86.             new \Twig_SimpleFilter('site_sayfaIcerik', array($this'site_sayfaIcerik')),
  87.             new \Twig_SimpleFilter('site_urunler', array($this'site_urunler')),
  88.             new \Twig_SimpleFilter('site_urunler2', array($this'site_urunler2')),
  89.             new \Twig_SimpleFilter('site_sayfaIcerikDirek', array($this'site_sayfaIcerikDirek')),
  90.             new \Twig_SimpleFilter('site_sayfaIcerikKategori', array($this'site_sayfaIcerikKategori')),
  91.             new \Twig_SimpleFilter('site_dilGetir', array($this'site_dilGetir')),
  92.             new \Twig_SimpleFilter('site_popupGetir', array($this'site_popupGetir')),
  93.             new \Twig_SimpleFilter('site_bannerGetir', array($this'site_bannerGetir')),
  94.             new \Twig_SimpleFilter('site_formGetir', array($this'site_formGetir')),
  95.             new \Twig_SimpleFilter('site_kategoriGeriLi', array($this'site_kategoriGeriLi')),
  96.             new \Twig_SimpleFilter('site_sayfaKategori', array($this'site_sayfaKategori')),
  97.             new \Twig_SimpleFilter('site_urunKategori', array($this'site_urunKategori')),
  98.             new \Twig_SimpleFilter('site_formVeriGetir', array($this'site_formVeriGetir')),
  99.             new \Twig_SimpleFilter('urun_kategoriGeriLi', array($this'urun_kategoriGeriLi')),
  100.             new \Twig_SimpleFilter('urunVaryantGetir', array($this'urunVaryantGetir')),
  101.             new \Twig_SimpleFilter('sepetSay', array($this'sepetSay')),
  102.             new \Twig_SimpleFilter('favoriSay', array($this'favoriSay')),
  103.             new \Twig_SimpleFilter('yorumSay', array($this'yorumSay')),
  104.             new \Twig_SimpleFilter('yorumSay2', array($this'yorumSay2')),
  105.             new \Twig_SimpleFilter('yorumGetir', array($this'yorumGetir')),
  106.             new \Twig_SimpleFilter('sepetBul', array($this'sepetBul')),
  107.             new \Twig_SimpleFilter('sepetIndirimi', array($this'sepetIndirimi')),
  108.             new \Twig_SimpleFilter('eBultenBul', array($this'eBultenBul')),
  109.             new \Twig_SimpleFilter('favoriBak', array($this'favoriBak')),
  110.             new \Twig_SimpleFilter('yorumlarim', array($this'yorumlarim')),
  111.             new \Twig_SimpleFilter('adreslerim', array($this'adreslerim')),
  112.             new \Twig_SimpleFilter('ulkeDetay', array($this'ulkeDetay')),
  113.             new \Twig_SimpleFilter('sehirDetay', array($this'sehirDetay')),
  114.             new \Twig_SimpleFilter('ilceDetay', array($this'ilceDetay')),
  115.             new \Twig_SimpleFilter('uyeDetay', array($this'uyeDetay')),
  116.             new \Twig_SimpleFilter('faturaBilgileriGetir', array($this'faturaBilgileriGetir')),
  117.             new \Twig_SimpleFilter('sepetSil', array($this'sepetSil')),
  118.             new \Twig_SimpleFilter('siparisIcerik', array($this'siparisIcerik')),
  119.             new \Twig_SimpleFilter('genelSepetToplami', array($this'genelSepetToplami')),
  120.             new \Twig_SimpleFilter('siparisDurumlari', array($this'siparisDurumlari')),
  121.             new \Twig_SimpleFilter('odemeDurumlari', array($this'odemeDurumlari')),
  122.             new \Twig_SimpleFilter('adresBul', array($this'adresBul')),
  123.             new \Twig_SimpleFilter('faturaBilBul', array($this'faturaBilBul')),
  124.             new \Twig_SimpleFilter('pazaryeriDurum', array($this'pazaryeriDurum')),
  125.             new \Twig_SimpleFilter('n11UrunGetir', array($this'n11UrunGetir')),
  126.             new \Twig_SimpleFilter('pazaryeriGetir', array($this'pazaryeriGetir')),
  127.             new \Twig_SimpleFilter('sayiyiYaziyaCevir', array($this'sayiyiYaziyaCevir')),
  128.             new \Twig_SimpleFilter('kargolar', array($this'kargolar')),
  129.             new \Twig_SimpleFilter('kargoTakip', array($this'kargoTakip')),
  130.             new \Twig_SimpleFilter('kargoTakipLink', array($this'kargoTakipLink')),
  131.             new \Twig_SimpleFilter('curlAl', array($this'curlAl')),
  132.             new \Twig_SimpleFilter('yurtici', array($this'yurtici')),
  133.             new \Twig_SimpleFilter('surat', array($this'surat')),
  134.             new \Twig_SimpleFilter('aras', array($this'aras')),
  135.             new \Twig_SimpleFilter('mng', array($this'mng')),
  136.             new \Twig_SimpleFilter('ups', array($this'ups')),
  137.             new \Twig_SimpleFilter('n11PaymentType', array($this'n11PaymentType')),
  138.             new \Twig_SimpleFilter('n11OrderStatus', array($this'n11OrderStatus')),
  139.             new \Twig_SimpleFilter('n11OrderItemStatus', array($this'n11OrderItemStatus')),
  140.             new \Twig_SimpleFilter('pazaryeriGetir2', array($this'pazaryeriGetir2')),
  141.             new \Twig_SimpleFilter('n11KargoOdemeDurumlari', array($this'n11KargoOdemeDurumlari')),
  142.             new \Twig_SimpleFilter('n11Kargolar', array($this'n11Kargolar')),
  143.             new \Twig_SimpleFilter('ucretsizKargo', array($this'ucretsizKargo')),
  144.             new \Twig_SimpleFilter('kurHesapla', array($this'kurHesapla')),
  145.             new \Twig_SimpleFilter('donemselkampanya', array($this'donemselkampanya')),
  146.             new \Twig_SimpleFilter('HB_TokenAl', array($this'HB_TokenAl')),
  147.             new \Twig_SimpleFilter('HbDurumlari', array($this'HbDurumlari')),
  148.             new \Twig_SimpleFilter('GgDurumlari', array($this'GgDurumlari')),
  149.             new \Twig_SimpleFilter('GgDurumlariNedir', array($this'GgDurumlariNedir')),
  150.             new \Twig_SimpleFilter('n11OzellikGetir', array($this'n11OzellikGetir')),
  151.             new \Twig_SimpleFilter('n11OzellikDegerGetir', array($this'n11OzellikDegerGetir')),
  152.             new \Twig_SimpleFilter('json_decode', array($this'json_decode')),
  153.             new \Twig_SimpleFilter('hbOzellikGetir', array($this'hbOzellikGetir')),
  154.             new \Twig_SimpleFilter('hbOzellikDegerGetir', array($this'hbOzellikDegerGetir')),
  155.             new \Twig_SimpleFilter('tyOzellikGetir', array($this'tyOzellikGetir')),
  156.             new \Twig_SimpleFilter('tyOzellikDegerGetir', array($this'tyOzellikDegerGetir')),
  157.             new \Twig_SimpleFilter('tyDurumlar', array($this'tyDurumlar')),
  158.             new \Twig_SimpleFilter('ilGetir', array($this'ilGetir')),
  159.             new \Twig_SimpleFilter('ggOzellikGetir', array($this'ggOzellikGetir')),
  160.             new \Twig_SimpleFilter('ggOzellikDegerGetir', array($this'ggOzellikDegerGetir')),
  161.             new \Twig_SimpleFilter('ggKargolar', array($this'ggKargolar')),
  162.             new \Twig_SimpleFilter('satisSay', array($this'satisSay')),
  163.             new \Twig_SimpleFilter('siparis2Say', array($this'siparis2Say')),
  164.             new \Twig_SimpleFilter('siparis3Say', array($this'siparis3Say')),
  165.             new \Twig_SimpleFilter('siparisSayPanel', array($this'siparisSayPanel')),
  166.             new \Twig_SimpleFilter('urunGoruntulenme', array($this'urunGoruntulenme')),
  167.             new \Twig_SimpleFilter('siparisOranPanel', array($this'siparisOranPanel')),
  168.             new \Twig_SimpleFilter('siparisGelirPanel', array($this'siparisGelirPanel')),
  169.             new \Twig_SimpleFilter('siparisGelirPanel2', array($this'siparisGelirPanel2')),
  170.             new \Twig_SimpleFilter('siparisGelirPanel3', array($this'siparisGelirPanel3')),
  171.             new \Twig_SimpleFilter('siparisSayUrunPanel', array($this'siparisSayUrunPanel')),
  172.             new \Twig_SimpleFilter('siparisOranGelirPanel', array($this'siparisOranGelirPanel')),
  173.             new \Twig_SimpleFilter('siparisSayUrunOranPanel', array($this'siparisSayUrunOranPanel')),
  174.             new \Twig_SimpleFilter('siparisSayMusteriPanel', array($this'siparisSayMusteriPanel')),
  175.             new \Twig_SimpleFilter('siparisOranMusteriPanel', array($this'siparisOranMusteriPanel')),
  176.             new \Twig_SimpleFilter('aylisSatislar', array($this'aylisSatislar')),
  177.             new \Twig_SimpleFilter('istatistikBulGosterim', array($this'istatistikBulGosterim')),
  178.             new \Twig_SimpleFilter('istatistikBulKullanici', array($this'istatistikBulKullanici')),
  179.             new \Twig_SimpleFilter('sonSiparisler', array($this'sonSiparisler')),
  180.             new \Twig_SimpleFilter('tarayiciIstatistik', array($this'tarayiciIstatistik')),
  181.             new \Twig_SimpleFilter('trafikSorgula', array($this'trafikSorgula')),
  182.             new \Twig_SimpleFilter('urunSiparis', array($this'urunSiparis')),
  183.             new \Twig_SimpleFilter('headerAccountButton', array($this'headerAccountButton')),
  184.             new \Twig_SimpleFilter('headerBag', array($this'headerBag')),
  185.             new \Twig_SimpleFilter('satisParabirimi', array($this'satisParabirimi')),
  186.             new \Twig_SimpleFilter('TCMB_Converter', array($this'TCMB_Converter')),
  187.             new \Twig_SimpleFilter('urunBox', array($this'urunBox')),
  188.             new \Twig_SimpleFilter('markaGetir', array($this'markaGetir')),
  189.             new \Twig_SimpleFilter('ozelKategoriGetir', array($this'ozelKategoriGetir')),
  190.             new \Twig_SimpleFilter('otoKur', array($this'otoKur')),
  191.         );
  192.     }
  193.     private $session;
  194.     private $em;
  195.     public function __construct(Session $sessionEntityManager $em) {
  196.         $this->session $session;
  197.         $this->em $em;
  198.     }
  199.     public function html_entity_decode($degisken){
  200.         $degisken html_entity_decode($degiskenENT_QUOTES,"UTF-8");
  201.         return $degisken;
  202.     }
  203.     public function timthumb($resim$yol$w$h$zc$q)
  204.     {
  205.         return $this->ayarlar('siteYolu') . 'timthumb.php?src=' $yol $resim '&w=' $w '&h=' $h '&zc=' $zc '&q=' $q;
  206.     }
  207.     function seo($url,$dil=1)
  208.     {
  209.         if($dil==1) {
  210.             $tr = array('ş','Ş','ı','I','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç','(',')','/',':',',');
  211.             $eng = array('s','s','i','i','i','g','g','u','u','o','o','c','c','','','-','-','');
  212.             $s str_replace($tr,$eng,$url);
  213.             $find = array('/[^A-Za-z0-9\-<>]/''/[\-]+/''/<[^>]*>/');
  214.             $repl = array('-''-''-');
  215.             $s preg_replace($find$repl$s);
  216.             $s strtolower($s);
  217.             $s preg_replace('/&amp;amp;amp;amp;amp;amp;amp;amp;amp;.+?;/'''$s);
  218.             $s preg_replace('/\s+/''-'$s);
  219.             $s preg_replace('|-+|''-'$s);
  220.             $s preg_replace('/#/'''$s);
  221.             $s str_replace('.'''$s);
  222.             $s trim($s'-');
  223.             $s strtolower($s);
  224.             return $s;
  225.         } else {
  226.             $tr = array('ş''Ş''ı''I''İ''ğ''Ğ''ü''Ü''ö''Ö''Ç''ç''('')''/'':'',',' ');
  227.             $eng = array('s''s''i''i''i''g''g''u''u''o''o''c''c''''''-''-''','-');
  228.             $s str_replace($tr$eng$url);
  229.             $s strtolower($s);
  230.             return $s;
  231.         }
  232.     }
  233.     public function tarih_yaz($tarih) {
  234.         $aylar = array('January','February','March','April','May','June','July','August','September','October','November','December','Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
  235.         $aylar2 = array('Ocak','Şubat','Mart','Nisan','Mayıs','Haziran','Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık','Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi');
  236.         $return str_replace($aylar$aylar2$tarih);
  237.         return $return;
  238.     }
  239.     public function base64_encode($veri) {
  240.         return base64_encode($veri);
  241.     }
  242.     public function base64_decode($veri){
  243.         return base64_decode($veri);
  244.     }
  245.     function yandexToken(){
  246.         $curl curl_init();
  247.         curl_setopt_array($curl, array(
  248.             CURLOPT_URL => 'https://iam.api.cloud.yandex.net/iam/v1/tokens',
  249.             CURLOPT_RETURNTRANSFER => true,
  250.             CURLOPT_ENCODING => '',
  251.             CURLOPT_MAXREDIRS => 10,
  252.             CURLOPT_TIMEOUT => 0,
  253.             CURLOPT_FOLLOWLOCATION => true,
  254.             CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  255.             CURLOPT_CUSTOMREQUEST => 'POST',
  256.             CURLOPT_POSTFIELDS =>'{
  257.     "yandexPassportOauthToken":"AQAAAAAJqZalAATuwTGUpSE1V0_QsZJbeW8OBjA"
  258. }',
  259.             CURLOPT_HTTPHEADER => array(
  260.                 'Content-Type: application/json'
  261.             ),
  262.         ));
  263.         $response curl_exec($curl);
  264.         $response json_decode($responsetrue);
  265.         return $response['iamToken'];
  266.     }
  267.     function cevir($deger,$dil){
  268.         $token $this->yandexToken();
  269.         $curl curl_init();
  270.         curl_setopt_array($curl, array(
  271.             CURLOPT_URL => 'https://translate.api.cloud.yandex.net/translate/v2/translate',
  272.             CURLOPT_RETURNTRANSFER => true,
  273.             CURLOPT_ENCODING => '',
  274.             CURLOPT_MAXREDIRS => 10,
  275.             CURLOPT_TIMEOUT => 0,
  276.             CURLOPT_FOLLOWLOCATION => true,
  277.             CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  278.             CURLOPT_CUSTOMREQUEST => 'POST',
  279.             CURLOPT_POSTFIELDS =>'{
  280.     "folderId": "b1gg3024q4ut0cg25leu",
  281.     "texts": "'.$deger.'",
  282.     "targetLanguageCode": "'.$dil.'"
  283. }',
  284.             CURLOPT_HTTPHEADER => array(
  285.                 'Authorization: Bearer '.$token,
  286.                 'Content-Type: application/json'
  287.             ),
  288.         ));
  289.         $response curl_exec($curl);
  290.         $response json_decode($responsetrue);
  291.         return $response['translations'][0]['text'];
  292.     }
  293.     public function ceviri($deger)
  294.     {
  295.         $em $this->em;
  296.         $suanDil $this->session->get('dil');
  297.         $qb $em->createQueryBuilder();
  298.         $ceviriTara=$qb->select('c.deger,c.id')
  299.             ->from('PanelBundle:Ceviri''c')
  300.             ->join('c.dil','d')
  301.             ->where("c.deger='$deger'")
  302.             ->getQuery()
  303.             ->getScalarResult();
  304.         if (count($ceviriTara) > 0) {
  305.             if ($suanDil['id'] != 1) {
  306.                 $qb $em->createQueryBuilder();
  307.                 $ceviriTara2=$qb->select('c.deger')
  308.                     ->from('PanelBundle:Ceviri''c')
  309.                     ->join('c.dil','d')
  310.                     ->where("d.id=".$suanDil['id']." and c.trid=".$ceviriTara[0]['id'])
  311.                     ->getQuery()
  312.                     ->getScalarResult();
  313.                 if (count($ceviriTara2) > 0) {
  314.                     $veri $ceviriTara2[0]['deger'];
  315.                 } else {
  316.                     if ($this->session->get('dil')['id'] != '1') {
  317.                         $deger $this->cevir($deger,$suanDil['kisa']);
  318.                         $dill $em->getReference('PanelBundle:Dil',$suanDil['id']);
  319.                         $ceviri = new Ceviri();
  320.                         $ceviri->setDil($dill);
  321.                         $ceviri->setDeger($deger);
  322.                         $ceviri->setTrid($ceviriTara[0]['id']);
  323.                         $em->persist($ceviri);
  324.                         $em->flush();
  325.                         $veri $deger;
  326.                     }
  327.                 }
  328.             } else {
  329.                 $veri $deger;
  330.             }
  331.         }
  332.         else {
  333.             if ($suanDil['id'] == 1) {
  334.                 $dill $em->getReference('PanelBundle:Dil',$suanDil['id']);
  335.                 $ceviri = new Ceviri();
  336.                 $ceviri->setDil($dill);
  337.                 $ceviri->setDeger($deger);
  338.                 $ceviri->setTrid(0);
  339.                 $em->persist($ceviri);
  340.                 $em->flush();
  341.                 $veri $deger;
  342.             }
  343.             else {
  344.                 $dilTr $em->getReference('PanelBundle:Dil',1);
  345.                 $ceviri = new Ceviri();
  346.                 $ceviri->setDil($dilTr);
  347.                 $ceviri->setDeger($deger);
  348.                 $ceviri->setTrid(0);
  349.                 $em->persist($ceviri);
  350.                 $em->flush();
  351.                 $deger $this->cevir($deger,$suanDil['kisa']);
  352.                 $dill $em->getReference('PanelBundle:Dil',$suanDil['id']);
  353.                 $ceviriDil = new Ceviri();
  354.                 $ceviriDil->setDil($dill);
  355.                 $ceviriDil->setDeger($deger);
  356.                 $ceviriDil->setTrid($ceviri->getId());
  357.                 $em->persist($ceviriDil);
  358.                 $em->flush();
  359.                 $veri $deger;
  360.             }
  361.         }
  362.         return $veri;
  363.     }
  364.     public function ayarlar($alan,$dil='')
  365.     {
  366.         if($dil=='') {
  367.             $em $this->em;
  368.             $qb $em->createQueryBuilder();
  369.             $dd $qb->select("e.id")
  370.                 ->from('PanelBundle:Dil''e')
  371.                 ->where('e.aktif=1 and e.varsayilan=1')
  372.                 ->getQuery()
  373.                 ->setResultCacheId('varsayilan_dil')
  374.                 ->setResultCacheLifetime(60)
  375.                 ->getScalarResult();
  376.             $dil=$dd[0]['id'];
  377.         }
  378.         $em $this->em;
  379.         $qb $em->createQueryBuilder();
  380.         $ayarlar=$qb->select("e.$alan")
  381.             ->from('PanelBundle:Ayarlar''e')
  382.             ->where('e.dil='.$dil)
  383.             ->getQuery()
  384.             ->setResultCacheId($alan)
  385.             ->setResultCacheLifetime(60)
  386.             ->getScalarResult();
  387.         return $ayarlar[0][$alan];
  388.     }
  389.     public function dilSay(){
  390.         $em $this->em;
  391.         $qb $em->createQueryBuilder();
  392.         $ayarlar=$qb->select("e.id")
  393.             ->from('PanelBundle:Dil''e')
  394.             ->where('e.aktif=1')
  395.             ->getQuery()
  396.             ->setResultCacheId('dil_aktif')
  397.             ->setResultCacheLifetime(60)
  398.             ->getScalarResult();
  399.         return count($ayarlar);
  400.     }
  401.     public function satisParabirimi(){
  402.         $em $this->em;
  403.         $qb $em->createQueryBuilder();
  404.         $birim=$qb->select("b.id,b.sembol,b.kisaltma,b.isim,b.kur")
  405.             ->from('PanelBundle:ParaBirim''b')
  406.             ->where('b.id='.$this->session->get('dil')['satis'])
  407.             ->getQuery()
  408.             ->setResultCacheId('parabirim_aktif')
  409.             ->setResultCacheLifetime(60)
  410.             ->getScalarResult();
  411.         return $birim[0];
  412.     }
  413.     public function panelSayfaGetir(){
  414.         $em $this->em;
  415.         $qb $em->createQueryBuilder();
  416.         $sayfalar=$qb->select("s.adi,s.dilgrup")
  417.             ->from('PanelBundle:Sayfa''s')
  418.             ->orderBy('s.sira','ASC')
  419.             ->groupBy('s.dilgrup')
  420.             ->getQuery()
  421.             ->getScalarResult();
  422.         $veri ='';
  423.         foreach ($sayfalar as $key=>$sayfa){
  424.             $veri.='<li><a href="/yonetim/icerik/'.$sayfa['dilgrup'].'/">'.$sayfa['adi'].'</a></li>';
  425.         }
  426.         return $veri;
  427.     }
  428.     public function panelKategoriGetir(){
  429.         $em $this->em;
  430.         $qb $em->createQueryBuilder();
  431.         $sayfalar=$qb->select("s.adi,s.dilgrup")
  432.             ->from('PanelBundle:Sayfa''s')
  433.             ->where('s.kategori=1')
  434.             ->orderBy('s.sira','ASC')
  435.             ->groupBy('s.dilgrup')
  436.             ->getQuery()
  437.             ->getScalarResult();
  438.         $veri ='';
  439.         foreach ($sayfalar as $key=>$sayfa){
  440.             $veri.='<li><a href="/rv/kategori/'.$sayfa['dilgrup'].'/">'.$sayfa['adi'].'</a></li>';
  441.         }
  442.         return $veri;
  443.     }
  444.     public function mesajSay(){
  445.         $em $this->em;
  446.         $qb $em->createQueryBuilder();
  447.         $veriler=$qb->select("m.id")
  448.             ->from('PanelBundle:FormKayit''m')
  449.             ->where('m.okuma=0')
  450.             ->getQuery()
  451.             ->getScalarResult();
  452.         return count($veriler);
  453.     }
  454.     public function siparisSay(){
  455.         $em $this->em;
  456.         $qb $em->createQueryBuilder();
  457.         $veriler=$qb->select("m.id")
  458.             ->from('PanelBundle:Siparisler''m')
  459.             ->where('(m.pazaryeriId=1 and (m.durum=0 or m.durum=7 or m.durum=8)) or (m.pazaryeriId=2 and (m.durum=2 or m.durum=1))')
  460.             ->getQuery()
  461.             ->getScalarResult();
  462.         return count($veriler);
  463.     }
  464.     public function mesajBul(){
  465.         $em $this->em;
  466.         $qb $em->createQueryBuilder();
  467.         $veriler=$qb->select("m.kayit,f.alan,f.adi,m.okuma,m.tarih")
  468.             ->from('PanelBundle:FormKayit''m')
  469.             ->join('m.form','f')
  470.             ->orderBy('f.tarih','DESC')
  471.             ->orderBy('m.okuma','ASC')
  472.             ->getQuery()
  473.             ->getScalarResult();
  474.         return $veriler;
  475.     }
  476.     public function bildirimSay(){
  477.         $em $this->em;
  478.         $qb $em->createQueryBuilder();
  479.         $veriler=$qb->select("b.id")
  480.             ->from('PanelBundle:Bildirim''b')
  481.             ->where('b.okuma=0')
  482.             ->getQuery()
  483.             ->getScalarResult();
  484.         return count($veriler);
  485.     }
  486.     public function bildirimBul(){
  487.         $em $this->em;
  488.         $qb $em->createQueryBuilder();
  489.         $veriler=$qb->select("b.id,b.baslik,b.metin,b.okuma,b.tarih")
  490.             ->from('PanelBundle:Bildirim''b')
  491.             ->orderBy('b.tarih','DESC')
  492.             ->orderBy('b.okuma','ASC')
  493.             ->getQuery()
  494.             ->getScalarResult();
  495.         return $veriler;
  496.     }
  497.     function altKategoriBul($dilgrup,$selected=0,$kendisi=0,$bosluk=''){
  498.         $em $this->em;
  499.         $qb $em->createQueryBuilder();
  500.         $kategoriler=$qb->select('k.id,k.dilgrup,k.adi')
  501.             ->from('PanelBundle:Kategori''k')
  502.             ->where('k.ustid='.$dilgrup)
  503.             ->groupBy('k.dilgrup')
  504.             ->orderBy('k.sira','ASC')
  505.             ->getQuery()
  506.             ->getScalarResult();
  507.         $bosluk.='&nbsp;&nbsp;&nbsp;&nbsp;';
  508.         $veriler='';
  509.         foreach ($kategoriler as $k){
  510.             $select='';
  511.             if($selected==$k['dilgrup']){
  512.                 $select 'selected';
  513.             }
  514.             $disabled='';
  515.             if($kendisi==$k['dilgrup']){
  516.                 $disabled 'disabled';
  517.             }
  518.             $veriler.='<option '.$disabled.' '.$select.' value="'.$k['dilgrup'].'">'.$bosluk.$k['adi'].'</option>'.$this->altKategoriBul($k['dilgrup'],$selected,$kendisi,$bosluk);
  519.         }
  520.         return $veriler;
  521.     }
  522.     function altKategoriGeriYaz($ustid,$dil=1){
  523.         $em $this->em;
  524.         $qb $em->createQueryBuilder();
  525.         $kategoriler=$qb->select('k.id,k.dilgrup,k.adi,k.seourl,k.ustid')
  526.             ->from('PanelBundle:Kategori''k')
  527.             ->join('k.dil','d')
  528.             ->where('k.dilgrup='.$ustid.' and d.id='.$dil)
  529.             ->groupBy('k.dilgrup')
  530.             ->orderBy('k.sira','ASC')
  531.             ->getQuery()
  532.             ->getScalarResult();
  533.         $veriler='';
  534.         foreach ($kategoriler as $k){
  535.             $veriler.=$this->altKategoriGeriYaz($k['ustid'],$dil).$k['seourl'].'/';
  536.         }
  537.         return $veriler;
  538.     }
  539.     function altKategoriListe($dilgrup,$sSeo){
  540.         $em $this->em;
  541.         $qb $em->createQueryBuilder();
  542.         $kategoriler=$qb->select('k.id,k.dilgrup,k.adi,k.seourl,d.kisa as dKisa,k.ustid')
  543.             ->from('PanelBundle:Kategori''k')
  544.             ->join('k.dil','d')
  545.             ->where('k.ustid='.$dilgrup)
  546.             ->groupBy('k.dilgrup')
  547.             ->orderBy('k.sira','ASC')
  548.             ->getQuery()
  549.             ->getScalarResult();
  550.         $veriler='';
  551.         if(count($kategoriler)>0) {
  552.             $veriler .= '<ul class="kategori_sirala' $dilgrup '">';
  553.             foreach ($kategoriler as $k) {
  554.                 if ($this->dilSay() > 1) {
  555.                     $link '<a class="text-primary" href="' $this->ayarlar('siteYolu') . $k['dKisa'] . '/' $sSeo '/' $this->altKategoriGeriYaz($k['ustid']) . $k['seourl'] . '" target="_blank"> ' $this->ayarlar('siteYolu') . $k['dKisa'] . '/' $sSeo '/' $this->altKategoriGeriYaz($k['ustid']) . $k['seourl'] . ' </a>';
  556.                 } else {
  557.                     $link '<a class="text-primary" href="' $this->ayarlar('siteYolu') . $sSeo '/' $this->altKategoriGeriYaz($k['ustid']) . $k['seourl'] . '" target="_blank"> ' $this->ayarlar('siteYolu') . $sSeo '/' $this->altKategoriGeriYaz($k['ustid']) . $k['seourl'] . ' </a>';
  558.                 }
  559.                 $veriler .= ' <div id="listItem_' $k['dilgrup'] . '">';
  560.                 $veriler .= '<li class="kategoriLi row" >
  561.             <div class="col-md-9">' $k['adi'] . '
  562.                 <br>
  563.                 
  564.                 ' $link '
  565.             
  566.             </div>
  567.             <div class="col-md-3 text-right">
  568.                 <a class="btn btn-sm btn-info waves-effect waves-light handle' $dilgrup ' text-white"><i class="fa fa-arrows-alt"></i></a>
  569.                 <button class="btn btn-sm btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">İŞLEM</button>
  570.                 <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  571.                     <a class="dropdown-item" href="javascript:void(0);" onclick="seoAyarAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".seoAyar">Seo Ayarları</a>
  572.                     <a class="dropdown-item" href="javascript:void(0);" onclick="kategoriDuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".kategoriDuzenle">Düzenle</a>
  573.                     <a class="dropdown-item" href="javascript:void(0);" onclick="kategoriSil(' $k['dilgrup'] . ')">Sil</a>
  574.                 </div>
  575.             </div>
  576.         </li>';
  577.                 $veriler .= $this->altKategoriListe($k['dilgrup'], $sSeo);;
  578.                 $veriler .= '</div>';
  579.             }
  580.             $veriler .= '</ul>';
  581.             $veriler .= '<script>
  582.             $().ready(function() {
  583.               kategoriSirala(' $dilgrup ');
  584.             });
  585.             </script>';
  586.         }
  587.         return $veriler;
  588.     }
  589.     public function kategoriDetay($dilgrup,$alan){
  590.         if($dilgrup==''){
  591.             return '';
  592.         }
  593.         $em $this->em;
  594.         $qb $em->createQueryBuilder();
  595.         $kategori=$qb->select("e.$alan")
  596.             ->from('PanelBundle:Kategori''e')
  597.             ->where('e.dilgrup='.$dilgrup)
  598.             ->getQuery()
  599.             ->getScalarResult();
  600.         return $kategori[0][$alan];
  601.     }
  602.     function urun_altKategoriBulSol($dilgrup,$dil,$selected=0,$kendisi=0,$bosluk=''){
  603.         $em $this->em;
  604.         $qb $em->createQueryBuilder();
  605.         $kategoriler=$qb->select('k.id,k.dilgrup,k.adi,k.ustid,k.seourl')
  606.             ->from('PanelBundle:UrunKategori''k')
  607.             ->where('k.ustid='.$dilgrup)
  608.             ->groupBy('k.dilgrup')
  609.             ->orderBy('k.sira','ASC')
  610.             ->getQuery()
  611.             ->setResultCacheId('urunkategori1')
  612.             ->setResultCacheLifetime(60)
  613.             ->getScalarResult();
  614.         $bosluk.='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
  615.         $veriler='';
  616.         foreach ($kategoriler as $k){
  617.             if($k['ustid']==0) {
  618.                 $bosluk="";
  619.             }
  620.             $alt $this->urun_altKategoriGeriYaz($k['ustid'],$dil);
  621.             $link $this->site_anaLink().$alt.$k['seourl'];
  622.             $veriler.='<li style="padding:5px 0; margin-bottom: 0;"><a href="'.$link.'" style="margin-left: 0;">'.$bosluk.$k['adi'].'</a></li>'.$this->urun_altKategoriBulSol($k['dilgrup'],$dil,$selected,$kendisi,$bosluk);
  623.         }
  624.         return $veriler;
  625.     }
  626.     function urun_altKategoriBul($dilgrup,$selected=0,$kendisi=0,$bosluk=''){
  627.         $em $this->em;
  628.         $qb $em->createQueryBuilder();
  629.         $kategoriler=$qb->select('k.id,k.dilgrup,k.adi')
  630.             ->from('PanelBundle:UrunKategori''k')
  631.             ->where('k.ustid='.$dilgrup)
  632.             ->groupBy('k.dilgrup')
  633.             ->orderBy('k.sira','ASC')
  634.             ->getQuery()
  635.             ->setResultCacheId('urunkategori1')
  636.             ->setResultCacheLifetime(60)
  637.             ->getScalarResult();
  638.         $bosluk.='&nbsp;&nbsp;&nbsp;&nbsp;';
  639.         $veriler='';
  640.         foreach ($kategoriler as $k){
  641.             $select='';
  642.             if($selected==$k['dilgrup']){
  643.                 $select 'selected';
  644.             }
  645.             $disabled='';
  646.             if($kendisi==$k['dilgrup']){
  647.                 $disabled 'disabled';
  648.             }
  649.             /*if($this->urun_altKategoriBul($k['dilgrup'],$selected,$kendisi,$bosluk)!=''){
  650.                 $disabled = 'disabled';
  651.             }*/
  652.             $veriler.='<option '.$disabled.' '.$select.' value="'.$k['dilgrup'].'">'.$bosluk.$k['adi'].'</option>'.$this->urun_altKategoriBul($k['dilgrup'],$selected,$kendisi,$bosluk);
  653.         }
  654.         return $veriler;
  655.     }
  656.     function urun_altKategoriBul2($dilgrup,$selected=array(),$kendisi=0,$bosluk=''){
  657.         $em $this->em;
  658.         $qb $em->createQueryBuilder();
  659.         $kategoriler=$qb->select('k.id,k.dilgrup,k.adi')
  660.             ->from('PanelBundle:UrunKategori''k')
  661.             ->where('k.ustid='.$dilgrup)
  662.             ->groupBy('k.dilgrup')
  663.             ->orderBy('k.sira','ASC')
  664.             ->getQuery()
  665.             ->setResultCacheId('urunkategori2')
  666.             ->setResultCacheLifetime(60)
  667.             ->getScalarResult();
  668.         $bosluk.='&nbsp;&nbsp;&nbsp;&nbsp;';
  669.         $veriler='';
  670.         foreach ($kategoriler as $k){
  671.             $select='';
  672.             if(in_array($k['dilgrup'],$selected)){
  673.                 $select 'selected';
  674.             }
  675.             $disabled='';
  676.             if($kendisi==$k['dilgrup']){
  677.                 $disabled 'disabled';
  678.             }
  679.             $veriler.='<option '.$disabled.' '.$select.' value="'.$k['dilgrup'].'">'.$bosluk.$k['adi'].'</option>'.$this->urun_altKategoriBul2($k['dilgrup'],$selected,$kendisi,$bosluk);
  680.         }
  681.         return $veriler;
  682.     }
  683.     function urun_altKategoriGeriYaz($ustid,$dil=1){
  684.         $em $this->em;
  685.         $qb $em->createQueryBuilder();
  686.         $kategoriler=$qb->select('k.id,k.dilgrup,k.adi,k.seourl,k.ustid')
  687.             ->from('PanelBundle:UrunKategori''k')
  688.             ->join('k.dil','d')
  689.             ->where('k.dilgrup='.$ustid.' and d.id='.$dil)
  690.             ->groupBy('k.dilgrup')
  691.             ->orderBy('k.sira','ASC')
  692.             ->getQuery()
  693.             ->setResultCacheId('urunkategori3')
  694.             ->setResultCacheLifetime(60)
  695.             ->getScalarResult();
  696.         $veriler='';
  697.         foreach ($kategoriler as $k){
  698.             $veriler.=$this->urun_altKategoriGeriYaz($k['ustid'],$dil).$k['seourl'].'/';
  699.         }
  700.         return $veriler;
  701.     }
  702.     function urun_altKategoriGeriIdYaz($ustid,$dil=1){
  703.         $em $this->em;
  704.         $qb $em->createQueryBuilder();
  705.         $kategoriler=$qb->select('k.id,k.dilgrup,k.adi,k.seourl,k.ustid')
  706.             ->from('PanelBundle:UrunKategori''k')
  707.             ->join('k.dil','d')
  708.             ->where('k.dilgrup='.$ustid.' and d.id='.$dil)
  709.             ->groupBy('k.dilgrup')
  710.             ->orderBy('k.sira','ASC')
  711.             ->getQuery()
  712.             ->setResultCacheId('urunkategori4')
  713.             ->setResultCacheLifetime(60)
  714.             ->getScalarResult();
  715.         $veriler='';
  716.         foreach ($kategoriler as $k){
  717.             $veriler.=$this->urun_altKategoriGeriIdYaz($k['ustid'],$dil).$k['dilgrup'].',';
  718.         }
  719.         return $veriler;
  720.     }
  721.     function urun_altKategoriListe($dilgrup){
  722.         $em $this->em;
  723.         $qb $em->createQueryBuilder();
  724.         $kategoriler=$qb->select('k.id,k.dilgrup,k.adi,k.seourl,d.kisa as dKisa,k.ustid,k.n11,k.hb,k.ty,k.gg,k.gmc')
  725.             ->from('PanelBundle:UrunKategori''k')
  726.             ->join('k.dil','d')
  727.             ->where('k.ustid='.$dilgrup)
  728.             ->groupBy('k.dilgrup')
  729.             ->orderBy('k.sira','ASC')
  730.             ->getQuery()
  731.             ->setResultCacheId('urunkategori5')
  732.             ->setResultCacheLifetime(60)
  733.             ->getScalarResult();
  734.         $veriler='';
  735.         if(count($kategoriler)>0) {
  736.             $veriler .= '<ul class="kategori_sirala' $dilgrup '">';
  737.             foreach ($kategoriler as $k) {
  738.                 if ($this->dilSay() > 1) {
  739.                     $link '<a class="text-primary" href="' $this->ayarlar('siteYolu') . $k['dKisa'] . '/' $this->urun_altKategoriGeriYaz($k['ustid']) . $k['seourl'] . '" target="_blank"> ' $this->ayarlar('siteYolu') . $k['dKisa'] . '/' $this->urun_altKategoriGeriYaz($k['ustid']) . $k['seourl'] . ' </a>';
  740.                 } else {
  741.                     $link '<a class="text-primary" href="' $this->ayarlar('siteYolu')  . $this->urun_altKategoriGeriYaz($k['ustid']) . $k['seourl'] . '" target="_blank"> ' $this->ayarlar('siteYolu')  . $this->urun_altKategoriGeriYaz($k['ustid']) . $k['seourl'] . ' </a>';
  742.                 }
  743.                 $n11 "";
  744.                 $n11_2 "";
  745.                 if($this->pazaryeriDurum('N11')==1) {
  746.                     if ($k['n11'] != '') {
  747.                         $n11 '<span class="badge badge-success" style="font-size: 12px;"><i class="fa fa-check-circle"></i> N11</span>';
  748.                     } else {
  749.                         $n11 '<span class="badge badge-danger" style="font-size: 12px;"><i class="fa fa-times-circle"></i> N11</span>';
  750.                     }
  751.                     $n11_2 '<a class="dropdown-item " href="javascript:void(0);" onclick="n11DuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".n11Duzenle">N11 Eşleştirme</a>';
  752.                 }
  753.                 $hb "";
  754.                 $hb_2 "";
  755.                 if($this->pazaryeriDurum('HEPSİBURADA')==1) {
  756.                     if ($k['hb'] != '') {
  757.                         $hb '<span class="badge badge-success" style="font-size: 12px; margin-left: 3px;"><i class="fa fa-check-circle"></i> Hepsiburada</span>';
  758.                     } else {
  759.                         $hb '<span class="badge badge-danger" style="font-size: 12px; margin-left: 3px;"><i class="fa fa-times-circle"></i> Hepsiburada</span>';
  760.                     }
  761.                     $hb_2 '<a class="dropdown-item " href="javascript:void(0);" onclick="hbDuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".hbDuzenle">Hepsiburada Eşleştirme</a><a class="dropdown-item " href="javascript:void(0);"  onclick="hbUrunHazirla(' $k['dilgrup'] . ');">Hepsiburada İçin Ürünleri Hazırla</a>';
  762.                 }
  763.                 $ty "";
  764.                 $ty_2 "";
  765.                 if($this->pazaryeriDurum('TRENDYOL')==1) {
  766.                     if ($k['ty'] != '') {
  767.                         $ty '<span class="badge badge-success" style="font-size: 12px; margin-left: 3px;"><i class="fa fa-check-circle"></i> Trendyol</span>';
  768.                     } else {
  769.                         $ty '<span class="badge badge-danger" style="font-size: 12px; margin-left: 3px;"><i class="fa fa-times-circle"></i> Trendyol</span>';
  770.                     }
  771.                     $ty_2 '<a class="dropdown-item " href="javascript:void(0);" onclick="tyDuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".tyDuzenle">Trendyol Eşleştirme</a>';
  772.                 }
  773.                 $gg "";
  774.                 $gg_2 "";
  775.                 if($this->pazaryeriDurum('GİTTİ GİDİYOR')==1) {
  776.                     if ($k['gg'] != '') {
  777.                         $gg '<span class="badge badge-success" style="font-size: 12px;"><i class="fa fa-check-circle"></i> Gitti Gidiyor</span>';
  778.                     } else {
  779.                         $gg '<span class="badge badge-danger" style="font-size: 12px;"><i class="fa fa-times-circle"></i> Gitti Gidiyor</span>';
  780.                     }
  781.                     $gg_2 '<a class="dropdown-item " href="javascript:void(0);" onclick="ggDuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".ggDuzenle">Gitti Gidiyor Eşleştirme</a>';
  782.                 }
  783.                 if ($k['gmc'] != '') {
  784.                     $gmc '<span class="badge badge-success" style="font-size: 12px;"><i class="fa fa-check-circle"></i> Google</span>';
  785.                 } else {
  786.                     $gmc '<span class="badge badge-danger" style="font-size: 12px;"><i class="fa fa-times-circle"></i> Google</span>';
  787.                 }
  788.                 $gmc_2 '<a class="dropdown-item " href="javascript:void(0);" onclick="gmcDuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".gmcDuzenle">Google Eşleştirme</a>';
  789.                 $veriler .= ' <div id="listItem_' $k['dilgrup'] . '">';
  790.                 $veriler .= '<li class="kategoriLi row" >
  791.             <div class="col-md-9">' $k['adi'] . '
  792.                 <br>
  793.                 
  794.                 ' $link '
  795.                 <br>
  796.                 
  797.                '.$n11.$hb.$ty.$gg.$gmc.'
  798.             
  799.             </div> 
  800.             <div class="col-md-3 text-right">
  801.                 <a class="btn btn-sm btn-info waves-effect waves-light handle' $dilgrup ' text-white"><i class="fa fa-arrows-alt"></i></a>
  802.                 <button class="btn btn-sm btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">İŞLEM</button>
  803.                 <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  804.                     <a class="dropdown-item" href="javascript:void(0);" onclick="seoAyarAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".seoAyar">Seo Ayarları</a>
  805.                     <a class="dropdown-item" href="javascript:void(0);" onclick="kategoriDuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".kategoriDuzenle">Düzenle</a>
  806.                     <a class="dropdown-item" href="javascript:void(0);" onclick="kategoriSil(' $k['dilgrup'] . ')">Sil</a>
  807.                     <hr style="margin: 0;">
  808.                      '.$n11_2.$hb_2.$ty_2.$gg_2.$gmc_2.'
  809.                 </div>
  810.             </div>
  811.         </li>';
  812.                 $veriler .= $this->urun_altKategoriListe($k['dilgrup']);;
  813.                 $veriler .= '</div>';
  814.             }
  815.             $veriler .= '</ul>';
  816.             $veriler .= '<script>
  817.             $().ready(function() {
  818.               kategoriSirala(' $dilgrup ');
  819.             });
  820.             </script>';
  821.         }
  822.         return $veriler;
  823.     }
  824.     function urun_altOzellikListe($dilgrup){
  825.         $em $this->em;
  826.         $qb $em->createQueryBuilder();
  827.         $ozellikler=$qb->select('k.id,k.dilgrup,k.adi,k.ustid,k.n11,k.hb,k.ty')
  828.             ->from('PanelBundle:UrunOzellik''k')
  829.             ->join('k.dil','d')
  830.             ->where('k.ustid='.$dilgrup)
  831.             ->groupBy('k.dilgrup')
  832.             ->orderBy('k.id','ASC')
  833.             ->getQuery()
  834.             ->getScalarResult();
  835.         $veriler='';
  836.         if(count($ozellikler)>0) {
  837.             $veriler .= '<ul class="ozellik_sirala' $dilgrup '">';
  838.             foreach ($ozellikler as $k) {
  839.                 $n11="";
  840.                 $n11_2="";
  841.                 if($this->pazaryeriDurum('N11')==1){
  842.                     $n11='<a class="dropdown-item " href="javascript:void(0);" onclick="n11DuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".n11Duzenle">N11 Eşleştirme</a>';
  843.                    if($k['n11']!=''){
  844.                        $n11_2='<span class="badge badge-success" style="font-size: 12px;"><i class="fa fa-check-circle"></i> N11</span>';
  845.                    }else{
  846.                        $n11_2='<span class="badge badge-danger" style="font-size: 12px;"><i class="fa fa-times-circle"></i> N11</span>';
  847.                    }
  848.                 }
  849.                 $hb="";
  850.                 $hb_2="";
  851.                 if($this->pazaryeriDurum('HEPSİBURADA')==1){
  852.                     $hb='<a class="dropdown-item " href="javascript:void(0);" onclick="hbDuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".hbDuzenle">Hepsiburada Eşleştirme</a>';
  853.                    if($k['hb']!=''){
  854.                        $hb_2='<span class="badge badge-success" style="font-size: 12px;margin-left: 3px;"><i class="fa fa-check-circle"></i> Hepsiburada</span>';
  855.                    }else{
  856.                        $hb_2='<span class="badge badge-danger" style="font-size: 12px;margin-left: 3px;"><i class="fa fa-times-circle"></i> Hepsiburada</span>';
  857.                    }
  858.                 }
  859.                 $ty="";
  860.                 $ty_2="";
  861.                 if($this->pazaryeriDurum('TRENDYOL')==1){
  862.                     $ty='<a class="dropdown-item " href="javascript:void(0);" onclick="tyDuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".tyDuzenle">Trendyol Eşleştirme</a>';
  863.                    if($k['ty']!=''){
  864.                        $ty_2='<span class="badge badge-success" style="font-size: 12px;margin-left: 3px;"><i class="fa fa-check-circle"></i> Trendyol</span>';
  865.                    }else{
  866.                        $ty_2='<span class="badge badge-danger" style="font-size: 12px;margin-left: 3px;"><i class="fa fa-times-circle"></i> Trendyol</span>';
  867.                    }
  868.                 }
  869.                 $veriler .= ' <div id="listItem_' $k['dilgrup'] . '">';
  870.                 $veriler .= '<li class="kategoriLi row" style="border:1px solid #1e7e34;">
  871.             <div class="col-md-9">' $k['adi'] . '
  872.             <br>
  873.             '.$n11_2.$hb_2.$ty_2.'
  874.             </div>
  875.             <div class="col-md-3 text-right">
  876.                 <!--<a class="btn btn-sm btn-info waves-effect waves-light handle' $dilgrup ' text-white"><i class="fa fa-arrows-alt"></i></a>-->
  877.                 <button class="btn btn-sm btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">İŞLEM</button>
  878.                 <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  879.                     <a class="dropdown-item" href="javascript:void(0);" onclick="ozellikDuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".ozellikDuzenle">Düzenle</a>
  880.                     <a class="dropdown-item" href="javascript:void(0);" onclick="ozellikSil(' $k['dilgrup'] . ')">Sil</a>
  881.                     <hr style="margin: 0;">
  882.                     '.$n11.$hb.$ty.'
  883.                 </div>
  884.             </div>
  885.         </li>';
  886.                 $veriler .= $this->urun_altOzellikListe($k['dilgrup']);;
  887.                 $veriler .= '</div>';
  888.             }
  889.             $veriler .= '</ul>';
  890.             $veriler .= '<script>
  891.             $().ready(function() {
  892.               ozellikSirala(' $dilgrup ');
  893.             });
  894.             </script>';
  895.         }
  896.         return $veriler;
  897.     }
  898.     function urun_altVaryantBul($dilgrup,$gelenVaryantlar=""){
  899.         $em $this->em;
  900.         $qb $em->createQueryBuilder();
  901.         $varyantlar=$qb->select('k.id,k.dilgrup,k.adi,k.ustid')
  902.             ->from('PanelBundle:UrunVaryant''k')
  903.             ->join('k.dil','d')
  904.             ->where('k.ustid='.$dilgrup)
  905.             ->groupBy('k.dilgrup')
  906.             ->orderBy('k.sira','ASC')
  907.             ->getQuery()
  908.             ->getScalarResult();
  909.         $veriler='';
  910.         if(count($varyantlar)>0) {
  911.             foreach ($varyantlar as $k) {
  912.                 $select="";
  913.                 if($gelenVaryantlar!=""){
  914.                     $olanVaryantlar explode('~',$gelenVaryantlar);
  915.                     if (in_array($dilgrup.'='.$k['dilgrup'],$olanVaryantlar)){
  916.                         $select="selected";
  917.                     }
  918.                 }
  919.                 $veriler .= '<option value="'.$dilgrup.'='.$k['dilgrup'].'" '.$select.'>'.$k['adi'].'</option>';
  920.             }
  921.         }
  922.         return $veriler;
  923.     }
  924.     function altvaryantlar($dilgrup){
  925.         $em $this->em;
  926.         $qb $em->createQueryBuilder();
  927.         $varyantlar=$qb->select('k.id,k.dilgrup,k.adi,k.ustid')
  928.             ->from('PanelBundle:UrunVaryant''k')
  929.             ->join('k.dil','d')
  930.             ->where('k.ustid='.$dilgrup)
  931.             ->groupBy('k.dilgrup')
  932.             ->orderBy('k.sira','ASC')
  933.             ->getQuery()
  934.             ->getScalarResult();
  935.         return $varyantlar;
  936.     }
  937.     function urun_altVaryantListe($dilgrup){
  938.         $em $this->em;
  939.         $qb $em->createQueryBuilder();
  940.         $varyantlar=$qb->select('k.id,k.dilgrup,k.adi,k.ustid,k.hb')
  941.             ->from('PanelBundle:UrunVaryant''k')
  942.             ->join('k.dil','d')
  943.             ->where('k.ustid='.$dilgrup)
  944.             ->groupBy('k.dilgrup')
  945.             ->orderBy('k.sira','ASC')
  946.             ->getQuery()
  947.             ->getScalarResult();
  948.         $veriler='';
  949.         if(count($varyantlar)>0) {
  950.             $veriler .= '<ul class="varyant_sirala' $dilgrup '">';
  951.             foreach ($varyantlar as $k) {
  952.                 $hb="";
  953.                 $hb_2="";
  954.                 if($this->pazaryeriDurum('HEPSİBURADA')==1){
  955.                     $hb='<a class="dropdown-item " href="javascript:void(0);" onclick="hbDuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".hbDuzenle">Hepsiburada Eşleştirme</a>';
  956.                     if($k['hb']!=''){
  957.                         $hb_2='<span class="badge badge-success" style="font-size: 12px;margin-left: 3px;"><i class="fa fa-check-circle"></i> Hepsiburada</span>';
  958.                     }else{
  959.                         $hb_2='<span class="badge badge-danger" style="font-size: 12px;margin-left: 3px;"><i class="fa fa-times-circle"></i> Hepsiburada</span>';
  960.                     }
  961.                 }
  962.                 $veriler .= ' <div id="listItem_' $k['dilgrup'] . '">';
  963.                 $veriler .= '<li class="kategoriLi row" style="border:1px solid #1e7e34;">
  964.             <div class="col-md-9">' $k['adi'] . ' <br> '.$hb_2.'</div>
  965.             <div class="col-md-3 text-right">
  966.                 <a class="btn btn-sm btn-info waves-effect waves-light handle' $dilgrup ' text-white"><i class="fa fa-arrows-alt"></i></a>
  967.                 <button class="btn btn-sm btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">İŞLEM</button>
  968.                 <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  969.                     <a class="dropdown-item" href="javascript:void(0);" onclick="varyantDuzenleAc(' $k['dilgrup'] . ');" data-toggle="modal" data-target=".varyantDuzenle">Düzenle</a>
  970.                     <a class="dropdown-item" href="javascript:void(0);" onclick="varyantSil(' $k['dilgrup'] . ')">Sil</a>
  971.                       <hr style="margin: 0;">
  972.                     '.$hb.'
  973.                 </div>
  974.             </div>
  975.         </li>';
  976.                 $veriler .= $this->urun_altVaryantListe($k['dilgrup']);;
  977.                 $veriler .= '</div>';
  978.             }
  979.             $veriler .= '</ul>';
  980.             $veriler .= '<script>
  981.             $().ready(function() {
  982.               varyantSirala(' $dilgrup ');
  983.             });
  984.             </script>';
  985.         }
  986.         return $veriler;
  987.     }
  988.     public function urun_kategoriDetay($dilgrup,$alan,$dil=1){
  989.         if($dilgrup==''){
  990.             return '';
  991.         }
  992.         $em $this->em;
  993.         $qb $em->createQueryBuilder();
  994.         $kategori=$qb->select("e.$alan")
  995.             ->from('PanelBundle:UrunKategori''e')
  996.             ->join('e.dil','d')
  997.             ->where('d.id='.$dil.' and e.dilgrup='.$dilgrup)
  998.             ->getQuery()
  999.             ->setResultCacheId('kategori_detay')
  1000.             ->setResultCacheLifetime(60)
  1001.             ->getScalarResult();
  1002.         return $kategori[0][$alan];
  1003.     }
  1004.     public function urun_getir($dilgrup,$panelDil=""){
  1005.         if(empty($panelDil)) {
  1006.             $d $this->session->get('dil');
  1007.             $d =  $d['id'];
  1008.         }else{
  1009.             $d $panelDil;
  1010.         }
  1011.         $em $this->em;
  1012.         $qb $em->createQueryBuilder();
  1013.         $urun=$qb->select("u.varyantDurum,u.markaId,u.urunkodu,u.adi,u.resimler,u.resimlerBaslik,u.stokTurId,u.seourl,u.kategoriId,u.indirim,u.indirimTip,u.indirimDurum,u.paraBirimId,u.minSiparis,u.maxSiparis,u.kargoFiyat,u.kdv,u.alis, CASE WHEN u.kdvDurum = 0 THEN (((u.fiyat*u.kdv)/100)+u.fiyat) ELSE u.fiyat END as fiyat, CASE WHEN u.kdvDurum = 0 THEN (((u.fiyat2*u.kdv)/100)+u.fiyat2) ELSE u.fiyat2 END as fiyat2, CASE WHEN u.kdvDurum = 0 THEN (((u.fiyat3*u.kdv)/100)+u.fiyat3) ELSE u.fiyat3 END as fiyat3, CASE WHEN u.kdvDurum = 0 THEN (((u.fiyat4*u.kdv)/100)+u.fiyat4) ELSE u.fiyat4 END as fiyat4, CASE WHEN u.kdvDurum = 0 THEN (((u.fiyat5*u.kdv)/100)+u.fiyat5) ELSE u.fiyat5 END as fiyat5,u.paraBirimId,u.n11,u.hb,u.ty,u.gg")
  1014.             ->from('PanelBundle:Urun''u')
  1015.             ->join('u.dil','d')
  1016.             ->where('d.id='.$d.' and u.dilgrup='.$dilgrup)
  1017.             ->getQuery()
  1018.             ->setResultCacheId('urun_getir')
  1019.             ->setResultCacheLifetime(60)
  1020.             ->getScalarResult();
  1021.         return $urun[0];
  1022.     }
  1023.     public function urun_varyant($dilgrup,$panelDil=""){
  1024.         if(empty($panelDil)) {
  1025.             $dil $this->session->get('dil')['id'];
  1026.         }else{
  1027.             $dil $panelDil;
  1028.         }
  1029.         $em $this->em;
  1030.         $qb $em->createQueryBuilder();
  1031.         $varyant=$qb->select("v.urunkodu,v.resimler,v.resimlerBaslik,v.varyantlar,v.indirim,v.indirimTip,v.indirimDurum,v.fiyat,v.kargoFiyat,v.paraBirimId,v.n11,v.hb,v.ty,v.gg")
  1032.             ->from('PanelBundle:UrunVaryantlar''v')
  1033.             ->join('v.dil','d')
  1034.             ->where('d.id='.$dil.' and v.dilgrup='.$dilgrup)
  1035.             ->getQuery()
  1036.             ->setResultCacheId('varyant_getir')
  1037.             ->setResultCacheLifetime(60)
  1038.             ->getScalarResult();
  1039.         return $varyant[0];
  1040.     }
  1041.     public function urun_markaDetay($dilgrup,$alan,$dil=1){
  1042.         if($dilgrup==''){
  1043.             return '';
  1044.         }
  1045.         $em $this->em;
  1046.         $qb $em->createQueryBuilder();
  1047.         $marka=$qb->select("e.$alan")
  1048.             ->from('PanelBundle:UrunMarka''e')
  1049.             ->join('e.dil','d')
  1050.             ->where('e.dilgrup='.$dilgrup.' and d.id='.$dil)
  1051.             ->getQuery()
  1052.             ->setResultCacheId('marka_detay')
  1053.             ->setResultCacheLifetime(60)
  1054.             ->getScalarResult();
  1055.         return $marka[0][$alan];
  1056.     }
  1057.     public function urun_ozellikDetay($dilgrup,$alan,$dil=1){
  1058.         if($dilgrup==''){
  1059.             return '';
  1060.         }
  1061.         $em $this->em;
  1062.         $qb $em->createQueryBuilder();
  1063.         $ozellik=$qb->select("e.$alan")
  1064.             ->from('PanelBundle:UrunOzellik''e')
  1065.             ->join('e.dil','d')
  1066.             ->where('e.dilgrup='.$dilgrup.' and d.id='.$dil)
  1067.             ->getQuery()
  1068.             ->setResultCacheId('ozellik_detay')
  1069.             ->setResultCacheLifetime(60)
  1070.             ->getScalarResult();
  1071.         return $ozellik[0][$alan];
  1072.     }
  1073.     public function urun_ozellikGrubuBul($dilgrup){
  1074.         $dil $this->session->get('dil');
  1075.         if($dilgrup==''){
  1076.             return '';
  1077.         }
  1078.         $em $this->em;
  1079.         $qb $em->createQueryBuilder();
  1080.         $ozellik=$qb->select("e.ustid")
  1081.             ->from('PanelBundle:UrunOzellik''e')
  1082.             ->join('e.dil','d')
  1083.             ->where('e.dilgrup='.$dilgrup.' and d.id='.$dil['id'])
  1084.             ->getQuery()
  1085.             ->setResultCacheId('ozellik_grup')
  1086.             ->setResultCacheLifetime(60)
  1087.             ->getScalarResult();
  1088.         return $ozellik[0]['ustid'];
  1089.     }
  1090.     public function urun_firsatDetay($dilgrup,$alan,$dil=1){
  1091.         if($dilgrup==''){
  1092.             return '';
  1093.         }
  1094.         $em $this->em;
  1095.         $qb $em->createQueryBuilder();
  1096.         $marka=$qb->select("e.$alan")
  1097.             ->from('PanelBundle:UrunFirsat''e')
  1098.             ->join('e.dil','d')
  1099.             ->where('d.id='.$dil.' and e.dilgrup='.$dilgrup)
  1100.             ->getQuery()
  1101.             ->setResultCacheId('firsat_detay')
  1102.             ->setResultCacheLifetime(60)
  1103.             ->getScalarResult();
  1104.         return $marka[0][$alan];
  1105.     }
  1106.     public function urun_firsatlar(){
  1107.         $dil $this->session->get('dil');
  1108.         $em $this->em;
  1109.         $qb $em->createQueryBuilder();
  1110.         $firsatlar=$qb->select("e.dilgrup,e.adi")
  1111.             ->from('PanelBundle:UrunFirsat''e')
  1112.             ->join('e.dil','d')
  1113.             ->where('d.id='.$dil['id'])
  1114.             ->getQuery()
  1115.             ->setResultCacheId('firsatlar')
  1116.             ->setResultCacheLifetime(60)
  1117.             ->getScalarResult();
  1118.         return $firsatlar;
  1119.     }
  1120.     public function urun_ozellikler($dahiller="",$ustid=""){
  1121.         $dil $this->session->get('dil');
  1122.         $sql='';
  1123.         if($dahiller!=''){
  1124.             $sql .=" and e.dilgrup in(".substr($dahiller,0,strlen($dahiller)-1).")";
  1125.         }
  1126.         if($ustid!=''){
  1127.             $sql .=" and e.ustid=".$ustid;
  1128.         }
  1129.         $em $this->em;
  1130.         $qb $em->createQueryBuilder();
  1131.         $ozellikler=$qb->select("e.dilgrup,e.adi")
  1132.             ->from('PanelBundle:UrunOzellik''e')
  1133.             ->join('e.dil','d')
  1134.             ->where('d.id='.$dil['id'].$sql)
  1135.             ->getQuery()
  1136.             ->setResultCacheId('ozellikler')
  1137.             ->setResultCacheLifetime(60)
  1138.             ->getScalarResult();
  1139.         return $ozellikler;
  1140.     }
  1141.     public function parabirimiDetay($id,$alan){
  1142.         if($id==''){
  1143.             return '';
  1144.         }
  1145.         $em $this->em;
  1146.         $qb $em->createQueryBuilder();
  1147.         $pBirim=$qb->select("e.$alan")
  1148.             ->from('PanelBundle:ParaBirim''e')
  1149.             ->where('e.id='.$id)
  1150.             ->getQuery()
  1151.             ->setResultCacheId('parabirimi_detay')
  1152.             ->setResultCacheLifetime(60)
  1153.             ->getScalarResult();
  1154.         return $pBirim[0][$alan];
  1155.     }
  1156.     public function stokTurDetay($dilgrup,$alan,$dil=1){
  1157.         if($dilgrup==''){
  1158.             return '';
  1159.         }
  1160.         $em $this->em;
  1161.         $qb $em->createQueryBuilder();
  1162.         $stokTur=$qb->select("e.$alan")
  1163.             ->from('PanelBundle:StokTur''e')
  1164.             ->join('e.dil','d')
  1165.             ->where('d.id='.$dil.' and e.dilgrup='.$dilgrup)
  1166.             ->getQuery()
  1167.             ->setResultCacheId('stokTur_detay')
  1168.             ->setResultCacheLifetime(60)
  1169.             ->getScalarResult();
  1170.         return $stokTur[0][$alan];
  1171.     }
  1172.     public function varyantDetay($dilgrup,$alan,$dil=1){
  1173.         if($dilgrup==''){
  1174.             return '';
  1175.         }
  1176.         $em $this->em;
  1177.         $qb $em->createQueryBuilder();
  1178.         $varyant=$qb->select("e.$alan")
  1179.             ->from('PanelBundle:UrunVaryant''e')
  1180.             ->join('e.dil','d')
  1181.             ->where('e.dilgrup='.$dilgrup.' and d.id='.$dil)
  1182.             ->getQuery()
  1183.             ->getScalarResult();
  1184.         return $varyant[0][$alan];
  1185.     }
  1186.     public function istatistik($start,$end){
  1187.         $em $this->em;
  1188.         $qb $em->createQueryBuilder();
  1189.         $istatistikKullanici=$qb->select('i.id')
  1190.             ->from('PanelBundle:Istatistik''i')
  1191.             ->where("i.tarih > '$start 00:00:00' and i.tarih < '$end 23:59:59'")
  1192.             ->groupBy('i.ip')
  1193.             ->getQuery()
  1194.             ->getScalarResult();
  1195.         $qb $em->createQueryBuilder();
  1196.         $istatistikSG=$qb->select('i.id')
  1197.             ->from('PanelBundle:Istatistik''i')
  1198.             ->where("i.tarih > '$start 00:00:00' and i.tarih < '$end 23:59:59'")
  1199.             ->getQuery()
  1200.             ->getScalarResult();
  1201.         return count($istatistikKullanici).'--'.count($istatistikSG);
  1202.     }
  1203.     public function yetkiler($yetkiler,$rol){
  1204.         $yetkiler explode('~',str_replace(array('{','}'),array('',''),substr($yetkiler,0,strlen($yetkiler)-1)));
  1205.         $return = [];
  1206.         foreach ($yetkiler as $y){
  1207.             $x explode(':',$y);
  1208.             $z explode(',',$x[1]);
  1209.             $return[$x[0]]['gorme']=$z[0];
  1210.             $return[$x[0]]['ekleme']=$z[1];
  1211.             $return[$x[0]]['duzenleme']=$z[2];
  1212.             $return[$x[0]]['silme']=$z[3];
  1213.         }
  1214.         if($rol=='ROLE_SUPERADMIN' or $rol=='ROLE_ADMIN'){
  1215.             return 1;
  1216.         }else{
  1217.             return $return;
  1218.         }
  1219.     }
  1220.     function GetIP()
  1221.     {
  1222.         if (getenv("HTTP_CLIENT_IP")) {
  1223.             $ip getenv("HTTP_CLIENT_IP");
  1224.         } elseif (getenv("HTTP_X_FORWARDED_FOR")) {
  1225.             $ip getenv("HTTP_X_FORWARDED_FOR");
  1226.             if (strstr($ip',')) {
  1227.                 $tmp explode(','$ip);
  1228.                 $ip trim($tmp[0]);
  1229.             }
  1230.         } else {
  1231.             $ip getenv("REMOTE_ADDR");
  1232.         }
  1233.         return $ip;
  1234.     }
  1235.     function get_browser_name($user_agent)
  1236.     {
  1237.         if (strpos($user_agent'Opera') || strpos($user_agent'OPR/')) return 'Opera';
  1238.         elseif (strpos($user_agent'Edge')) return 'Edge';
  1239.         elseif (strpos($user_agent'Chrome')) return 'Chrome';
  1240.         elseif (strpos($user_agent'Safari')) return 'Safari';
  1241.         elseif (strpos($user_agent'Firefox')) return 'Firefox';
  1242.         elseif (strpos($user_agent'MSIE') || strpos($user_agent'Trident/7')) return 'İnternet Explorer';
  1243.         return 'Diğer';
  1244.     }
  1245.     public function site_istatistik($bos)
  1246.     {
  1247.         if($this->ayarlar('debug')!=1) {
  1248.             $em $this->em;
  1249.             $tarih = new \DateTime('now');
  1250.             $ip $this->GetIP();
  1251.             $referer $_SERVER['HTTP_REFERER'];
  1252.             $user_agent $this->get_browser_name($_SERVER['HTTP_USER_AGENT']);
  1253.             $request_uri $this->ayarlar('siteYolu') . substr($_SERVER['REQUEST_URI'], 1strlen($_SERVER['REQUEST_URI']) - 1);
  1254.             $istatistik = new Istatistik();
  1255.             $istatistik->setTarih($tarih);
  1256.             $istatistik->setIp($ip);
  1257.             $istatistik->setReferer($referer);
  1258.             $istatistik->setTarayici($user_agent);
  1259.             $istatistik->setUrl($request_uri);
  1260.             $em->persist($istatistik);
  1261.             $em->flush();
  1262.             return '';
  1263.         }
  1264.     }
  1265.     public function site_anaLink(){
  1266.         $dil $this->session->get('dil');
  1267.         if ($this->dilSay()>1){
  1268.             return $this->ayarlar('siteYolu').$dil['kisa'].'/';
  1269.         }else{
  1270.             return $this->ayarlar('siteYolu');
  1271.         }
  1272.     }
  1273.     public function site_menuGetir($tekmenu_sablon,$acilirmenu_sablon="",$footer=0){
  1274.         /*
  1275.         Gerekli değişkenler (fazlalaştırılabilir)
  1276.             - menuAdi
  1277.             - menuLink
  1278.             - childLink
  1279.             - childAdi
  1280.         */
  1281.         $em $this->em;
  1282.         $dil $this->session->get('dil');
  1283.         $qb $em->createQueryBuilder();
  1284.         $sayfalar=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan')
  1285.             ->from('PanelBundle:Sayfa''s')
  1286.             ->join('s.dil''d')
  1287.             ->join('s.modul''m')
  1288.             ->where('d.id='.$dil['id'].'and s.menu=1')
  1289.             ->orderBy('s.sira','ASC')
  1290.             ->getQuery()
  1291.             ->setResultCacheId('menu_sayfalar')
  1292.             ->setResultCacheLifetime(60)
  1293.             ->getScalarResult();
  1294.         $menu '';
  1295.         foreach ($sayfalar as $sayfa){
  1296.             $sLink $this->site_anaLink().$sayfa['seo'];
  1297.             if($footer==1){
  1298.                 $menu .= str_replace(['menuLink','menuAdi'],[$sLink,$sayfa['adi']],$tekmenu_sablon);
  1299.             }else {
  1300.                 //  ($sayfa['dilgrup']==6) alanı alt menü görünmesin istiyorsak
  1301.                 if (($sayfa['tekVeri'] == and $sayfa['icIcerik'] == 0) or $sayfa['tekVeri'] == or ($sayfa['dilgrup'] == 6)) {
  1302.                     $menu .= str_replace(['menuLink','menuAdi'],[$sLink,$sayfa['adi']],$tekmenu_sablon);
  1303.                 } else {
  1304.                     if ($sayfa['kategori'] == 0) {
  1305.                         //İçerikler
  1306.                         $sayfaAlan explode(','$sayfa['alan']);
  1307.                         $icerikalani = [];
  1308.                         foreach ($sayfaAlan as $sA) {
  1309.                             if ($sA == 'seo url' or $sA == 'sayfa başlığı' or $sA == 'anahtar kelimeler' or $sA == 'sayfa açıklaması') {
  1310.                             } else {
  1311.                                 $icerikalani[] = str_replace(' '''$sA);
  1312.                             }
  1313.                         }
  1314.                         $qb $em->createQueryBuilder();
  1315.                         $icerikler $qb->select('t.' $this->seo($icerikalani[0]) . ' as baslik,t.seourl,t.dilgrup,d.kisa as dKisa,t.kategoriId,d.id as did,t.sayfaId')
  1316.                             ->from('PanelBundle:' $sayfa['tabloAdi'], 't')
  1317.                             ->join('t.dil''d')
  1318.                             ->where('t.sayfaId=' $sayfa['dilgrup'] . ' and d.id=' $dil['id'])
  1319.                             ->addOrderBy('t.sira''ASC')
  1320.                             ->addOrderBy('t.id''DESC')
  1321.                             ->setMaxResults(10)
  1322.                             ->getQuery()
  1323.                             ->setResultCacheId('menu_icerikler')
  1324.                             ->setResultCacheLifetime(60)
  1325.                             ->getScalarResult();
  1326.                     }
  1327.                     else {
  1328.                         //Kategoriler
  1329.                         $qb $em->createQueryBuilder();
  1330.                         $icerikler $qb->select('k.dilgrup,k.adi as baslik,k.seourl')
  1331.                             ->from('PanelBundle:Kategori''k')
  1332.                             ->join('k.dil''d')
  1333.                             ->where('k.sayfaId=' $sayfa['dilgrup'] . ' and k.ustid=0 and d.id=' $dil['id'])
  1334.                             ->orderBy('k.sira''ASC')
  1335.                             ->setMaxResults(10)
  1336.                             ->getQuery()
  1337.                             ->setResultCacheId('menu_kategoriler')
  1338.                             ->setResultCacheLifetime(60)
  1339.                             ->getScalarResult();
  1340.                     }
  1341.                     $acilirmenu_sablon explode('|',$acilirmenu_sablon);
  1342.                     $menu .= str_replace(['menuLink','menuAdi','menuDilgrup'],[$sLink,$sayfa['adi'],$sayfa['dilgrup']],$acilirmenu_sablon[0]);
  1343.                     foreach ($icerikler as $icerik) {
  1344.                         $kat '';
  1345.                         if ($icerik['kategoriId'] != '') {
  1346.                             $kat $this->altKategoriGeriYaz($icerik['kategoriId'], $dil['id']);
  1347.                         }
  1348.                         $sLink2 $this->site_anaLink() . $sayfa['seo'] . '/' $kat $icerik['seourl'];
  1349.                         $menu .= str_replace(['childLink','childAdi'],[$sLink2,ucfirst($icerik['baslik'])],$acilirmenu_sablon[1]);
  1350.                     }
  1351.                     $menu .= $acilirmenu_sablon[2];
  1352.                 }
  1353.             }
  1354.         }
  1355.         return $menu;
  1356.     }
  1357.     public function site_kategoriMenuGetir($tekmenu_sablon,$acilirmenu_sablon="",$footer=0){
  1358.         /*
  1359.           Gerekli değişkenler (fazlalaştırılabilir)
  1360.               - menuAdi
  1361.               - menuLink
  1362.               - childLink
  1363.               - childAdi
  1364.           */
  1365.         $em $this->em;
  1366.         $dil $this->session->get('dil');
  1367.         $qb $em->createQueryBuilder();
  1368.         $kategoriler=$qb->select('k.adi,k.seourl,k.dilgrup,k.resim')
  1369.             ->from('PanelBundle:UrunKategori''k')
  1370.             ->join('k.dil''d')
  1371.             ->where('d.id='.$dil['id'].'and k.ustid=0')
  1372.             ->orderBy('k.sira','ASC')
  1373.             ->setMaxResults(8)
  1374.             ->getQuery()
  1375.             ->setResultCacheId('menu_kategoriler')
  1376.             ->setResultCacheLifetime(60)
  1377.             ->getScalarResult();
  1378.         $menu '';
  1379.         foreach ($kategoriler as $key=>$kategori){
  1380.             $sLink $this->site_anaLink().$kategori['seourl'];
  1381.             if($footer==1){
  1382.                 $menu .= str_replace(['menuLink','menuAdi'],[$sLink,$kategori['adi']],$tekmenu_sablon);
  1383.             }else {
  1384.                 $qb $em->createQueryBuilder();
  1385.                 $kategorilerIc=$qb->select('k.adi,k.seourl,k.dilgrup')
  1386.                     ->from('PanelBundle:UrunKategori''k')
  1387.                     ->join('k.dil''d')
  1388.                     ->where('d.id='.$dil['id'].'and k.ustid='.$kategori['dilgrup'])
  1389.                     ->orderBy('k.sira','ASC')
  1390.                     ->getQuery()
  1391.                     ->setResultCacheId('menu_kategorilerIc')
  1392.                     ->setResultCacheLifetime(60)
  1393.                     ->getScalarResult();
  1394.                 if (count($kategorilerIc)==0) {
  1395.                     $menu .= str_replace(['menuLink','menuAdi'],[$sLink,$kategori['adi']],$tekmenu_sablon);
  1396.                 }
  1397.                 else {
  1398.                     $acilirmenu_sablon2 explode("|",$acilirmenu_sablon);
  1399.                     $menu .= str_replace(['menuLink','menuAdi'],[$sLink,$kategori['adi']],$acilirmenu_sablon2[0]);
  1400.                     $x=0;
  1401.                     foreach ($kategorilerIc as $kategoriIc) {
  1402.                         $x++;
  1403.                         $sLink2 $this->site_anaLink() . $kategori['seourl'] . '/'  $kategoriIc['seourl'];
  1404.                         $menu .= str_replace(['childLink','childAdi','childDilgrup'],[$sLink2,ucfirst($kategoriIc['adi']),$kategoriIc['dilgrup']],$acilirmenu_sablon2[1]);
  1405.                     }
  1406.                     $menu .= $acilirmenu_sablon2[2];
  1407.                 }
  1408.             }
  1409.         }
  1410.         return $menu;
  1411.     }
  1412.     public function site_footerMetin(){
  1413.         $em $this->em;
  1414.         $dil $this->session->get('dil');
  1415.         $qb $em->createQueryBuilder();
  1416.         $metin=$qb->select('s.kurumsalaciklama')
  1417.             ->from('PanelBundle:Footermetin''s')
  1418.             ->join('s.dil''d')
  1419.             ->where('d.id='.$dil['id'])
  1420.             ->getQuery()
  1421.             ->setResultCacheId('footermetin')
  1422.             ->setResultCacheLifetime(60)
  1423.             ->getScalarResult();
  1424.         return $metin[0]['kurumsalaciklama'];
  1425.     }
  1426.     public function site_footerSayfa($sDilgrup,$max=10){
  1427.         $em $this->em;
  1428.         $dil $this->session->get('dil');
  1429.         $qb $em->createQueryBuilder();
  1430.         $sayfa=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan')
  1431.             ->from('PanelBundle:Sayfa''s')
  1432.             ->join('s.dil''d')
  1433.             ->join('s.modul''m')
  1434.             ->where('d.id='.$dil['id'].'and s.menu=1 and s.dilgrup='.$sDilgrup)
  1435.             ->orderBy('s.sira','ASC')
  1436.             ->getQuery()
  1437.             ->setResultCacheId('footer_sayfa')
  1438.             ->setResultCacheLifetime(60)
  1439.             ->getScalarResult();
  1440.         $sayfa $sayfa[0];
  1441.         if ($sayfa['kategori'] == 0) {
  1442.             //İçerikler
  1443.             $sayfaAlan explode(','$sayfa['alan']);
  1444.             $icerikalani '';
  1445.             foreach ($sayfaAlan as $sA) {
  1446.                 if ($sA == 'seo url' or $sA == 'sayfa başlığı' or $sA == 'anahtar kelimeler' or $sA == 'sayfa açıklaması') {
  1447.                 } else {
  1448.                     $icerikalani .= 't.'.$this->seo(str_replace(' '''$sA)).',';
  1449.                 }
  1450.             }
  1451.             $qb $em->createQueryBuilder();
  1452.             $icerikler $qb->select$icerikalani' t.seourl,t.dilgrup,d.kisa as dKisa,t.kategoriId,d.id as did,t.sayfaId')
  1453.                 ->from('PanelBundle:' $sayfa['tabloAdi'], 't')
  1454.                 ->join('t.dil''d')
  1455.                 ->where('t.sayfaId=' $sayfa['dilgrup'] . ' and d.id=' $dil['id'])
  1456.                 ->addOrderBy('t.sira''ASC')
  1457.                 ->addOrderBy('t.id''DESC')
  1458.                 ->setMaxResults($max)
  1459.                 ->getQuery()
  1460.                 ->setResultCacheId('footer_icerik')
  1461.                 ->setResultCacheLifetime(60)
  1462.                 ->getScalarResult();
  1463.         }
  1464.         else {
  1465.             //Kategoriler
  1466.             $qb $em->createQueryBuilder();
  1467.             $icerikler $qb->select('k.dilgrup,k.adi as baslik,k.seourl,k.resim')
  1468.                 ->from('PanelBundle:Kategori''k')
  1469.                 ->join('k.dil''d')
  1470.                 ->where('k.sayfaId=' $sayfa['dilgrup'] . ' and k.ustid=0 and d.id=' $dil['id'])
  1471.                 ->orderBy('k.sira''ASC')
  1472.                 ->setMaxResults($max)
  1473.                 ->getQuery()
  1474.                 ->setResultCacheId('footer_kategori')
  1475.                 ->setResultCacheLifetime(60)
  1476.                 ->getScalarResult();
  1477.         }
  1478.         $veri = [];
  1479.         $veri[]=$sayfa;
  1480.         $veri[]=$icerikler;
  1481.         return $veri;
  1482.     }
  1483.     public function site_iletisimBilgileri($alan){
  1484.         $em $this->em;
  1485.         $dil $this->session->get('dil');
  1486.         $qb $em->createQueryBuilder();
  1487.         $iletisim=$qb->select('s.'.$alan)
  1488.             ->from('PanelBundle:Iletisim''s')
  1489.             ->join('s.dil''d')
  1490.             ->where('d.id='.$dil['id'])
  1491.             ->getQuery()
  1492.             ->setResultCacheId($alan)
  1493.             ->setResultCacheLifetime(60)
  1494.             ->getScalarResult();
  1495.         return $iletisim[0][$alan];
  1496.     }
  1497.     public function site_sosyalAglar($sablon){
  1498.         $em $this->em;
  1499.         $qb $em->createQueryBuilder();
  1500.         $sosyalAglar=$qb->select('s.ad,s.url')
  1501.             ->from('PanelBundle:SosyalAg''s')
  1502.             ->getQuery()
  1503.             ->setResultCacheId('sosyal_aglar')
  1504.             ->setResultCacheLifetime(60)
  1505.             ->getScalarResult();
  1506.         $veri '';
  1507.         foreach ($sosyalAglar as $ss){
  1508.             if($ss['ad']=='Facebook' and $ss['url']!=''){
  1509.                 $veri .= str_replace(['sosyalLink','sosyalIkon','sosyalAdi'],[$ss['url'],'facebook','Facebook'],$sablon);
  1510.             }
  1511.             elseif($ss['ad']=='Twitter' and $ss['url']!=''){
  1512.                 $veri .= str_replace(['sosyalLink','sosyalIkon','sosyalAdi'],[$ss['url'],'twitter','Twitter'],$sablon);
  1513.             }
  1514.             elseif($ss['ad']=='İnstagram' and $ss['url']!=''){
  1515.                 $veri .= str_replace(['sosyalLink','sosyalIkon','sosyalAdi'],[$ss['url'],'instagram','Instagram'],$sablon);
  1516.             }
  1517.             elseif($ss['ad']=='Pinterest' and $ss['url']!=''){
  1518.                 $veri .= str_replace(['sosyalLink','sosyalIkon','sosyalAdi'],[$ss['url'],'pinterest','Pinterest'],$sablon);
  1519.             }
  1520.             elseif($ss['ad']=='Youtube' and $ss['url']!=''){
  1521.                 $veri .= str_replace(['sosyalLink','sosyalIkon','sosyalAdi'],[$ss['url'],'youtube','Youtube'],$sablon);
  1522.             }
  1523.         }
  1524.         return $veri;
  1525.     }
  1526.     public function site_sliders()
  1527.     {
  1528.         $em $this->em;
  1529.         $dil $this->session->get('dil');
  1530.         $em $this->em;
  1531.         $qb $em->createQueryBuilder();
  1532.         $sliders=$qb->select('s.resim,s.aciklama,s.baslik,s.link')
  1533.             ->from('PanelBundle:Slider''s')
  1534.             ->join('s.dil''d')
  1535.             ->where('d.id='.$dil['id'])
  1536.             ->orderBy('s.sira')
  1537.             ->getQuery()
  1538.             ->setResultCacheId('slider')
  1539.             ->setResultCacheLifetime(60)
  1540.             ->getScalarResult();
  1541.         return $sliders;
  1542.     }
  1543.     public function site_sayfaIcerik($sDilgrup,$max=10){
  1544.         $em $this->em;
  1545.         $dil $this->session->get('dil');
  1546.         $qb $em->createQueryBuilder();
  1547.         $sayfa=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan,s.description')
  1548.             ->from('PanelBundle:Sayfa''s')
  1549.             ->join('s.dil''d')
  1550.             ->join('s.modul''m')
  1551.             ->where('d.id='.$dil['id'].' and s.dilgrup='.$sDilgrup)
  1552.             ->orderBy('s.sira','ASC')
  1553.             ->getQuery()
  1554.             ->setResultCacheId('sabit_sayfa')
  1555.             ->setResultCacheLifetime(60)
  1556.             ->getScalarResult();
  1557.         $sayfa $sayfa[0];
  1558.         if ($sayfa['kategori'] == 0) {
  1559.             //İçerikler
  1560.             $sayfaAlan explode(','$sayfa['alan']);
  1561.             $icerikalani = [];
  1562.             foreach ($sayfaAlan as $sA) {
  1563.                 $icerikalani[] = 't.'.$this->seo(str_replace(' '''$sA));
  1564.             }
  1565.             $qb $em->createQueryBuilder();
  1566.             $icerikler $qb->select(implode(',',$icerikalani).',t.dilgrup,t.kategoriId,d.id as did,t.sayfaId')
  1567.                 ->from('PanelBundle:' $sayfa['tabloAdi'], 't')
  1568.                 ->join('t.dil''d')
  1569.                 ->where('t.sayfaId=' $sayfa['dilgrup'] . ' and d.id=' $dil['id'])
  1570.                 ->addOrderBy('t.sira''ASC')
  1571.                 ->addOrderBy('t.id''DESC')
  1572.                 ->setMaxResults($max)
  1573.                 ->getQuery()
  1574.                 ->setResultCacheId('sabit_icerik')
  1575.                 ->setResultCacheLifetime(60)
  1576.                 ->getScalarResult();
  1577.         }
  1578.         $veri = [];
  1579.         $veri[]=$sayfa;
  1580.         $veri[]=$icerikler;
  1581.         return $veri;
  1582.     }
  1583.     public function site_sayfaIcerikDirek($sDilgrup,$max=10){
  1584.         $em $this->em;
  1585.         $dil $this->session->get('dil');
  1586.         $qb $em->createQueryBuilder();
  1587.         $sayfa=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan,s.description')
  1588.             ->from('PanelBundle:Sayfa''s')
  1589.             ->join('s.dil''d')
  1590.             ->join('s.modul''m')
  1591.             ->where('d.id='.$dil['id'].' and s.dilgrup='.$sDilgrup)
  1592.             ->orderBy('s.sira','ASC')
  1593.             ->getQuery()
  1594.             ->setResultCacheId('sabit_sayfa')
  1595.             ->setResultCacheLifetime(60)
  1596.             ->getScalarResult();
  1597.         $sayfa $sayfa[0];
  1598.         //İçerikler
  1599.         $sayfaAlan explode(','$sayfa['alan']);
  1600.         $icerikalani = [];
  1601.         foreach ($sayfaAlan as $sA) {
  1602.             $icerikalani[] = 't.'.$this->seo(str_replace(' '''$sA));
  1603.         }
  1604.         $qb $em->createQueryBuilder();
  1605.         $icerikler $qb->select(implode(',',$icerikalani).',t.dilgrup,t.kategoriId,d.id as did,t.sayfaId')
  1606.             ->from('PanelBundle:' $sayfa['tabloAdi'], 't')
  1607.             ->join('t.dil''d')
  1608.             ->where('t.sayfaId=' $sayfa['dilgrup'] . ' and d.id=' $dil['id'])
  1609.             ->addOrderBy('t.sira''ASC')
  1610.             ->addOrderBy('t.id''DESC')
  1611.             ->setMaxResults($max)
  1612.             ->getQuery()
  1613.             ->setResultCacheId('sabit_icerik')
  1614.             ->setResultCacheLifetime(60)
  1615.             ->getScalarResult();
  1616.         $veri = [];
  1617.         $veri[]=$sayfa;
  1618.         $veri[]=$icerikler;
  1619.         return $veri;
  1620.     }
  1621.     public function site_sayfaIcerikKategori($sDilgrup,$kat,$max=10){
  1622.         $em $this->em;
  1623.         $dil $this->session->get('dil');
  1624.         $qb $em->createQueryBuilder();
  1625.         $sayfa=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan,s.description')
  1626.             ->from('PanelBundle:Sayfa''s')
  1627.             ->join('s.dil''d')
  1628.             ->join('s.modul''m')
  1629.             ->where('d.id='.$dil['id'].' and s.dilgrup='.$sDilgrup)
  1630.             ->orderBy('s.sira','ASC')
  1631.             ->getQuery()
  1632.             ->setResultCacheId('sabit_sayfa')
  1633.             ->setResultCacheLifetime(60)
  1634.             ->getScalarResult();
  1635.         $sayfa $sayfa[0];
  1636.         //İçerikler
  1637.         $sayfaAlan explode(','$sayfa['alan']);
  1638.         $icerikalani = [];
  1639.         foreach ($sayfaAlan as $sA) {
  1640.             $icerikalani[] = 't.'.$this->seo(str_replace(' '''$sA));
  1641.         }
  1642.         $qb $em->createQueryBuilder();
  1643.         $icerikler $qb->select(implode(',',$icerikalani).',t.dilgrup,t.kategoriId,d.id as did,t.sayfaId')
  1644.             ->from('PanelBundle:' $sayfa['tabloAdi'], 't')
  1645.             ->join('t.dil''d')
  1646.             ->where('t.sayfaId=' $sayfa['dilgrup'] . ' and t.kategoriId=' $kat ' and d.id=' $dil['id'])
  1647.             ->addOrderBy('t.sira''ASC')
  1648.             ->addOrderBy('t.id''DESC')
  1649.             ->setMaxResults($max)
  1650.             ->getQuery()
  1651.             ->setResultCacheId('sabit_kategori')
  1652.             ->setResultCacheLifetime(60)
  1653.             ->getScalarResult();
  1654.         $veri = [];
  1655.         $veri[]=$sayfa;
  1656.         $veri[]=$icerikler;
  1657.         return $veri;
  1658.     }
  1659.     public function site_dilGetir(){
  1660.         $em $this->em;
  1661.         $dil $this->session->get('dil');
  1662.         $qb $em->createQueryBuilder();
  1663.         $diller=$qb->select('d.id,d.kisa,d.uzun')
  1664.             ->from('PanelBundle:Dil''d')
  1665.             ->where('d.aktif=1 and d.id not in('.$dil['id'].')')
  1666.             ->orderBy('d.aktif','DESC')
  1667.             ->getQuery()
  1668.             ->setResultCacheId('dil_getir')
  1669.             ->setResultCacheLifetime(60)
  1670.             ->getScalarResult();
  1671.         $veri='';
  1672.         foreach ($diller as $d){
  1673.             $veri .='<li><a href="'.$this->ayarlar('siteYolu').$d['kisa'].'/"><img class="lazy" data-src="/assets/flag/'.$d['kisa'].'.png" width="18" alt="tr"> '.$this->ceviri($d['uzun']).' ('.strtoupper($d['kisa']).')</a></li>';
  1674.         }
  1675.         return $veri;
  1676.     }
  1677.     public function site_popupGetir($sDilgrup){
  1678.         $em $this->em;
  1679.         $veri '';
  1680.         if($sDilgrup==0){
  1681.             if ($this->ayarlar('popup')!=''){
  1682.                 if(!$this->session->get('system_popup'.$sDilgrup)) {
  1683.                     $veri .= '<a href="/uploads/' $this->ayarlar('popup') . '" class="system_popup" data-fancybox style="display: none;"></a>';
  1684.                     $this->session->set('system_popup'.$sDilgrup,1);
  1685.                 }
  1686.             }
  1687.         }else{
  1688.             $qb $em->createQueryBuilder();
  1689.             $sayfa=$qb->select('s.popup')
  1690.                 ->from('PanelBundle:Sayfa''s')
  1691.                 ->where("s.dilgrup =".$sDilgrup)
  1692.                 ->getQuery()
  1693.                 ->setResultCacheId('popup')
  1694.                 ->setResultCacheLifetime(60)
  1695.                 ->getScalarResult();
  1696.             if ($sayfa[0]['popup']!=''){
  1697.                 if(!$this->session->get('system_popup'.$sDilgrup)) {
  1698.                     $veri .= '<a href="/uploads/' $sayfa[0]['popup'] . '" class="system_popup" data-fancybox style="display: none;"></a>';
  1699.                     $this->session->set('system_popup'.$sDilgrup,1);
  1700.                 }
  1701.             }
  1702.         }
  1703.         return $veri;
  1704.     }
  1705.     public function site_bannerGetir($sDilgrup){
  1706.         $em $this->em;
  1707.         $veri '';
  1708.         $qb $em->createQueryBuilder();
  1709.         $sayfa=$qb->select('s.bannerDurum,s.bannerUrl')
  1710.             ->from('PanelBundle:Sayfa''s')
  1711.             ->where("s.dilgrup =".$sDilgrup)
  1712.             ->getQuery()
  1713.             ->setResultCacheId('banner_getir')
  1714.             ->setResultCacheLifetime(60)
  1715.             ->getScalarResult();
  1716.         if ($sayfa[0]['bannerDurum']=='1'){
  1717.             $veri.=$this->timthumb($sayfa[0]['bannerUrl'],'uploads/',1920,'auto',1,70);
  1718.         }
  1719.         return $veri;
  1720.     }
  1721.     public function site_formGetir($formId){
  1722.         $em $this->em;
  1723.         $veri='';
  1724.         $qb $em->createQueryBuilder();
  1725.         $form=$qb->select('f.adi,f.tip,f.veri,f.alan,f.zorunlu')
  1726.             ->from('PanelBundle:Form''f')
  1727.             ->where("f.id =".$formId)
  1728.             ->getQuery()
  1729.             ->setResultCacheId('sabit_formlar')
  1730.             ->setResultCacheLifetime(60)
  1731.             ->getScalarResult();
  1732.         $tipler explode('~',$form[0]['tip']);
  1733.         $alanlar explode('~',$form[0]['alan']);
  1734.         $zorunlular explode('~',$form[0]['zorunlu']);
  1735.         $fVeriler explode('~',$form[0]['veri']);
  1736.         $veri .= '<form method="post" enctype="multipart/form-data" class="'.$this->seo($form[0]['adi']).'" action="'.$this->site_anaLink().'form-kayit">';
  1737.         $veri .= '<input type="hidden" name="id" value="'.$formId.'">';
  1738.         $veri .= '<div class="row">';
  1739.         foreach ($tipler as $key=>$tip){
  1740.             if ($zorunlular[$key]==1){$required='required'$zorunlu'<span style="color:#ff0000;">* ('.$this->ceviri('Zorunlu').')</span>';}else{ $required=''$zorunlu='';}
  1741.             if($tip=='input'){
  1742.                 $veri.='<div class="col-lg-6 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1743.                 $veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
  1744.                 $veri.='<input type="text" name="'.$this->seo($alanlar[$key]).'" class="form-control formInput" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
  1745.                 $veri.='</div>';
  1746.             }
  1747.             elseif($tip=='inputPhone'){
  1748.                 $veri.='<div class="col-lg-6 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1749.                 $veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
  1750.                 $veri.='<input data-inputmask="\'mask\': \'0(999) 999 99 99\'" type="text" name="'.$this->seo($alanlar[$key]).'" class="form-control formInput" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
  1751.                 $veri.='</div>';
  1752.             }
  1753.             elseif($tip=='inputEmail'){
  1754.                 $veri.='<div class="col-lg-6 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1755.                 $veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
  1756.                 $veri.='<input type="email" name="'.$this->seo($alanlar[$key]).'" class="form-control formInput" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
  1757.                 $veri.='</div>';
  1758.             }
  1759.             elseif($tip=='inputNumeric'){
  1760.                 $veri.='<div class="col-lg-6 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1761.                 $veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
  1762.                 $veri.='<input type="text" name="'.$this->seo($alanlar[$key]).'" class="form-control formInput numeric" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
  1763.                 $veri.='</div>';
  1764.             }
  1765.             elseif($tip=='inputPrice'){
  1766.                 $veri.='<div class="col-lg-6 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1767.                 $veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
  1768.                 $veri.='<input type="text" name="'.$this->seo($alanlar[$key]).'" class="form-control formInput priceFormat" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
  1769.                 $veri.='</div>';
  1770.             }
  1771.             elseif($tip=='inputDate'){
  1772.                 $veri.='<div class="col-lg-6 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1773.                 $veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
  1774.                 $veri.='<input data-inputmask="\'mask\': \'99/99/9999\'" type="text" name="'.$this->seo($alanlar[$key]).'" class="form-control formInput" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
  1775.                 $veri.='</div>';
  1776.             }
  1777.             elseif($tip=='textarea'){
  1778.                 $veri.='<div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1779.                 $veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).' '.$zorunlu.':</b><br>';
  1780.                 $veri.='<textarea class="form-control formTextarea" name="'.$this->seo($alanlar[$key]).'" rows="3" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'></textarea>';
  1781.                 $veri.='</div>';
  1782.             }
  1783.             elseif($tip=='select'){
  1784.                 $veri.='<div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1785.                 $veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).' '.$zorunlu.':</b><br>';
  1786.                 $veri.='<select class="form-control formSelect" '.$required.' name="'.$this->seo($alanlar[$key]).'">';
  1787.                 $veri.='<option value="">'.$this->ceviri($alanlar[$key].' Seçiniz').'</option>';
  1788.                 $icVeriler explode(',',$fVeriler[$key]);
  1789.                 foreach ($icVeriler as $iV){
  1790.                     $veri.='<option value="'.$this->ceviri($iV).'">'.$this->ceviri($iV).'</option>';
  1791.                 }
  1792.                 $veri.='</select>';
  1793.                 $veri.='</div>';
  1794.             }
  1795.             elseif($tip=='checkbox'){
  1796.                 $veri.='<div class="col-lg-12 col-md-12 col-sm-12 formCheck" style="margin-top: 10px;">';
  1797.                 $veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).' '.$zorunlu.':</b><br>';
  1798.                 $veri.='<div class="row">';
  1799.                 $icVeriler explode(',',$fVeriler[$key]);
  1800.                 foreach ($icVeriler as $keyCheck=>$iV){
  1801.                     $veri.=' <div class="col-lg-4 col-md-6 col-sm-12" style="margin-top: 3px;">
  1802.                                   <input type="checkbox" class="'.$this->seo($alanlar[$key]).'" name="'.$this->seo($alanlar[$key]).'[]" value="'.$this->ceviri($iV).'" id="'.$this->seo($iV).$keyCheck.'" '.$required.'>
  1803.                                   <label for="'.$this->seo($iV).$keyCheck.'">
  1804.                                     '.$this->ceviri($iV).
  1805.                                   </label>
  1806.                               </div>';
  1807.                 }
  1808.                 $veri.='</div>';
  1809.                 $veri.='</div>';
  1810.             }
  1811.             elseif($tip=='radio'){
  1812.                 $veri.='<div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1813.                 $veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).' '.$zorunlu.':</b><br>';
  1814.                 $veri.='<div class="row">';
  1815.                 $icVeriler explode(',',$fVeriler[$key]);
  1816.                 foreach ($icVeriler as $keyRadio=>$iV){
  1817.                     $veri.=' <div class="col-lg-4 col-md-6 col-sm-12 formRadio" style="margin-top: 3px;">
  1818.                                  <input type="radio" value="'.$this->ceviri($iV).'" class="'.$this->seo($alanlar[$key]).'" name="'.$this->seo($alanlar[$key]).'" id="'.$this->seo($iV).$keyRadio.'" '.$required.'>
  1819.                                   <label for="'.$this->seo($iV).$keyRadio.'">
  1820.                                     '.$this->ceviri($iV).
  1821.                                   </label>
  1822.                               </div>';
  1823.                 }
  1824.                 $veri.='</div>';
  1825.                 $veri.='</div>';
  1826.             }
  1827.             elseif($tip=='file'){
  1828.                 $veri.='<div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1829.                 $veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).' '.$zorunlu.':</b><br>';
  1830.                 $veri.='<input type="file" class="form-control fromFile" id="'.$this->seo($alanlar[$key]).'" name="'.$this->seo($alanlar[$key]).'" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
  1831.                 $veri.='</div>';
  1832.             }
  1833.         }
  1834.      /*   $veri.='<div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1835.         $veri.='<div class="g-recaptcha" data-sitekey="6LcPodIUAAAAAPZUaopalstXIH7ut3spF9N5CgFz"></div>';
  1836.         $veri.='</div>';*/
  1837.         $veri.='<div class="col-lg-12 col-md-12 col-sm-12 hata_'.$this->seo($form[0]['adi']).'" style="margin-top: 10px;">';
  1838.         $veri.='</div>';
  1839.         $veri.='<div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 10px;">';
  1840.         $veri.='<button class="formBtn" type="button" onclick="formKayit(\''.$this->seo($form[0]['adi']).'\','.$form[0]['id'].');">'.$this->ceviri('Gönder').'</button>';
  1841.         $veri.='</div>';
  1842.         $veri .= '</div>';
  1843.         $veri .= '</form>';
  1844.         return $veri;
  1845.     }
  1846.     function site_kategoriGeriLi($ustid,$dil=1){
  1847.         $em $this->em;
  1848.         $qb $em->createQueryBuilder();
  1849.         $kategoriler=$qb->select('k.id,k.dilgrup,k.adi,k.seourl,k.ustid,k.adi')
  1850.             ->from('PanelBundle:Kategori''k')
  1851.             ->join('k.dil','d')
  1852.             ->where('k.dilgrup='.$ustid.' and d.id='.$dil)
  1853.             ->groupBy('k.dilgrup')
  1854.             ->orderBy('k.sira','ASC')
  1855.             ->getQuery()
  1856.             ->setResultCacheId('katgerili')
  1857.             ->setResultCacheLifetime(60)
  1858.             ->getScalarResult();
  1859.         $veriler='';
  1860.         foreach ($kategoriler as $k){
  1861.             $veriler.=$this->site_kategoriGeriLi($k['ustid'],$dil).$k['adi'].'#'.$this->altKategoriGeriYaz($k['ustid'],$dil).$k['seourl'].'~';
  1862.         }
  1863.         return $veriler;
  1864.     }
  1865.     public function site_sayfaKategori($sDilgrup,$max=10){
  1866.         $em $this->em;
  1867.         $dil $this->session->get('dil');
  1868.         $qb $em->createQueryBuilder();
  1869.         $sayfa=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan,s.description')
  1870.             ->from('PanelBundle:Sayfa''s')
  1871.             ->join('s.dil''d')
  1872.             ->join('s.modul''m')
  1873.             ->where('d.id='.$dil['id'].' and s.dilgrup='.$sDilgrup)
  1874.             ->orderBy('s.sira','ASC')
  1875.             ->getQuery()
  1876.             ->setResultCacheId('sayfa_kategori')
  1877.             ->setResultCacheLifetime(60)
  1878.             ->getScalarResult();
  1879.         $sayfa $sayfa[0];
  1880.         if ($sayfa['kategori'] == 1) {
  1881.             //İçerikler
  1882.             $qb $em->createQueryBuilder();
  1883.             $kategoriler $qb->select('k.adi,k.ustid,k.resim,k.dilgrup,k.seourl')
  1884.                 ->from('PanelBundle:Kategori''k')
  1885.                 ->join('k.dil''d')
  1886.                 ->where('k.sayfaId=' $sayfa['dilgrup'] . ' and d.id=' $dil['id'])
  1887.                 ->addOrderBy('k.sira''ASC')
  1888.                 ->addOrderBy('k.id''DESC')
  1889.                 ->setMaxResults($max)
  1890.                 ->getQuery()
  1891.                 ->setResultCacheId('sayfa_kategoriic')
  1892.                 ->setResultCacheLifetime(60)
  1893.                 ->getScalarResult();
  1894.         }
  1895.         $veri = [];
  1896.         $veri[]=$sayfa;
  1897.         $veri[]=$kategoriler;
  1898.         return $veri;
  1899.     }
  1900.     public function site_urunKategori($dilgrup,$max=10){
  1901.         $em $this->em;
  1902.         $dil $this->session->get('dil');
  1903.             $qb $em->createQueryBuilder();
  1904.             $kategoriler $qb->select('k.adi,k.ustid,k.resim,k.dilgrup,k.seourl')
  1905.                 ->from('PanelBundle:UrunKategori''k')
  1906.                 ->join('k.dil''d')
  1907.                 ->where('k.ustid='.$dilgrup.' and d.id=' $dil['id'])
  1908.                 ->addOrderBy('k.sira''ASC')
  1909.                 ->addOrderBy('k.id''DESC')
  1910.                 ->setMaxResults($max)
  1911.                 ->getQuery()
  1912.                 ->setResultCacheId('sayfa_urunKategori')
  1913.                 ->setResultCacheLifetime(60)
  1914.                 ->getScalarResult();
  1915.         return $kategoriler;
  1916.     }
  1917.     public function site_formVeriGetir($formid){
  1918.         $em $this->em;
  1919.         $qb $em->createQueryBuilder();
  1920.         $veri=$qb->select('fk.tarih,fk.kayit')
  1921.             ->from('PanelBundle:FormKayit''fk')
  1922.             ->join('fk.form''f')
  1923.             ->where('f.id='.$formid)
  1924.             ->orderBy('fk.tarih','DESC')
  1925.             ->getQuery()
  1926.             ->setResultCacheId('formVerisi')
  1927.             ->setResultCacheLifetime(60)
  1928.             ->getScalarResult();
  1929.         return $veri;
  1930.     }
  1931.     function ozellikBul($dilgrup,$selected="",$kendisi=0){
  1932.         $em $this->em;
  1933.         $qb $em->createQueryBuilder();
  1934.         $ozellikler=$qb->select('k.id,k.dilgrup,k.adi')
  1935.             ->from('PanelBundle:UrunOzellik''k')
  1936.             ->where('k.ustid='.$dilgrup)
  1937.             ->groupBy('k.dilgrup')
  1938.             ->orderBy('k.sira','ASC')
  1939.             ->orderBy('k.id','ASC')
  1940.             ->getQuery()
  1941.             ->getScalarResult();
  1942.         $veriler='';
  1943.         if ($selected!=""){
  1944.             $gelenOzellikler explode(',',substr($selected,0,strlen($selected)-1));
  1945.         }
  1946.         foreach ($ozellikler as $k){
  1947.             $checked='';
  1948.             if ($selected!="") {
  1949.                 if (in_array($k['dilgrup'], $gelenOzellikler)) {
  1950.                     $checked 'checked';
  1951.                 }
  1952.             }
  1953.             $disabled='';
  1954.             if($kendisi==$k['dilgrup']){
  1955.                 $disabled 'disabled';
  1956.             }
  1957.             $veriler.=' <div class="col-md-6">
  1958.                             <div class="form-group row">
  1959.                                 <label for="example-text-input" class="col-sm-6 col-form-label">'.$k['adi'].' :</label>
  1960.                                 <div class="col-sm-6">
  1961.                                     <input type="radio" name="ozellik'.$dilgrup.'" '.$checked.' class="ozellik" id="ozellik'.$k['dilgrup'].'" switch="bool" value="'.$k['dilgrup'].'">
  1962.                                     <label for="ozellik'.$k['dilgrup'].'" data-on-label="Var" data-off-label="Yok"></label>
  1963.                                 </div>
  1964.                             </div>
  1965.                         </div>';
  1966.         }
  1967.         return $veriler;
  1968.     }
  1969.     public function site_urunler($kategori="",$firsat="",$notInUrun="",$max=10){
  1970.         $em $this->em;
  1971.         $dil $this->session->get('dil');
  1972.         $sql '';
  1973.         if($kategori!=""){
  1974.             $sql.=' and u.kategoriId in('.$kategori.')';
  1975.         }
  1976.         if($firsat!=""){
  1977.             $sql.=" and u.firsatlar like '%$firsat,%' ";
  1978.         }
  1979.         if($notInUrun!=""){
  1980.             $sql.=" and u.dilgrup not in ($notInUrun) ";
  1981.         }
  1982.         $qb $em->createQueryBuilder();
  1983.         $urunler $qb->select('u.stok,u.seourl,u.adi,u.kategoriId,u.markaId,u.resimler,u.resimlerBaslik,u.indirim,u.indirimTip,u.indirimDurum,u.paraBirimId,u.varyantDurum,u.dilgrup,u.minSiparis, CASE WHEN u.kdvDurum = 0 THEN (((u.fiyat*u.kdv)/100)+u.fiyat) ELSE u.fiyat END as fiyat,u.kargoFiyat')
  1984.             ->from('PanelBundle:Urun''u')
  1985.             ->join('u.dil''d')
  1986.             ->where('d.id='.$dil['id'].' and u.gosterim=1'.$sql)
  1987.             ->addOrderBy('u.id''DESC')
  1988.             ->setMaxResults($max)
  1989.             ->getQuery()
  1990.             ->setResultCacheId('site_urunler')
  1991.             ->setResultCacheLifetime(60)
  1992.             ->getScalarResult();
  1993.         return $urunler;
  1994.     }
  1995.     public function site_urunler2($kategori="",$marka="",$max=10){
  1996.         $em $this->em;
  1997.         $dil $this->session->get('dil');
  1998.         $sql '';
  1999.         if($kategori!=""){
  2000.             $xKategori "";
  2001.             $kategori explode(',',$kategori);
  2002.             foreach ($kategori as $k){
  2003.                 $xKategori.= $this->urun_altKategoriGeriIdYaz($k);
  2004.             }
  2005.             $xKategori substr($xKategori,0,strlen($xKategori)-1);
  2006.             $sql.=' and u.kategoriId in('.$xKategori.')';
  2007.         }
  2008.         if($marka!=""){
  2009.             $sql.=' and u.markaId in('.$marka.')';
  2010.         }
  2011.         $qb $em->createQueryBuilder();
  2012.         $urunler $qb->select('u.seourl,u.adi,u.kategoriId,u.markaId,u.resimler,u.resimlerBaslik,u.indirim,u.indirimTip,u.indirimDurum,u.paraBirimId,u.varyantDurum,u.dilgrup,u.minSiparis, CASE WHEN u.kdvDurum = 0 THEN (((u.fiyat*u.kdv)/100)+u.fiyat) ELSE u.fiyat END as fiyat')
  2013.             ->from('PanelBundle:Urun''u')
  2014.             ->join('u.dil''d')
  2015.             ->where('d.id='.$dil['id'].' and u.gosterim=1'.$sql)
  2016.             ->addOrderBy('u.id''DESC')
  2017.             ->setMaxResults($max)
  2018.             ->getQuery()
  2019.             ->setResultCacheId('site_urunler')
  2020.             ->setResultCacheLifetime(60)
  2021.             ->getScalarResult();
  2022.         return $urunler;
  2023.     }
  2024.     function urun_kategoriGeriLi($ustid,$dil=1){
  2025.         $em $this->em;
  2026.         $qb $em->createQueryBuilder();
  2027.         $kategoriler=$qb->select('k.id,k.dilgrup,k.adi,k.seourl,k.ustid,k.adi')
  2028.             ->from('PanelBundle:UrunKategori''k')
  2029.             ->join('k.dil','d')
  2030.             ->where('k.dilgrup='.$ustid.' and d.id='.$dil)
  2031.             ->groupBy('k.dilgrup')
  2032.             ->orderBy('k.sira','ASC')
  2033.             ->getQuery()
  2034.             ->setResultCacheId('katgerili_urun')
  2035.             ->setResultCacheLifetime(60)
  2036.             ->getScalarResult();
  2037.         $veriler='';
  2038.         foreach ($kategoriler as $k){
  2039.             $veriler.=$this->urun_kategoriGeriLi($k['ustid'],$dil).$k['adi'].'#'.$this->urun_altKategoriGeriYaz($k['ustid'],$dil).$k['seourl'].'~';
  2040.         }
  2041.         return $veriler;
  2042.     }
  2043.     public function urunVaryantGetir($dilgrup){
  2044.         $em $this->em;
  2045.         $dil $this->session->get('dil');
  2046.         $qb $em->createQueryBuilder();
  2047.         $varyantlar=$qb->select('v.dilgrup,v.varyantlar')
  2048.             ->from('PanelBundle:UrunVaryantlar''v')
  2049.             ->join('v.dil','d')
  2050.             ->where('v.urunId='.$dilgrup.' and d.id='.$dil['id'])
  2051.             ->orderBy('v.id','DESC')
  2052.             ->getQuery()
  2053.             ->setResultCacheId('urun_varyantlar')
  2054.             ->setResultCacheLifetime(60)
  2055.             ->getScalarResult();
  2056.         $secenekler = [];
  2057.         foreach ($varyantlar as $varyant){
  2058.              $icVaryantlar explode('~',$varyant['varyantlar']);
  2059.             foreach ($icVaryantlar as $icVaryant) {
  2060.                 $ic2Varyant explode('=',$icVaryant);
  2061.                 if (@!in_array($ic2Varyant[1], $secenekler[$ic2Varyant[0]])) {
  2062.                     $secenekler[$ic2Varyant[0]][$this->varyantDetay($ic2Varyant[1],'sira')]=$ic2Varyant[1];
  2063.                 }
  2064.              }
  2065.         }
  2066.         return $secenekler;
  2067.     }
  2068.     public function kategoriler_altKategoriBul($dilgrup){
  2069.         $dil $this->session->get('dil');
  2070.       
  2071.         $em $this->em;
  2072.         $qb $em->createQueryBuilder();
  2073.         $kategoriler=$qb->select("e.adi,e.seourl,e.ustid,e.dilgrup")
  2074.             ->from('PanelBundle:UrunKategori''e')
  2075.             ->join('e.dil','d')
  2076.             ->where('e.ustid='.$dilgrup.' and d.id='.$dil['id'])
  2077.             ->getQuery()
  2078.             ->setResultCacheId('kategoriler_kategoriBul')
  2079.             ->setResultCacheLifetime(60)
  2080.             ->getScalarResult();
  2081.         return $kategoriler;
  2082.     }
  2083.     public function sepetSay($kullaniciId){
  2084.         $em $this->em;
  2085.         if(empty($kullaniciId)) {
  2086.             if ($this->session->get('sepet')!='') {
  2087.                 return count($this->session->get('sepet'));
  2088.             }else{
  2089.                 return 0;
  2090.             }
  2091.         }
  2092.         else{
  2093.             $qb $em->createQueryBuilder();
  2094.             $sepetSay=$qb->select("count(s.id) as sayi")
  2095.                 ->from('PanelBundle:Sepet''s')
  2096.                 ->where('s.kullaniciId='.$kullaniciId)
  2097.                 ->getQuery()
  2098.                 ->setResultCacheId('sepetSay')
  2099.                 ->setResultCacheLifetime(60)
  2100.                 ->getScalarResult();
  2101.             return $sepetSay[0]['sayi'];
  2102.         }
  2103.     }
  2104.     public function favoriSay($kullaniciId=0){
  2105.         $em $this->em;
  2106.         $qb $em->createQueryBuilder();
  2107.         $sepetSay=$qb->select("count(s.id) as sayi")
  2108.             ->from('PanelBundle:Favori''s')
  2109.             ->where('s.kullaniciId='.$kullaniciId)
  2110.             ->getQuery()
  2111.             ->setResultCacheId('favoriSay')
  2112.             ->setResultCacheLifetime(60)
  2113.             ->getScalarResult();
  2114.         return $sepetSay[0]['sayi'];
  2115.     }
  2116.     public function yorumSay($dilgrup){
  2117.         $em $this->em;
  2118.         $qb $em->createQueryBuilder();
  2119.         $sepetSay=$qb->select("count(s.id) as sayi")
  2120.             ->from('PanelBundle:Yorum''s')
  2121.             ->where('s.urunId='.$dilgrup)
  2122.             ->getQuery()
  2123.             ->setResultCacheId('yorumSay')
  2124.             ->setResultCacheLifetime(60)
  2125.             ->getScalarResult();
  2126.         return $sepetSay[0]['sayi'];
  2127.     }
  2128.     public function yorumSay2($kullanici=0){
  2129.         $em $this->em;
  2130.         $qb $em->createQueryBuilder();
  2131.         $sepetSay=$qb->select("count(s.id) as sayi")
  2132.             ->from('PanelBundle:Yorum''s')
  2133.             ->where('s.kullaniciId='.$kullanici)
  2134.             ->getQuery()
  2135.             ->setResultCacheId('yorumSay2')
  2136.             ->setResultCacheLifetime(60)
  2137.             ->getScalarResult();
  2138.         return $sepetSay[0]['sayi'];
  2139.     }
  2140.     public function yorumGetir($dilgrup){
  2141.         $em $this->em;
  2142.         $qb $em->createQueryBuilder();
  2143.         $sepetSay=$qb->select("s.puan,s.baslik,s.yorum,s.tarih")
  2144.             ->from('PanelBundle:Yorum''s')
  2145.             ->where('s.urunId='.$dilgrup.' and s.durum=1')
  2146.             ->orderBy('s.tarih','DESC')
  2147.             ->getQuery()
  2148.             ->setResultCacheId('yorumGetir')
  2149.             ->setResultCacheLifetime(60)
  2150.             ->getScalarResult();
  2151.         return $sepetSay;
  2152.     }
  2153.     public function puanBul($dilgrup){
  2154.         $em $this->em;
  2155.         $qb $em->createQueryBuilder();
  2156.         $yorumlar=$qb->select("s.puan")
  2157.             ->from('PanelBundle:Yorum''s')
  2158.             ->where('s.urunId='.$dilgrup.' and s.durum=1')
  2159.             ->orderBy('s.tarih','DESC')
  2160.             ->getQuery()
  2161.             ->setResultCacheId('puanBul')
  2162.             ->setResultCacheLifetime(60)
  2163.             ->getScalarResult();
  2164.         $toplampuan 0;
  2165.         foreach ($yorumlar as $yorum){
  2166.             $toplampuan += $yorum['puan'];
  2167.         }
  2168.         if($toplampuan>0) {
  2169.             return ceil($toplampuan count($yorumlar));
  2170.         }else{
  2171.             return 0;
  2172.         }
  2173.     }
  2174.     public function sepetBul($kullaniciId){
  2175.         $em $this->em;
  2176.             $qb $em->createQueryBuilder();
  2177.             $sepet=$qb->select("s.adet,s.urunId,s.varyantId,s.id,s.aciklama")
  2178.                 ->from('PanelBundle:Sepet''s')
  2179.                 ->where('s.kullaniciId='.$kullaniciId)
  2180.                 ->getQuery()
  2181.                 ->setResultCacheId('sepetBul')
  2182.                 ->setResultCacheLifetime(60)
  2183.                 ->getScalarResult();
  2184.             return $sepet;
  2185.     }
  2186.     public function sepetIndirimi(){
  2187.         $em $this->em;
  2188.         $dil $this->session->get('dil');
  2189.         $qb $em->createQueryBuilder();
  2190.         $sepetIndirimi=$qb->select("s.durum,s.indirimTip,s.indirim,s.indirimTip,s.tutar")
  2191.             ->from('PanelBundle:SepetIndirimi''s')
  2192.             ->where('s.dil='.$dil['id'])
  2193.             ->getQuery()
  2194.             ->setResultCacheId('sepetIndirim')
  2195.             ->setResultCacheLifetime(60)
  2196.             ->getScalarResult();
  2197.         return $sepetIndirimi[0];
  2198.     }
  2199.     public function ucretsizKargo(){
  2200.         $em $this->em;
  2201.         $dil $this->session->get('dil');
  2202.         $qb $em->createQueryBuilder();
  2203.         $sepetIndirimi=$qb->select("s.durum,s.tutar")
  2204.             ->from('PanelBundle:UcretsizKargo''s')
  2205.             ->where('s.dil='.$dil['id'])
  2206.             ->getQuery()
  2207.             ->setResultCacheId('ucresizKargo')
  2208.             ->setResultCacheLifetime(60)
  2209.             ->getScalarResult();
  2210.         return $sepetIndirimi[0];
  2211.     }
  2212.     public function eBultenBul($eposta){
  2213.         $em $this->em;
  2214.         $qb $em->createQueryBuilder();
  2215.         $bultenBak $qb->select('b.id')
  2216.             ->from('PanelBundle:Bulten''b')
  2217.             ->where("b.email='$eposta'")
  2218.             ->getQuery()
  2219.             ->setResultCacheId('ebultenbul')
  2220.             ->setResultCacheLifetime(60)
  2221.             ->getScalarResult();
  2222.         return count($bultenBak);
  2223.     }
  2224.     public function favoriBak($urun,$kullanici){
  2225.         $em $this->em;
  2226.         $qb $em->createQueryBuilder();
  2227.         $favoriBak $qb->select('f.id')
  2228.             ->from('PanelBundle:Favori''f')
  2229.             ->where("f.urunId=".$urun." and f.kullaniciId=".$kullanici)
  2230.             ->getQuery()
  2231.             ->setResultCacheId('favoribak')
  2232.             ->setResultCacheLifetime(60)
  2233.             ->getScalarResult();
  2234.         return count($favoriBak);
  2235.     }
  2236.     public function dilBelirle(){
  2237.         if($this->session->get('dil')=='') {
  2238.             $em $this->em;
  2239.             $qb $em->createQueryBuilder();
  2240.             $dd $qb->select("e.id")
  2241.                 ->from('PanelBundle:Dil''e')
  2242.                 ->where('e.aktif=1 and e.varsayilan=1')
  2243.                 ->getQuery()
  2244.                 ->setResultCacheId('varsayilan_dil')
  2245.                 ->setResultCacheLifetime(60)
  2246.                 ->getScalarResult();
  2247.             $this->session->set('dil',$dd[0]);
  2248.         }
  2249.         return '';
  2250.     }
  2251.     public function varsayilanDil(){
  2252.         $em $this->em;
  2253.         $qb $em->createQueryBuilder();
  2254.         $dd $qb->select("e.id,e.kisa,e.uzun")
  2255.             ->from('PanelBundle:Dil''e')
  2256.             ->where('e.aktif=1 and e.varsayilan=1')
  2257.             ->getQuery()
  2258.             ->setResultCacheId('varsayilan_dilll')
  2259.             ->setResultCacheLifetime(60)
  2260.             ->getScalarResult();
  2261.         return $dd[0];
  2262.     }
  2263.     public function favoriListem($kullanici){
  2264.         $em $this->em;
  2265.         $qb $em->createQueryBuilder();
  2266.         $favoriler $qb->select('f.id,f.urunId')
  2267.             ->from('PanelBundle:Favori''f')
  2268.             ->where("f.kullaniciId=".$kullanici)
  2269.             ->getQuery()
  2270.             ->setResultCacheId('favorilistesi')
  2271.             ->setResultCacheLifetime(60)
  2272.             ->getScalarResult();
  2273.         return $favoriler;
  2274.     }
  2275.     public function urunDetay($dilgrup){
  2276.         $em $this->em;
  2277.         $dil $this->session->get('dil');
  2278.         $qb $em->createQueryBuilder();
  2279.         $urunler $qb->select('u.urunkodu,u.seourl,u.adi,u.kategoriId,u.markaId,u.resimler,u.resimlerBaslik,u.indirim,u.indirimTip,u.indirimDurum,u.paraBirimId,u.varyantDurum,u.dilgrup,u.minSiparis, CASE WHEN u.kdvDurum = 0 THEN (((u.fiyat*u.kdv)/100)+u.fiyat) ELSE u.fiyat END as fiyat,u.metin,u.alis')
  2280.             ->from('PanelBundle:Urun''u')
  2281.             ->join('u.dil''d')
  2282.             ->where('d.id='.$dil['id'].' and u.dilgrup='.$dilgrup)
  2283.             ->addOrderBy('u.id''DESC')
  2284.             ->getQuery()
  2285.             ->setResultCacheId('urundetayy')
  2286.             ->setResultCacheLifetime(60)
  2287.             ->getScalarResult();
  2288.         return $urunler[0];
  2289.     }
  2290.     public function urunDetayKod($urunkodu){
  2291.         $em $this->em;
  2292.         $qb $em->createQueryBuilder();
  2293.         $urunler $qb->select('u.urunkodu,u.seourl,u.adi,u.kategoriId,u.resimler,u.resimlerBaslik,u.indirim,u.indirimTip,u.indirimDurum,u.paraBirimId,u.varyantDurum,u.dilgrup,u.minSiparis, CASE WHEN u.kdvDurum = 0 THEN (((u.fiyat*u.kdv)/100)+u.fiyat) ELSE u.fiyat END as fiyat')
  2294.             ->from('PanelBundle:Urun''u')
  2295.             ->join('u.dil''d')
  2296.             ->where("d.id=1 and u.urunkodu='$urunkodu'")
  2297.             ->addOrderBy('u.id''DESC')
  2298.             ->getQuery()
  2299.             ->setResultCacheId('urundetayy')
  2300.             ->setResultCacheLifetime(60)
  2301.             ->getScalarResult();
  2302.         return $urunler[0];
  2303.     }
  2304.     public function yorumlarim($siparisNo,$urun){
  2305.         $em $this->em;
  2306.         $qb $em->createQueryBuilder();
  2307.         $yorumlarim $qb->select('y.id,y.puan,y.baslik,y.yorum,y.durum,y.urunId,y.tarih')
  2308.             ->from('PanelBundle:Yorum''y')
  2309.             ->where("y.siparisNo=".$siparisNo." and y.urunId=".$urun)
  2310.             ->getQuery()
  2311.             ->setResultCacheId('yorumlarim')
  2312.             ->setResultCacheLifetime(60)
  2313.             ->getScalarResult();
  2314.         return $yorumlarim[0];
  2315.     }
  2316.     public function adreslerim($kullanici){
  2317.         $em $this->em;
  2318.         $qb $em->createQueryBuilder();
  2319.         $adreslerim $qb->select('a.id,a.adres,a.ad,a.soyad,a.adresAdi,a.telefon,a.ulkeId,a.il,a.ilce,a.varsayilan')
  2320.             ->from('PanelBundle:Adres''a')
  2321.             ->where("a.kullaniciId=".$kullanici)
  2322.             ->orderBy('a.varsayilan','DESC')
  2323.             ->getQuery()
  2324.             ->setResultCacheId('adresler')
  2325.             ->setResultCacheLifetime(60)
  2326.             ->getScalarResult();
  2327.         return $adreslerim;
  2328.     }
  2329.     public function adresBul($id){
  2330.         $em $this->em;
  2331.         $qb $em->createQueryBuilder();
  2332.         $adres $qb->select('a.id,a.adres,a.ad,a.soyad,a.adresAdi,a.telefon,a.ulkeId,a.il,a.ilce')
  2333.             ->from('PanelBundle:Adres''a')
  2334.             ->where("a.id=".$id)
  2335.             ->getQuery()
  2336.             ->setResultCacheId('adresBul')
  2337.             ->setResultCacheLifetime(60)
  2338.             ->getScalarResult();
  2339.         return $adres[0];
  2340.     }
  2341.     public function ulkeDetay($id,$alan){
  2342.         $em $this->em;
  2343.         $qb $em->createQueryBuilder();
  2344.         $ulke $qb->select('u.'.$alan)
  2345.             ->from('PanelBundle:Ulke''u')
  2346.             ->where("u.id=".$id)
  2347.             ->getQuery()
  2348.             ->setResultCacheId('ulkeDetay')
  2349.             ->setResultCacheLifetime(60)
  2350.             ->getScalarResult();
  2351.         return $ulke[0][$alan];
  2352.     }
  2353.     public function sehirDetay($id,$alan){
  2354.         $em $this->em;
  2355.         if(intval($id)==0){
  2356.             return $id;
  2357.         }else {
  2358.             $qb $em->createQueryBuilder();
  2359.             $sehir $qb->select('u.' $alan)
  2360.                 ->from('PanelBundle:Sehir''u')
  2361.                 ->where("u.id=" $id)
  2362.                 ->getQuery()
  2363.                 ->setResultCacheId('sehirDetay')
  2364.                 ->setResultCacheLifetime(60)
  2365.                 ->getScalarResult();
  2366.             return $sehir[0][$alan];
  2367.         }
  2368.     }
  2369.     public function ilceDetay($id,$alan){
  2370.         $em $this->em;
  2371.         if(intval($id)==0){
  2372.             return $id;
  2373.         }else {
  2374.             $qb $em->createQueryBuilder();
  2375.             $ilce $qb->select('u.' $alan)
  2376.                 ->from('PanelBundle:Ilce''u')
  2377.                 ->where("u.id=" $id)
  2378.                 ->getQuery()
  2379.                 ->setResultCacheId('ilceDetay')
  2380.                 ->setResultCacheLifetime(60)
  2381.                 ->getScalarResult();
  2382.             return $ilce[0][$alan];
  2383.         }
  2384.     }
  2385.     public function uyeDetay($id,$alan){
  2386.         $em $this->em;
  2387.         $qb $em->createQueryBuilder();
  2388.         $user $qb->select('u.' $alan)
  2389.             ->from('PanelBundle:User''u')
  2390.             ->where("u.id=" $id)
  2391.             ->getQuery()
  2392.             ->setResultCacheId('userDetay')
  2393.             ->setResultCacheLifetime(60)
  2394.             ->getScalarResult();
  2395.         return $user[0][$alan];
  2396.     }
  2397.     public function faturaBilgileriGetir($id){
  2398.         $em $this->em;
  2399.         $qb $em->createQueryBuilder();
  2400.         $user $qb->select('f.id,f.tip,f.tc,f.adsoyad,f.unvan,f.vd,f.vn,f.adres')
  2401.             ->from('PanelBundle:Fatura''f')
  2402.             ->where("f.kullaniciId=" $id)
  2403.             ->getQuery()
  2404.             ->setResultCacheId('faturaBilgisi')
  2405.             ->setResultCacheLifetime(60)
  2406.             ->getScalarResult();
  2407.         return $user[0];
  2408.     }
  2409.     public function faturaBilBul($id){
  2410.         $em $this->em;
  2411.         $qb $em->createQueryBuilder();
  2412.         $user $qb->select('f.id,f.tip,f.tc,f.adsoyad,f.unvan,f.vd,f.vn,f.adres')
  2413.             ->from('PanelBundle:Fatura''f')
  2414.             ->where("f.id=" $id)
  2415.             ->getQuery()
  2416.             ->setResultCacheId('faturaBilgisiBul')
  2417.             ->setResultCacheLifetime(60)
  2418.             ->getScalarResult();
  2419.         return $user[0];
  2420.     }
  2421.     public function sepetSil($kullanici){
  2422.         $em $this->em;
  2423.         $qb=$em->createQueryBuilder();
  2424.         $qb->delete('PanelBundle:Sepet''s')
  2425.             ->where('s.kullaniciId='.$kullanici)
  2426.             ->getQuery()
  2427.             ->execute();
  2428.         return "";
  2429.     }
  2430.     public function siparisIcerik($siparisId){
  2431.         $em $this->em;
  2432.         $qb $em->createQueryBuilder();
  2433.         $icerikler $qb->select('s.urunId,s.varyantId,s.adet,s.fiyat,s.durum,s.komisyon,s.n11,s.paraBirimId,s.hb,s.aciklama')
  2434.             ->from('PanelBundle:SiparislerIcerik''s')
  2435.             ->where("s.siparisId=" $siparisId)
  2436.             ->getQuery()
  2437.             ->setResultCacheId('siparisIcerik')
  2438.             ->setResultCacheLifetime(60)
  2439.             ->getScalarResult();
  2440.         return $icerikler;
  2441.     }
  2442.     public function genelSepetToplami($siparisId){
  2443.         $em $this->em;
  2444.         $qb $em->createQueryBuilder();
  2445.         $icerikler $qb->select('s.fiyat,s.paraBirimId')
  2446.             ->from('PanelBundle:SiparislerIcerik''s')
  2447.             ->where("s.siparisId=" $siparisId)
  2448.             ->getQuery()
  2449.             ->setResultCacheId('siparisIcerik2')
  2450.             ->setResultCacheLifetime(60)
  2451.             ->getScalarResult();
  2452.         $ff 0;
  2453.         foreach ($icerikler as $icerik){
  2454.             if($icerik['paraBirimId']!=1){
  2455.                 $ff += $this->kurHesapla($icerik['fiyat'],$icerik['paraBirimId']);
  2456.             }else{
  2457.                 $ff += $icerik['fiyat'];
  2458.             }
  2459.         }
  2460.         return $ff;
  2461.     }
  2462.     public function siparisDurumlari($durum){
  2463.         $durumlar = [
  2464.             'Hazırlanıyor',
  2465.             'Kargoda',
  2466.             'Teslim Edildi',
  2467.             'İptal Edildi',
  2468.             'İade Edildi',
  2469.             'İade Kontrol Ediliyor',
  2470.             'İade Reddedildi',
  2471.             'Ödeme bekleniyor',
  2472.             'Ödeme onay bekliyor',
  2473.             'Sipariş Alındı',
  2474.         ];
  2475.         if ($durum==''){
  2476.             return $durumlar;
  2477.         }else{
  2478.             return $durumlar[$durum];
  2479.         }
  2480.     }
  2481.     public function odemeDurumlari($durum){
  2482.         $durumlar = [
  2483.             '',
  2484.             'Kredi/Banka Kartı',
  2485.             'Havale/EFT',
  2486.             'Kapıda Ödeme',
  2487.         ];
  2488.         if ($durum==''){
  2489.             return $durumlar;
  2490.         }else{
  2491.             return $durumlar[$durum];
  2492.         }
  2493.     }
  2494.     public function pazaryeriDurum($adi){
  2495.         $em $this->em;
  2496.         $qb $em->createQueryBuilder();
  2497.         $pazaryeri $qb->select('p.durum')
  2498.             ->from('PanelBundle:Pazaryeri''p')
  2499.             ->where("p.adi='$adi'")
  2500.             ->getQuery()
  2501.             ->setResultCacheId('pazaryeriDurum')
  2502.             ->setResultCacheLifetime(60)
  2503.             ->getScalarResult();
  2504.         return $pazaryeri[0]['durum'];
  2505.     }
  2506.     public function pazaryeriGetir($adi){
  2507.         $em $this->em;
  2508.         $qb $em->createQueryBuilder();
  2509.         $pazaryeri $qb->select('p.parametre1,p.parametre2,p.parametre3,p.parametre4')
  2510.             ->from('PanelBundle:Pazaryeri''p')
  2511.             ->where("p.adi='$adi'")
  2512.             ->getQuery()
  2513.             ->setResultCacheId('pazaryeriGetir')
  2514.             ->setResultCacheLifetime(60)
  2515.             ->getScalarResult();
  2516.         return $pazaryeri[0];
  2517.     }
  2518.     public function pazaryeriGetir2($id,$alan){
  2519.         $em $this->em;
  2520.         $qb $em->createQueryBuilder();
  2521.         $pazaryeri $qb->select('p.'.$alan)
  2522.             ->from('PanelBundle:Pazaryeri''p')
  2523.             ->where("p.id=$id")
  2524.             ->getQuery()
  2525.             ->setResultCacheId('pazaryeriGetir')
  2526.             ->setResultCacheLifetime(60)
  2527.             ->getScalarResult();
  2528.         return $pazaryeri[0][$alan];
  2529.     }
  2530.     public function n11UrunGetir($urunkod){
  2531.         $n11Bilgiler $this->pazaryeriGetir('N11');
  2532.         $n11 = new \SoapClient('https://api.n11.com/ws/ProductService.wsdl');
  2533.         $parametreler = ['auth' => ['appKey' => $n11Bilgiler['parametre1'], 'appSecret' => $n11Bilgiler['parametre2']]];
  2534.         $parametreler['sellerCode'] = $urunkod;
  2535.         return $n11->GetProductBySellerCode($parametreler);
  2536.     }
  2537.     function sayiyiYaziyaCevir($sayi$kurusbasamak$parabirimi$parakurus$diyez$bb1$bb2$bb3) {
  2538. // kurusbasamak virgülden sonra gösterilecek basamak sayısı
  2539. // parabirimi = TL gibi , parakurus = Kuruş gibi
  2540. // diyez başa ve sona kapatma işareti atar # gibi
  2541.         $b1 = array("""BİR ""İKİ ""ÜÇ ""DÖRT ""BEŞ ""ALTI ""YEDİ ""SEKİZ ""DOKUZ ");
  2542.         $b2 = array("""ON ""YİRMİ ""OTUZ ""KIRK ""ELLİ ""ALTMIŞ ""YETMİŞ ""SEKSEN ""DOKSAN ");
  2543.         $b3 = array("""YÜZ ""BİN ""MİLYON ""MİLYAR ""TRİLYON ""KATRİLYON ");
  2544.         if ($bb1 != null) { // farklı dil kullanımı yada farklı yazım biçimi için
  2545.             $b1 $bb1;
  2546.         }
  2547.         if ($bb2 != null) { // farklı dil kullanımı
  2548.             $b2 $bb2;
  2549.         }
  2550.         if ($bb3 != null) { // farklı dil kullanımı
  2551.             $b3 $bb3;
  2552.         }
  2553.         $say1="";
  2554.         $say2 ""// say1 virgül öncesi, say2 kuruş bölümü
  2555.         $sonuc "";
  2556.         $sayi str_replace(","".",$sayi); //virgül noktaya çevrilir
  2557.         $nokta strpos($sayi,"."); // nokta indeksi
  2558.         if ($nokta>0) { // nokta varsa (kuruş)
  2559.             $say1 substr($sayi,0$nokta); // virgül öncesi
  2560.             $say2 substr($sayi,$noktastrlen($sayi)); // virgül sonrası, kuruş
  2561.         } else {
  2562.             $say1 $sayi// kuruş yoksa
  2563.         }
  2564.         $son;
  2565.         $w 1// işlenen basamak
  2566.         $sonaekle 0// binler on binler yüzbinler vs. için sona bin (milyon,trilyon...) eklenecek mi?
  2567.         $kac strlen($say1); // kaç rakam var?
  2568.         $sonint// işlenen basamağın rakamsal değeri
  2569.         $uclubasamak 0// hangi basamakta (birler onlar yüzler gibi)
  2570.         $artan 0// binler milyonlar milyarlar gibi artışları yapar
  2571.         $gecici;
  2572.         if ($kac 0) { // virgül öncesinde rakam var mı?
  2573.             for ($i 0$i $kac$i++) {
  2574.                 $son $say1[$kac $i]; // son karakterden başlayarak çözümleme yapılır.
  2575.                 $sonint $son// işlenen rakam Integer.parseInt(
  2576.                 if ($w == 1) { // birinci basamak bulunuyor
  2577.                     $sonuc $b1[$sonint] . $sonuc;
  2578.                 } else if ($w == 2) { // ikinci basamak
  2579.                     $sonuc $b2[$sonint] . $sonuc;
  2580.                 } else if ($w == 3) { // 3. basamak
  2581.                     if ($sonint == 1) {
  2582.                         $sonuc $b3[1] . $sonuc;
  2583.                     } else if ($sonint 1) {
  2584.                         $sonuc $b1[$sonint] . $b3[1] . $sonuc;
  2585.                     }
  2586.                     $uclubasamak++;
  2587.                 }
  2588.                 if ($w 3) { // 3. basamaktan sonraki işlemler
  2589.                     if ($uclubasamak == 1) {
  2590.                         if ($sonint 0) {
  2591.                             $sonuc $b1[$sonint] . $b3[$artan] . $sonuc;
  2592.                             if ($artan == 0) { // birbin yazmasını engelle
  2593.                                 $sonuc str_replace($b1[1] . $b3[2], $b3[2],$sonuc);
  2594.                             }
  2595.                             $sonaekle 1// sona bin eklendi
  2596.                         } else {
  2597.                             $sonaekle 0;
  2598.                         }
  2599.                         $uclubasamak++;
  2600.                     } else if ($uclubasamak == 2) {
  2601.                         if ($sonint 0) {
  2602.                             if ($sonaekle 0) {
  2603.                                 $sonuc $b2[$sonint] . $sonuc;
  2604.                                 $sonaekle++;
  2605.                             } else {
  2606.                                 $sonuc $b2[$sonint] . $b3[$artan] . $sonuc;
  2607.                                 $sonaekle++;
  2608.                             }
  2609.                         }
  2610.                         $uclubasamak++;
  2611.                     } else if ($uclubasamak == 3) {
  2612.                         if ($sonint 0) {
  2613.                             if ($sonint == 1) {
  2614.                                 $gecici $b3[1];
  2615.                             } else {
  2616.                                 $gecici $b1[$sonint] . $b3[1];
  2617.                             }
  2618.                             if ($sonaekle == 0) {
  2619.                                 $gecici $gecici $b3[$artan];
  2620.                             }
  2621.                             $sonuc $gecici $sonuc;
  2622.                         }
  2623.                         $uclubasamak 1;
  2624.                         $artan++;
  2625.                     }
  2626.                 }
  2627.                 $w++; // işlenen basamak
  2628.             }
  2629.         } // if(kac>0)
  2630.         if ($sonuc=="") { // virgül öncesi sayı yoksa para birimi yazma
  2631.             $parabirimi "";
  2632.         }
  2633.         $say2 str_replace(".""",$say2);
  2634.         $kurus "";
  2635.         if ($say2!="") { // kuruş hanesi varsa
  2636.             if ($kurusbasamak 3) { // 3 basamakla sınırlı
  2637.                 $kurusbasamak 3;
  2638.             }
  2639.             $kacc strlen($say2);
  2640.             if ($kacc == 1) { // 2 en az
  2641.                 $say2 $say2."0"// kuruşta tek basamak varsa sona sıfır ekler.
  2642.                 $kurusbasamak 2;
  2643.             }
  2644.             if (strlen($say2) > $kurusbasamak) { // belirlenen basamak kadar rakam yazılır
  2645.                 $say2 substr($say2,0$kurusbasamak);
  2646.             }
  2647.             $kac strlen($say2); // kaç rakam var?
  2648.             $w 1;
  2649.             for ($i 0$i $kac$i++) { // kuruş hesabı
  2650.                 $son $say2[$kac $i]; // son karakterden başlayarak çözümleme yapılır.
  2651.                 $sonint $son// işlenen rakam Integer.parseInt(
  2652.                 if ($w == 1) { // birinci basamak
  2653.                     if ($kurusbasamak 0) {
  2654.                         $kurus $b1[$sonint] . $kurus;
  2655.                     }
  2656.                 } else if ($w == 2) { // ikinci basamak
  2657.                     if ($kurusbasamak 1) {
  2658.                         $kurus $b2[$sonint] . $kurus;
  2659.                     }
  2660.                 } else if ($w == 3) { // 3. basamak
  2661.                     if ($kurusbasamak 2) {
  2662.                         if ($sonint == 1) { // 'biryüz' ü engeller
  2663.                             $kurus $b3[1] . $kurus;
  2664.                         } else if ($sonint 1) {
  2665.                             $kurus $b1[$sonint] . $b3[1] . $kurus;
  2666.                         }
  2667.                     }
  2668.                 }
  2669.                 $w++;
  2670.             }
  2671.             if ($kurus=="") { // virgül öncesi sayı yoksa para birimi yazma
  2672.                 $parakurus "";
  2673.             } else {
  2674.                 $kurus $kurus " ";
  2675.             }
  2676.             $kurus $kurus $parakurus// kuruş hanesine 'kuruş' kelimesi ekler
  2677.         }
  2678.         $sonuc $diyez $sonuc " " $parabirimi " " $kurus $diyez;
  2679.         return $sonuc;
  2680.     }
  2681.     public function kargolar($id=''){
  2682.         $em $this->em;
  2683.         if ($id=='') {
  2684.             $qb $em->createQueryBuilder();
  2685.             $veriler $qb->select("m.id,m.adi")
  2686.                 ->from('PanelBundle:Kargo''m')
  2687.                 ->getQuery()
  2688.                 ->getScalarResult();
  2689.             return $veriler;
  2690.         }else{
  2691.             $qb $em->createQueryBuilder();
  2692.             $veriler $qb->select("m.id,m.adi")
  2693.                 ->from('PanelBundle:Kargo''m')
  2694.                 ->where('m.id='.$id)
  2695.                 ->getQuery()
  2696.                 ->getScalarResult();
  2697.             return $veriler[0];
  2698.         }
  2699.     }
  2700.     /*public function kargoTakip($kargo,$takipNo){
  2701.         $em = $this->em;
  2702.         $durum = "";
  2703.         if($kargo==1){
  2704.             $ch = curl_init();
  2705.             curl_setopt($ch, CURLOPT_URL, "https://selfservis.yurticikargo.com/reports/SSWDocumentDetail.aspx?DocId=" . $takipNo);
  2706.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  2707.             curl_setopt($ch, CURLOPT_REFERER, 'https://www.google.com/');
  2708.             $output = curl_exec($ch);
  2709.             curl_close($ch);
  2710.             $output = explode('<div class="tableItem mb10">',$output);
  2711.             $output2 = explode('<td width="260"><label>Gönderi Durumu</label></td>',$output[3]);
  2712.             $output3 = explode('</td>',$output2[1]);
  2713.             $durum = $output3[''];
  2714.         }
  2715.         return $durum;
  2716.     }*/
  2717.     function curlAl($url){
  2718.         $ch curl_init();
  2719.         curl_setopt($chCURLOPT_URL$url);
  2720.         curl_setopt($chCURLOPT_HEADER0);
  2721.         curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
  2722.         curl_setopt($chCURLOPT_RETURNTRANSFER1);
  2723.         curl_setopt($chCURLOPT_CONNECTTIMEOUT0);
  2724.         curl_setopt($chCURLOPT_FOLLOWLOCATION1);
  2725.         curl_setopt($chCURLOPT_REFERER,'http://www.google.com.tr');
  2726.         curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1');
  2727.         $exec curl_exec($ch);
  2728.         curl_close($ch);
  2729.         return $exec;
  2730.     }
  2731.     function kargoTakipLink($firma$kod)
  2732.     {
  2733.         $em $this->em;
  2734.         $durum 0;
  2735.         if ($firma == 1) {
  2736.             return 'https://selfservis.yurticikargo.com/reports/SSWDocumentDetail.aspx?DocId='.$kod;
  2737.         } else if ($firma == 2) {
  2738.             //aras kargo takip kontrol
  2739.             return 'https://kargotakip.araskargo.com.tr/mainpage.aspx?code='.$kod;
  2740.         } else if ($firma == 3) {
  2741.             //mng kargo takip kontrol
  2742.             return 'http://service.mngkargo.com.tr/iactive/popup/KargoTakip/link1.asp?k='.$kod;
  2743.         } else if ($firma == 4) {
  2744.             //surat kargo takip kontrol
  2745.             return 'http://www.suratkargo.com.tr/kargoweb/bireysel.aspx?no='.$kod;
  2746.         } else if ($firma == 5) {
  2747.             //Ptt kargo takip kontrol
  2748.             return "#";
  2749.         } else if ($firma == 6) {
  2750.             return 'http://www.ups.com.tr/WaybillSorgu.aspx?Waybill='.$kod;
  2751.         }
  2752.     }
  2753.     function kargoTakip($firma$kod) {
  2754.         $em $this->em;
  2755.         $durum 0;
  2756.         if($firma == 1) {
  2757.             //yurtici kargo takip kontrol
  2758.             $durum $this->yurtici($kod);
  2759.         }
  2760.         else if($firma == 2) {
  2761.             //aras kargo takip kontrol
  2762.             $durum $this->aras($kod);
  2763.         }
  2764.         else if($firma == 3) {
  2765.             //mng kargo takip kontrol
  2766.             $durum $this->mng($kod);
  2767.         }
  2768.         else if($firma == 4) {
  2769.             //surat kargo takip kontrol
  2770.             $durum $this->surat($kod);
  2771.         }
  2772.         else if($firma == 5) {
  2773.             //Ptt kargo takip kontrol
  2774.             $durum $this->ups($kod);
  2775.             $durum "";
  2776.         }
  2777.         else if($firma == 6) {
  2778.             //ups kargo takip kontrol
  2779.             $durum $this->ups($kod);
  2780.         }
  2781.         if($durum==1){
  2782.             $qb $em->createQueryBuilder();
  2783.             $siparis $qb->select("m.durum")
  2784.                 ->from('PanelBundle:Siparisler''m')
  2785.                 ->where("m.kargo = $firma and m.kargoNo='$kod'")
  2786.                 ->getQuery()
  2787.                 ->getScalarResult();
  2788.             if($siparis[0]['durum']==1) {
  2789.                 $qb $em->createQueryBuilder();
  2790.                 $q $qb->update('PanelBundle:Siparisler''d')
  2791.                     ->set('d.durum'':durum')
  2792.                     ->where("d.kargo = $firma and d.kargoNo='$kod'")
  2793.                     ->setParameter('durum'2)
  2794.                     ->getQuery()
  2795.                     ->execute();
  2796.             }
  2797.         }
  2798.         return $durum;
  2799.     }
  2800.     function yurtici($kod) {
  2801.         $durum 0//0 = teslim edilmedi
  2802.         $link 'https://selfservis.yurticikargo.com/reports/SSWDocumentDetail.aspx?DocId='.$kod;
  2803.         $veri $this->curlAl($link);
  2804.         if(preg_match('~Teslim Alan\<\/label\>\<\/td\>[\r\n].*?\<td\>(.*?)\<\/td\>~is'$veri))
  2805.             $durum 1//teslim alan olmus
  2806.         return $durum;
  2807.     }
  2808.     function surat($kod) {
  2809.         $durum 0;
  2810.         $link 'http://www.suratkargo.com.tr/kargoweb/bireysel.aspx?no='.$kod;
  2811.         $veri $this->curlAl($link);
  2812.         if(preg_match('~Teslim Edildi~is'$veri))
  2813.             $durum 1//teslim alan olmus
  2814.         return $durum;
  2815.     }
  2816.     function aras($kod) {
  2817.         $durum 0;
  2818.         $link 'https://kargotakip.araskargo.com.tr/mainpage.aspx?code='.$kod;
  2819.         $veri $this->curlAl($link);
  2820.         if(preg_match('~Teslim alan~is'$veri))
  2821.             $durum 1//teslim alan olmus
  2822.         return $durum;
  2823.     }
  2824.     function mng($kod) {
  2825.         $durum 0;
  2826.         $link 'http://service.mngkargo.com.tr/iactive/popup/KargoTakip/link1.asp?k='.$kod;
  2827.         $veri $this->curlAl($link);
  2828.         if(preg_match('~Teslim Alan~is'$veri))
  2829.             $durum 1//teslim alan olmus
  2830.         return $durum;
  2831.     }
  2832.     function ups($kod) {
  2833.         $durum 0;
  2834.         $link 'http://www.ups.com.tr/WaybillSorgu.aspx?Waybill='.$kod;
  2835.         $veri $this->curlAl($link);
  2836.         if(preg_match('~Paketiniz teslim edilmi~is'$veri))
  2837.             $durum 1//teslim alan olmus
  2838.         return $durum;
  2839.     }
  2840.     function n11PaymentType($id){
  2841.         $odemeTipleri = array('','Kredi Kartı','BKMEXPRESS','AKBANKDIREKT','PAYPAL','MallPoint','GARANTIPAY','GarantiLoan','MasterPass','ISBANKPAY','PAYCELL','COMPAY','YKBPAY','FIBABANK','Diğer');
  2842.         return $odemeTipleri[$id];
  2843.     }
  2844.     function n11KargoOdemeDurumlari($id){
  2845.         $odemeTipleri = array('','N11 Öder','Alıcı Öder','Mağaza Öder','Şartlı Kargo (Alıcı Öder)','Şartlı Kargo Ücretsiz (Satıcı Öder)');
  2846.         return $odemeTipleri[$id];
  2847.     }
  2848.     function n11OrderStatus($id){
  2849.         $odemeTipleri = array('','İşlem Bekliyor','İşlemde','İptal Edilmiş','Geçersiz','Tamamlandı');
  2850.         return $odemeTipleri[$id];
  2851.     }
  2852.     function n11OrderItemStatus($id){
  2853.         $odemeTipleri = array('','İşlem Bekliyor','Ödendi','Geçersiz','İptal Edilmiş','Kabul Edilmiş','Kargoda','Teslim Edilmiş','Reddedilmiş','İade Edildi','Tamamlandı','İade İptal Değişim Talep Edildi','İade İptal Değişim Tamamlandı','Kargoda İade','Kargo Yapılması Gecikmiş','Kabul Edilmiş Ama Zamanında Kargoya Verilmemiş','Teslim Edilmiş İade','Tamamlandıktan Sonra İade');
  2854.         return $odemeTipleri[$id];
  2855.     }
  2856.     function n11Kargolar($id){
  2857.         $n11Bilgiler $this->pazaryeriGetir('N11');
  2858.         $n11 = new \SoapClient('https://api.n11.com/ws/ShipmentCompanyService.wsdl');
  2859.         $kargolar $n11->GetShipmentCompanies();
  2860.         if ($this->session->get('n11Kargolar')=='') {
  2861.             $kargo = [];
  2862.             foreach ($kargolar->shipmentCompanies->shipmentCompany as $kk) {
  2863.                 $kargo[$kk->id] = $kk->name;
  2864.             }
  2865.             $this->session->set('n11Kargolar',$kargo);
  2866.         }else{
  2867.             $kargo $this->session->get('n11Kargolar');
  2868.         }
  2869.         return $kargo[$id].' Kargo';
  2870.     }
  2871.     function TCMB_Converter($from 'TRY'$to 'USD'$val 1)
  2872.     {
  2873. // Sistemimizde Simplexml ve Curl fonksiyonları var mı kontrol ediyoruz.
  2874.         if (!function_exists('simplexml_load_string') || !function_exists('curl_init')) {
  2875.             return 'Simplexml extension missing.';
  2876.         }
  2877. // Başlangıç için nereden/nereye değerlerini 1 yapıyoruz çünkü TRY'nin bir karşılığı yok.
  2878.         $CurrencyData = [
  2879.             'from' => 1,
  2880.             'to' => 1
  2881.         ];
  2882. // XML verisini curl ile alıyoruz, hata var mı yok mu diye try/catch bloklarına alıyoruz.
  2883.         try {
  2884.             $tcmbMirror 'https://www.tcmb.gov.tr/kurlar/today.xml';
  2885.             $curl curl_init($tcmbMirror);
  2886.             curl_setopt($curlCURLOPT_RETURNTRANSFER1);
  2887.             curl_setopt($curlCURLOPT_URL$tcmbMirror);
  2888.             $dataFromtcmb curl_exec($curl);
  2889.         } catch (Exception $e) {
  2890.             echo 'Unhandled exception, maybe from cURL' $e->getMessage();
  2891.             return 0;
  2892.         }
  2893. // XML verisini SimpleXML'e aktararak bir class haline getiriyoruz.
  2894.         $Currencies simplexml_load_string($dataFromtcmb);
  2895. // Bütün verileri foreach ile gezerek arıyoruz ve nereden/nereye değerlerimize eşitliyoruz.
  2896.         foreach ($Currencies->Currency as $Currency) {
  2897.             if ($from == $Currency['CurrencyCode']) $CurrencyData['from'] = $Currency->BanknoteSelling;
  2898.             if ($to == $Currency['CurrencyCode']) $CurrencyData['to'] = $Currency->BanknoteSelling;
  2899.         }
  2900.             // Hesaplama işlemini yaparak return ediyoruz.
  2901.         return $val*doubleval($CurrencyData['from']);
  2902.     }
  2903.     public function kurHesapla($tutar,$parabirimi){
  2904.         $em $this->em;
  2905.         $qb $em->createQueryBuilder();
  2906.         $parabirimi $qb->select("m.kisaltma,m.kur")
  2907.             ->from('PanelBundle:ParaBirim''m')
  2908.             ->where("m.id=".$parabirimi)
  2909.             ->getQuery()
  2910.             ->getScalarResult();
  2911.         $tutar number_format(doubleval($tutar*$parabirimi[0]['kur']),2,'.','');
  2912.         //$satis = $this->satisParabirimi();
  2913.       //  $tutar = number_format(doubleval($this->TCMB_Converter($parabirimi[0]['kisaltma'], $satis['kisaltma'],$tutar)),2,'.','');
  2914.         return $tutar;
  2915.     }
  2916.     public function donemselkampanya(){
  2917.         $em $this->em;
  2918.         $dil $this->session->get('dil');
  2919.         $qb $em->createQueryBuilder();
  2920.         $donemselkampanya $qb->select("d.baslangicTarihi,d.bitisTarihi,d.kategori,d.marka,d.indirim,d.indirimTip,d.durum")
  2921.             ->from('PanelBundle:DonemselKampanya''d')
  2922.             ->join('d.dil','dil')
  2923.             ->where("dil.id=".$dil['id'])
  2924.             ->getQuery()
  2925.             ->setResultCacheId('donemselKampanya')
  2926.             ->setResultCacheLifetime(60)
  2927.             ->getScalarResult();
  2928.         return $donemselkampanya[0];
  2929.     }
  2930.     public function HB_TokenAl(){
  2931.         $curl curl_init();
  2932.         $hb $this->pazaryeriGetir('HEPSİBURADA');
  2933.         curl_setopt_array($curl, array(
  2934.             CURLOPT_URL => "https://mpop.hepsiburada.com/api/authenticate",
  2935.             CURLOPT_RETURNTRANSFER => true,
  2936.             CURLOPT_ENCODING => "",
  2937.             CURLOPT_MAXREDIRS => 10,
  2938.             CURLOPT_TIMEOUT => 0,
  2939.             CURLOPT_FOLLOWLOCATION => true,
  2940.             CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  2941.             CURLOPT_CUSTOMREQUEST => "POST",
  2942.             CURLOPT_POSTFIELDS =>'{"username":"'.$hb['parametre1'].'","password":"'.$hb['parametre2'].'","authenticationType":"INTEGRATOR"}',
  2943.             CURLOPT_HTTPHEADER => array(
  2944.                 "Content-Type: application/json"
  2945.             ),
  2946.         ));
  2947.         $response json_decode(curl_exec($curl), true);;
  2948.         curl_close($curl);
  2949.         return $response['id_token'];
  2950.     }
  2951.     public function HbDurumlari($id){
  2952.         $array = [
  2953.             'Hazırlanıyor',
  2954.             'Hazırlanıyor',
  2955.             'Kargoda',
  2956.             'Teslim edildi',
  2957.             'Paketlenmiş',
  2958.             'İptal edildi'
  2959.         ];
  2960.         return $array[$id];
  2961.     }
  2962.     public function GgDurumlariNedir($id){
  2963.         $array = array("Ödeme Bekliyor","Para Transferinde""Onay Bekleyen""Kargo Yapılacak""İade Konumunda""Tamamlandı");
  2964.         return $array[$id];
  2965.     }
  2966.     public function GgDurumlari($id){
  2967.         $durumlar = array('Kargo yapılacak','Alıcı onayında','Tamamlandı','Sorun bildirimi','İade talep edildi.','İade edildi.','Ödeme kontrolünde','İptal talep edildi','İptal edildi','İptal edildi','Sorun bildirimi','İade kargolandı.','İade onaylandı.','İade onaylandı.','İade talep edildi','İade onaylandı.');
  2968.         return $durumlar[$id];
  2969.     }
  2970.     public function n11OzellikGetir($id){
  2971.         if(empty($this->session->get($id.'_Ozellikler'))) {
  2972.             $n11Bilgiler $this->pazaryeriGetir('N11');
  2973.             $n11 = new \SoapClient('https://api.n11.com/ws/CategoryService.wsdl');
  2974.             $parametreler = ['auth' => ['appKey' => $n11Bilgiler['parametre1'], 'appSecret' => $n11Bilgiler['parametre2']]];
  2975.             $parametreler['categoryId'] = $id;
  2976.             $kategoriMM $n11->GetCategoryAttributesId($parametreler);
  2977.             $ozellikler = [];
  2978.             $x 0;
  2979.             if (count($kategoriMM->categoryProductAttributeList->categoryProductAttribute) > 1) {
  2980.                 foreach ($kategoriMM->categoryProductAttributeList->categoryProductAttribute as $mmOz) {
  2981.                     if ($mmOz->name != 'Marka') {
  2982.                         $ozellikler[$x]['id'] = $mmOz->id;
  2983.                         $ozellikler[$x]['name'] = $mmOz->name;
  2984.                         $x++;
  2985.                     }
  2986.                 }
  2987.             } else {
  2988.                 if ($kategoriMM->categoryProductAttributeList->categoryProductAttribute->name != 'Marka') {
  2989.                     $ozellikler[0]['id'] = $kategoriMM->categoryProductAttributeList->categoryProductAttribute->id;
  2990.                     $ozellikler[0]['name'] = $kategoriMM->categoryProductAttributeList->categoryProductAttribute->name;
  2991.                 }
  2992.             }
  2993.             $this->session->set($id '_Ozellikler'$ozellikler);
  2994.         }else{
  2995.             $ozellikler $this->session->get($id.'_Ozellikler');
  2996.         }
  2997.         return $ozellikler;
  2998.     }
  2999.     public function n11OzellikDegerGetir($id){
  3000.         if(empty($this->session->get($id.'_OzelliklerDeger'))) {
  3001.             $n11Bilgiler $this->pazaryeriGetir('N11');
  3002.             $n11 = new \SoapClient('https://api.n11.com/ws/CategoryService.wsdl');
  3003.             $mm = [];
  3004.             $parametreler = ['auth' => ['appKey' => $n11Bilgiler['parametre1'], 'appSecret' => $n11Bilgiler['parametre2']]];
  3005.             $parametreler['categoryProductAttributeId'] = $id;
  3006.             $parametreler['pagingData'] = ['currentPage' => 0'pageSize' => 100];
  3007.             $markalar $n11->GetCategoryAttributeValue($parametreler);
  3008.             $x 0;
  3009.             foreach ($markalar->categoryProductAttributeValueList->categoryProductAttributeValue as $nMarka) {
  3010.                 $mm[$x]['id'] = $nMarka->id;
  3011.                 $mm[$x]['name'] = $nMarka->name;
  3012.                 $x++;
  3013.             }
  3014.             for ($i 1$i $markalar->pagingData->pageCount$i++) {
  3015.                 $parametreler = ['auth' => ['appKey' => $n11Bilgiler['parametre1'], 'appSecret' => $n11Bilgiler['parametre2']]];
  3016.                 $parametreler['categoryProductAttributeId'] = $id;
  3017.                 $parametreler['pagingData'] = ['currentPage' => $i'pageSize' => 100];
  3018.                 $markalar $n11->GetCategoryAttributeValue($parametreler);
  3019.                 foreach ($markalar->categoryProductAttributeValueList->categoryProductAttributeValue as $nMarka) {
  3020.                     $mm[$x]['id'] = $nMarka->id;
  3021.                     $mm[$x]['name'] = $nMarka->name;
  3022.                     $x++;
  3023.                 }
  3024.             }
  3025.             $this->session->set($id '_OzelliklerDeger'$mm);
  3026.          }else{
  3027.             $mm $this->session->get($id.'_OzelliklerDeger');
  3028.         }
  3029.         return $mm;
  3030.     }
  3031.     public function json_decode($veri){
  3032.         $veri json_decode($veritrue);
  3033.         return $veri;
  3034.     }
  3035.     public function hbOzellikGetir($id,$varyant){
  3036.         if(empty($this->session->get($id.$varyant.'_Ozellikler'))) {
  3037.             $token $this->HB_TokenAl();
  3038.             $curl curl_init();
  3039.             curl_setopt_array($curl, array(
  3040.                 CURLOPT_URL => "https://mpop.hepsiburada.com/product/api/categories/$id/attributes",
  3041.                 CURLOPT_RETURNTRANSFER => true,
  3042.                 CURLOPT_ENCODING => "",
  3043.                 CURLOPT_MAXREDIRS => 10,
  3044.                 CURLOPT_TIMEOUT => 0,
  3045.                 CURLOPT_FOLLOWLOCATION => true,
  3046.                 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  3047.                 CURLOPT_CUSTOMREQUEST => "GET",
  3048.                 CURLOPT_HTTPHEADER => array(
  3049.                     "Authorization: Bearer ".$token
  3050.                 ),
  3051.             ));
  3052.             $veriler json_decode(curl_exec($curl),true);
  3053.             curl_close($curl);
  3054.             if (empty($varyant)) {
  3055.                 $ozellikler $veriler['data']['attributes'];
  3056.             } else {
  3057.                 $ozellikler $veriler['data']['variantAttributes'];
  3058.             }
  3059.             $this->session->set($id.$varyant'_Ozellikler'$ozellikler);
  3060.         } else{
  3061.             $ozellikler $this->session->get($id.$varyant.'_Ozellikler');
  3062.         }
  3063.         return $ozellikler;
  3064.     }
  3065.     public function hbOzellikDegerGetir($id,$kat){
  3066.         if(empty($this->session->get($id.'_OzelliklerDeger'))) {
  3067.             $token $this->HB_TokenAl();
  3068.             $curl curl_init();
  3069.             curl_setopt_array($curl, array(
  3070.                 CURLOPT_URL => "https://mpop.hepsiburada.com/product/api/categories/".$kat."/attribute/".$id,
  3071.                 CURLOPT_RETURNTRANSFER => true,
  3072.                 CURLOPT_ENCODING => "",
  3073.                 CURLOPT_MAXREDIRS => 10,
  3074.                 CURLOPT_TIMEOUT => 0,
  3075.                 CURLOPT_FOLLOWLOCATION => true,
  3076.                 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  3077.                 CURLOPT_CUSTOMREQUEST => "GET",
  3078.                 CURLOPT_HTTPHEADER => array(
  3079.                     "Authorization: Bearer " $token
  3080.                 ),
  3081.             ));
  3082.             $veriler json_decode(curl_exec($curl), true);
  3083.             curl_close($curl);
  3084.             $mm $veriler['data'];
  3085.             $this->session->set($id '_OzelliklerDeger'$mm);
  3086.         }else{
  3087.             $mm $this->session->get($id.'_OzelliklerDeger');
  3088.         }
  3089.         return $mm;
  3090.     }
  3091.     public function tyOzellikGetir($id){
  3092.         if(empty($this->session->get($id.'_Ozellikler'))) {
  3093.             $curl curl_init();
  3094.             curl_setopt_array($curl, array(
  3095.                 CURLOPT_URL => "https://api.trendyol.com/sapigw/product-categories/$id/attributes",
  3096.                 CURLOPT_RETURNTRANSFER => true,
  3097.                 CURLOPT_ENCODING => "",
  3098.                 CURLOPT_MAXREDIRS => 10,
  3099.                 CURLOPT_TIMEOUT => 0,
  3100.                 CURLOPT_FOLLOWLOCATION => true,
  3101.                 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  3102.                 CURLOPT_CUSTOMREQUEST => "GET"
  3103.             ));
  3104.             $veriler json_decode(curl_exec($curl),true);
  3105.             curl_close($curl);
  3106.             $ozellikler $veriler['categoryAttributes'];
  3107.             $this->session->set($id '_Ozellikler'$ozellikler);
  3108.         }else{
  3109.             $ozellikler $this->session->get($id.'_Ozellikler');
  3110.         }
  3111.         return $ozellikler;
  3112.     }
  3113.     public function tyOzellikDegerGetir($id,$kat){
  3114.         if(empty($this->session->get($id.'_OzelliklerDeger'))) {
  3115.             $curl curl_init();
  3116.             curl_setopt_array($curl, array(
  3117.                 CURLOPT_URL => "https://api.trendyol.com/sapigw/product-categories/$kat/attributes",
  3118.                 CURLOPT_RETURNTRANSFER => true,
  3119.                 CURLOPT_ENCODING => "",
  3120.                 CURLOPT_MAXREDIRS => 10,
  3121.                 CURLOPT_TIMEOUT => 0,
  3122.                 CURLOPT_FOLLOWLOCATION => true,
  3123.                 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  3124.                 CURLOPT_CUSTOMREQUEST => "GET"
  3125.             ));
  3126.             $veriler json_decode(curl_exec($curl), true);
  3127.             curl_close($curl);
  3128.             foreach ($veriler['categoryAttributes'] as $veri){
  3129.                 if($veri['attribute']['id']==$id){
  3130.                     $mm $veri['attributeValues'];
  3131.                 }
  3132.             }
  3133.             $this->session->set($id '_OzelliklerDeger'$mm);
  3134.         }else{
  3135.             $mm $this->session->get($id.'_OzelliklerDeger');
  3136.         }
  3137.         return $mm;
  3138.     }
  3139.     public function tyDurumlar($key){
  3140.         $durumlar = array("Ödeme Bekliyor","Yeni Sipariş""Toplandı""Faturalandı""Sevk Edildi""İptal edildi""Teslim edildi""Teslim Edilmedi""İade""Yeniden paketleme""Paketlenmemiş""Tedarik edilmemiş");
  3141.         return $durumlar[$key];
  3142.     }
  3143.     public function ilGetir(){
  3144.         $veri "";
  3145.         $em $this->em;
  3146.         $qb $em->createQueryBuilder();
  3147.         $iller $qb->select("i.name,i.id,i.plaka")
  3148.             ->from('PanelBundle:Sehir''i')
  3149.             ->getQuery()
  3150.             ->setResultCacheId('sehirler')
  3151.             ->setResultCacheLifetime(60)
  3152.             ->getScalarResult();
  3153.         return $iller;
  3154.     }
  3155.     public function ggOzellikGetir($id){
  3156.         if(empty($this->session->get($id.'_Ozellikler'))) {
  3157.             $ggBilgiler $this->pazaryeriGetir('GİTTİ GİDİYOR');
  3158.         $gg = new \SoapClient('https://dev.gittigidiyor.com:8443/listingapi/ws/CategoryService?wsdl',array('login'=>$ggBilgiler['parametre3'],'password'=>$ggBilgiler['parametre4']));
  3159.         $kk $gg->getCategorySpecs($id,'tr');
  3160.             $ozellikler = [];
  3161.             $x 0;
  3162.             if(!empty($kk->specs->spec)){
  3163.             foreach ($kk->specs->spec as $mmOz) {
  3164.                 if ($mmOz->name != 'Marka') {
  3165.                     $ozellikler[$x]['id'] = $mmOz->name;
  3166.                     $ozellikler[$x]['name'] = $mmOz->name;
  3167.                     $x++;
  3168.                 }
  3169.             }
  3170.             }
  3171.             $this->session->set($id '_Ozellikler'$ozellikler);
  3172.         }else{
  3173.             $ozellikler $this->session->get($id.'_Ozellikler');
  3174.         }
  3175.         return $ozellikler;
  3176.     }
  3177.     public function ggOzellikDegerGetir($id,$kat){
  3178.         if(empty($this->session->get($id.$kat.'_OzelliklerDeger'))) {
  3179.             $ggBilgiler $this->pazaryeriGetir('GİTTİ GİDİYOR');
  3180.             $gg = new \SoapClient('https://dev.gittigidiyor.com:8443/listingapi/ws/CategoryService?wsdl',array('login'=>$ggBilgiler['parametre3'],'password'=>$ggBilgiler['parametre4']));
  3181.             $kk $gg->getCategorySpecs($kat,'tr');
  3182.             $x 0;
  3183.             $mm = [];
  3184.             $x 0;
  3185.             foreach ($kk->specs->spec as $mmOz) {
  3186.                 if ($mmOz->name == $id) {
  3187.                     foreach ($mmOz->values->value as $ddd){
  3188.                         $mm[$x]['id'] = $ddd;
  3189.                         $mm[$x]['name'] = $ddd;
  3190.                         $x++;
  3191.                     }
  3192.                 }
  3193.             }
  3194.             $this->session->set($id .$kat'_OzelliklerDeger'$mm);
  3195.         }else{
  3196.             $mm $this->session->get($id.$kat.'_OzelliklerDeger');
  3197.         }
  3198.         return $mm;
  3199.     }
  3200.     public function ggKargolar(){
  3201.         $ggBilgiler $this->pazaryeriGetir('GİTTİ GİDİYOR');
  3202.         $suan time().'000';
  3203.         $sign =  md5($ggBilgiler['parametre1'].$ggBilgiler['parametre2'].$suan);
  3204.         $gg = new \SoapClient('https://dev.gittigidiyor.com:8443/listingapi/ws/IndividualCargoService?wsdl',array('login'=>$ggBilgiler['parametre3'],'password'=>$ggBilgiler['parametre4']));
  3205.         $kargolar $gg->getCargoCompany($ggBilgiler['parametre1'],$sign,$suan);
  3206.         print_r($kargolar);
  3207.         return "";
  3208.     }
  3209.     public function satisSay($urunId){
  3210.         $em $this->em;
  3211.         $qb $em->createQueryBuilder();
  3212.         $sayac $qb->select("sum(s.adet) as toplam")
  3213.             ->from('PanelBundle:SiparislerIcerik''s')
  3214.             ->where('s.urunId='.$urunId.' and s.adet!=0')
  3215.             ->getQuery()
  3216.             ->setResultCacheId('satisSay')
  3217.             ->setResultCacheLifetime(60)
  3218.             ->getScalarResult();
  3219.         return $sayac[0]['toplam'];
  3220.     }
  3221.     public function siparis2Say($urunId){
  3222.         $em $this->em;
  3223.         $qb $em->createQueryBuilder();
  3224.         $sayac $qb->select("s.id")
  3225.             ->from('PanelBundle:SiparislerIcerik''s')
  3226.             ->where('s.urunId='.$urunId.' and s.adet!=0')
  3227.             ->groupBy('s.siparisId')
  3228.             ->getQuery()
  3229.             ->setResultCacheId('siparisSay')
  3230.             ->setResultCacheLifetime(60)
  3231.             ->getScalarResult();
  3232.         return count($sayac);
  3233.     }
  3234.     public function siparis3Say($user){
  3235.         $em $this->em;
  3236.         $qb $em->createQueryBuilder();
  3237.         $sayac $qb->select("s.id")
  3238.             ->from('PanelBundle:Siparisler''s')
  3239.             ->where('s.durum >= 0 and s.kullaniciId='.$user)
  3240.             ->getQuery()
  3241.             ->setResultCacheId('siparisSay3')
  3242.             ->setResultCacheLifetime(60)
  3243.             ->getScalarResult();
  3244.         return count($sayac);
  3245.     }
  3246.     public function urunGoruntulenme($urunId,$sayi){
  3247.         $em $this->em;
  3248.         $qb $em->createQueryBuilder();
  3249.         $q $qb->update('PanelBundle:Urun''u')
  3250.             ->set('u.goruntulenme'':goruntulenme')
  3251.             ->where("u.dilgrup=".$urunId)
  3252.             ->setParameter('goruntulenme'$sayi+1)
  3253.             ->getQuery()
  3254.             ->execute();
  3255.         return "";
  3256.     }
  3257.     public function siparisSayPanel(){
  3258.         $em $this->em;
  3259.         $suan = new \DateTime('now');
  3260.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3261.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3262.         $qb $em->createQueryBuilder();
  3263.         $sayac $qb->select("s.id")
  3264.             ->from('PanelBundle:Siparisler''s')
  3265.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3266.             ->getQuery()
  3267.             ->setResultCacheId('siparisSayPanel')
  3268.             ->setResultCacheLifetime(60)
  3269.             ->getScalarResult();
  3270.         return count($sayac);
  3271.     }
  3272.     public function siparisOranPanel(){
  3273.         $em $this->em;
  3274.         $suan = new \DateTime('now');
  3275.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3276.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3277.         $qb $em->createQueryBuilder();
  3278.         $buay $qb->select("s.id")
  3279.             ->from('PanelBundle:Siparisler''s')
  3280.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3281.             ->getQuery()
  3282.             ->setResultCacheId('siparisSayPanel')
  3283.             ->setResultCacheLifetime(60)
  3284.             ->getScalarResult();
  3285.         $suan->modify('-1 month');
  3286.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3287.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3288.         $qb $em->createQueryBuilder();
  3289.         $gecenay $qb->select("s.id")
  3290.             ->from('PanelBundle:Siparisler''s')
  3291.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3292.             ->getQuery()
  3293.             ->setResultCacheId('siparisSayPanel')
  3294.             ->setResultCacheLifetime(60)
  3295.             ->getScalarResult();
  3296.         if(count($gecenay)==0){
  3297.             $oran 100;
  3298.         }else {
  3299.             $oran = (count($buay)-count($gecenay)) / count($gecenay) * 100;
  3300.         }
  3301.         return $oran;
  3302.     }
  3303.     public function siparisGelirPanel(){
  3304.         $em $this->em;
  3305.         $suan = new \DateTime('now');
  3306.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3307.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3308.         $qb $em->createQueryBuilder();
  3309.         $sayac $qb->select("sum(s.tutar) as toplam")
  3310.             ->from('PanelBundle:Siparisler''s')
  3311.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3312.             ->getQuery()
  3313.             ->setResultCacheId('siparisGelirPanel')
  3314.             ->setResultCacheLifetime(60)
  3315.             ->getScalarResult();
  3316.         return $sayac[0]['toplam'];
  3317.     }
  3318.     public function siparisGelirPanel2(){
  3319.         $em $this->em;
  3320.         $suan = new \DateTime('now');
  3321.         $suan->modify('-1 month');
  3322.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3323.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3324.         $qb $em->createQueryBuilder();
  3325.         $sayac $qb->select("sum(s.tutar) as toplam")
  3326.             ->from('PanelBundle:Siparisler''s')
  3327.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3328.             ->getQuery()
  3329.             ->setResultCacheId('siparisGelirPanel2')
  3330.             ->setResultCacheLifetime(60)
  3331.             ->getScalarResult();
  3332.         return $sayac[0]['toplam'];
  3333.     }
  3334.     public function siparisGelirPanel3(){
  3335.         $em $this->em;
  3336.         $qb $em->createQueryBuilder();
  3337.         $sayac $qb->select("sum(s.tutar) as toplam")
  3338.             ->from('PanelBundle:Siparisler''s')
  3339.             ->where('s.durum >= 0')
  3340.             ->getQuery()
  3341.             ->setResultCacheId('siparisGelirPanel3')
  3342.             ->setResultCacheLifetime(60)
  3343.             ->getScalarResult();
  3344.         return $sayac[0]['toplam'];
  3345.     }
  3346.     public function siparisOranGelirPanel(){
  3347.         $em $this->em;
  3348.         $suan = new \DateTime('now');
  3349.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3350.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3351.         $qb $em->createQueryBuilder();
  3352.         $buay $qb->select("sum(s.tutar) as toplam")
  3353.             ->from('PanelBundle:Siparisler''s')
  3354.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3355.             ->getQuery()
  3356.             ->setResultCacheId('siparisSayPanel')
  3357.             ->setResultCacheLifetime(60)
  3358.             ->getScalarResult();
  3359.         $suan->modify('-1 month');
  3360.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3361.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3362.         $qb $em->createQueryBuilder();
  3363.         $gecenay $qb->select("sum(s.tutar) as toplam")
  3364.             ->from('PanelBundle:Siparisler''s')
  3365.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3366.             ->getQuery()
  3367.             ->setResultCacheId('siparisSayPanel')
  3368.             ->setResultCacheLifetime(60)
  3369.             ->getScalarResult();
  3370.         if($gecenay[0]['toplam']==0){
  3371.             $oran 100;
  3372.         }else {
  3373.             $oran = ($buay[0]['toplam']-$gecenay[0]['toplam']) / $gecenay[0]['toplam'] * 100;
  3374.         }
  3375.         return $oran;
  3376.     }
  3377.     public function siparisSayUrunOranPanel(){
  3378.         $em $this->em;
  3379.         $suan = new \DateTime('now');
  3380.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3381.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3382.         $qb $em->createQueryBuilder();
  3383.         $buay $qb->select("s.id")
  3384.             ->from('PanelBundle:Siparisler''s')
  3385.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3386.             ->getQuery()
  3387.             ->setResultCacheId('siparisSayUrunPanel')
  3388.             ->setResultCacheLifetime(60)
  3389.             ->getScalarResult();
  3390.         $dizi = [];
  3391.         foreach ($buay as $s){
  3392.             $dizi[] = $s['id'];
  3393.         }
  3394.         if (count($dizi)>0) {
  3395.             $qb $em->createQueryBuilder();
  3396.             $buay2 $qb->select("sum(s.adet) as toplam")
  3397.                 ->from('PanelBundle:SiparislerIcerik''s')
  3398.                 ->where("s.siparisId in(" implode(','$dizi) . ")")
  3399.                 ->getQuery()
  3400.                 ->setResultCacheId('siparisSayUrunPanel')
  3401.                 ->setResultCacheLifetime(60)
  3402.                 ->getScalarResult();
  3403.         }else{
  3404.             $buay2 = [];
  3405.             $buay2[0]['toplam'] = 0;
  3406.         }
  3407.         $suan->modify('-1 month');
  3408.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3409.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3410.         $qb $em->createQueryBuilder();
  3411.         $gecenay $qb->select("s.id")
  3412.             ->from('PanelBundle:Siparisler''s')
  3413.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3414.             ->getQuery()
  3415.             ->setResultCacheId('siparisSayUrunPanel')
  3416.             ->setResultCacheLifetime(60)
  3417.             ->getScalarResult();
  3418.         $dizi = [];
  3419.         foreach ($gecenay as $s){
  3420.             $dizi[] = $s['id'];
  3421.         }
  3422.         if (count($dizi)>0) {
  3423.             $qb $em->createQueryBuilder();
  3424.             $gecenay2 $qb->select("sum(s.adet) as toplam")
  3425.                 ->from('PanelBundle:SiparislerIcerik''s')
  3426.                 ->where("s.siparisId in(" implode(','$dizi) . ")")
  3427.                 ->getQuery()
  3428.                 ->setResultCacheId('siparisSayUrunPanel')
  3429.                 ->setResultCacheLifetime(60)
  3430.                 ->getScalarResult();
  3431.         }else{
  3432.             $gecenay2 = [];
  3433.             $gecenay2[0]['toplam'] = 0;
  3434.         }
  3435.         if($gecenay2[0]['toplam']==0){
  3436.             $oran 100;
  3437.         }else {
  3438.             $oran = ($buay2[0]['toplam']-$gecenay2[0]['toplam']) / $gecenay2[0]['toplam'] * 100;
  3439.         }
  3440.         return $oran;
  3441.     }
  3442.     public function siparisSayUrunPanel(){
  3443.         $em $this->em;
  3444.         $suan = new \DateTime('now');
  3445.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3446.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3447.         $qb $em->createQueryBuilder();
  3448.         $sayac $qb->select("s.id")
  3449.             ->from('PanelBundle:Siparisler''s')
  3450.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3451.             ->getQuery()
  3452.             ->setResultCacheId('siparisSayUrunPanel')
  3453.             ->setResultCacheLifetime(60)
  3454.             ->getScalarResult();
  3455.         $dizi = [];
  3456.         foreach ($sayac as $s){
  3457.             $dizi[] = $s['id'];
  3458.         }
  3459.         if (count($dizi)>0) {
  3460.             $qb $em->createQueryBuilder();
  3461.             $sayac2 $qb->select("sum(s.adet) as toplam")
  3462.                 ->from('PanelBundle:SiparislerIcerik''s')
  3463.                 ->where("s.siparisId in(" implode(','$dizi) . ")")
  3464.                 ->getQuery()
  3465.                 ->setResultCacheId('siparisSayUrunPanel')
  3466.                 ->setResultCacheLifetime(60)
  3467.                 ->getScalarResult();
  3468.             return $sayac2[0]['toplam'];
  3469.         }else{
  3470.             return 0;
  3471.         }
  3472.     }
  3473.     public function siparisSayMusteriPanel(){
  3474.         $em $this->em;
  3475.         $suan = new \DateTime('now');
  3476.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3477.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3478.         $qb $em->createQueryBuilder();
  3479.         $sayac $qb->select("s.id")
  3480.             ->from('PanelBundle:Siparisler''s')
  3481.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3482.             ->groupBy('s.eposta')
  3483.             ->getQuery()
  3484.             ->setResultCacheId('siparisSayPanel')
  3485.             ->setResultCacheLifetime(60)
  3486.             ->getScalarResult();
  3487.         return count($sayac);
  3488.     }
  3489.     public function siparisOranMusteriPanel(){
  3490.         $em $this->em;
  3491.         $suan = new \DateTime('now');
  3492.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3493.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3494.         $qb $em->createQueryBuilder();
  3495.         $buay $qb->select("s.id")
  3496.             ->from('PanelBundle:Siparisler''s')
  3497.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3498.             ->groupBy('s.eposta')
  3499.             ->getQuery()
  3500.             ->setResultCacheId('siparisSayPanel')
  3501.             ->setResultCacheLifetime(60)
  3502.             ->getScalarResult();
  3503.         $suan->modify('-1 month');
  3504.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3505.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3506.         $qb $em->createQueryBuilder();
  3507.         $gecenay $qb->select("s.id")
  3508.             ->from('PanelBundle:Siparisler''s')
  3509.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3510.             ->groupBy('s.eposta')
  3511.             ->getQuery()
  3512.             ->setResultCacheId('siparisSayPanel')
  3513.             ->setResultCacheLifetime(60)
  3514.             ->getScalarResult();
  3515.         if(count($gecenay)==0){
  3516.             $oran 100;
  3517.         }else {
  3518.             $oran = (count($buay)-count($gecenay)) / count($gecenay) * 100;
  3519.         }
  3520.         return $oran;
  3521.     }
  3522.     public function aylisSatislar(){
  3523.         $em $this->em;
  3524.         $suan = new \DateTime('now');
  3525.         $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3526.         $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3527.         $qb $em->createQueryBuilder();
  3528.         $sayac $qb->select("s.id,sum(s.tutar) as toplam")
  3529.             ->from('PanelBundle:Siparisler''s')
  3530.             ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3531.             ->getQuery()
  3532.             ->setResultCacheId('aylisSatislar')
  3533.             ->setResultCacheLifetime(60)
  3534.             ->getScalarResult();
  3535.         $veriler = [];
  3536.         $veriler[0]['tarih'] = $suan->format('m/y');
  3537.         $veriler[0]['toplam'] = number_format($sayac['0']['toplam'],2,'.','');
  3538.         for ($i=1;$i<10;$i++){
  3539.             $suan = new \DateTime('now');
  3540.             $suan->modify('-'.$i.' month');
  3541.             $ilkTarih $suan->format('Y-m-').'01 00:00:00';
  3542.             $sonTarih $suan->format('Y-m-').'31 23:59:59';
  3543.             $qb $em->createQueryBuilder();
  3544.             $sayac $qb->select("s.id,sum(s.tutar) as toplam")
  3545.                 ->from('PanelBundle:Siparisler''s')
  3546.                 ->where("s.durum >= 0 and s.tarih >= '".$ilkTarih."' and s.tarih <= '".$sonTarih."'")
  3547.                 ->getQuery()
  3548.                 ->setResultCacheId('aylisSatislar')
  3549.                 ->setResultCacheLifetime(60)
  3550.                 ->getScalarResult();
  3551.             $veriler[$i]['tarih'] = $suan->format('d/m');
  3552.             $veriler[$i]['toplam'] = number_format($sayac['0']['toplam'],2,'.','');
  3553.         }
  3554.         return $veriler;
  3555.     }
  3556.     public function istatistikBulGosterim($tarih){
  3557.         $em $this->em;
  3558.         if (!empty($tarih)) {
  3559.             $ilkTarih $tarih ' 00:00:00';
  3560.             $sonTarih $tarih ' 23:59:59';
  3561.             $qb $em->createQueryBuilder();
  3562.             $sayac $qb->select("s.id")
  3563.                 ->from('PanelBundle:Istatistik''s')
  3564.                 ->where("s.tarih >= '" $ilkTarih "' and s.tarih <= '" $sonTarih "'")
  3565.                 ->getQuery()
  3566.                 ->setResultCacheId('istatistikBulGosterim')
  3567.                 ->setResultCacheLifetime(60)
  3568.                 ->getScalarResult();
  3569.         }else{
  3570.             $qb $em->createQueryBuilder();
  3571.             $sayac $qb->select("s.id")
  3572.                 ->from('PanelBundle:Istatistik''s')
  3573.                 ->getQuery()
  3574.                 ->setResultCacheId('istatistikBulGosterim')
  3575.                 ->setResultCacheLifetime(60)
  3576.                 ->getScalarResult();
  3577.         }
  3578.         return count($sayac);
  3579.     }
  3580.     public function istatistikBulKullanici($tarih){
  3581.         $em $this->em;
  3582.         if (!empty($tarih)) {
  3583.             $ilkTarih $tarih ' 00:00:00';
  3584.             $sonTarih $tarih ' 23:59:59';
  3585.             $qb $em->createQueryBuilder();
  3586.             $sayac $qb->select("s.id")
  3587.                 ->from('PanelBundle:Istatistik''s')
  3588.                 ->where("s.tarih >= '" $ilkTarih "' and s.tarih <= '" $sonTarih "'")
  3589.                 ->groupBy('s.ip')
  3590.                 ->getQuery()
  3591.                 ->setResultCacheId('istatistikBulKullanici')
  3592.                 ->setResultCacheLifetime(60)
  3593.                 ->getScalarResult();
  3594.         }else{
  3595.             $qb $em->createQueryBuilder();
  3596.             $sayac $qb->select("s.id")
  3597.                 ->from('PanelBundle:Istatistik''s')
  3598.                 ->groupBy('s.ip')
  3599.                 ->getQuery()
  3600.                 ->setResultCacheId('istatistikBulKullanici')
  3601.                 ->setResultCacheLifetime(60)
  3602.                 ->getScalarResult();
  3603.         }
  3604.         return count($sayac);
  3605.     }
  3606.     public function sonSiparisler(){
  3607.         $em $this->em;
  3608.         $qb $em->createQueryBuilder();
  3609.         $veriler $qb->select("s.siparisNo,s.adsoyad,s.tarih,s.tutar,s.pazaryeriId,s.durum")
  3610.             ->from('PanelBundle:Siparisler''s')
  3611.             ->where('s.durum >= 0')
  3612.             ->orderBy('s.tarih','desc')
  3613.             ->getQuery()
  3614.             ->setMaxResults(8)
  3615.             ->setResultCacheId('sonSiparisler')
  3616.             ->setResultCacheLifetime(60)
  3617.             ->getScalarResult();
  3618.         return $veriler;
  3619.     }
  3620.     public function tarayiciIstatistik(){
  3621.         $em $this->em;
  3622.         $qb $em->createQueryBuilder();
  3623.         $tarayici=$qb->select('count(i.id) as toplam, i.tarayici')
  3624.             ->from('PanelBundle:Istatistik''i')
  3625.             ->groupBy('i.tarayici')
  3626.             ->orderBy('toplam','desc')
  3627.             ->getQuery()
  3628.             ->getScalarResult();
  3629.         return $tarayici;
  3630.     }
  3631.     public function trafikSorgula(){
  3632.         $em $this->em;
  3633.         $qb $em->createQueryBuilder();
  3634.         $trafik=$qb->select('count(i.id) as toplam, i.url')
  3635.             ->from('PanelBundle:Istatistik''i')
  3636.             ->groupBy('i.url')
  3637.             ->orderBy('toplam','desc')
  3638.             ->getQuery()
  3639.             ->getScalarResult();
  3640.         return $trafik;
  3641.     }
  3642.     public function urunSiparis($urun){
  3643.         $em $this->em;
  3644.         $qb $em->createQueryBuilder();
  3645.         $siparisIcerigi=$qb->select('s.adet,s.siparisId,s.id')
  3646.             ->from('PanelBundle:SiparislerIcerik''s')
  3647.             ->where('s.urunId='.$urun)
  3648.             ->getQuery()
  3649.             ->getScalarResult();
  3650.         $array = [];
  3651.         foreach ($siparisIcerigi as $key=>$ss){
  3652.             $array[$key]['adet'] = $ss['adet'];
  3653.             $qb $em->createQueryBuilder();
  3654.             $siparis=$qb->select('s.siparisNo,s.pazaryeriId')
  3655.                 ->from('PanelBundle:Siparisler''s')
  3656.                 ->where('s.id='.$ss['siparisId'])
  3657.                 ->getQuery()
  3658.                 ->getScalarResult();
  3659.             $array[$key]['siparisno'] = $siparis[0]['siparisNo'];
  3660.             $array[$key]['pazaryeri'] =  $siparis[0]['pazaryeriId'];
  3661.             $array[$key]['id'] =  $ss['id'];
  3662.         }
  3663.         return $array;
  3664.     }
  3665.     public function taksitGetir(){
  3666.         $em $this->em;
  3667.         $qb $em->createQueryBuilder();
  3668.         $taksit=$qb->select('t.html')
  3669.             ->from('PanelBundle:Taksit''t')
  3670.             ->getQuery()
  3671.             ->getScalarResult();
  3672.         return $taksit[0]['html'];
  3673.     }
  3674.     public function bankaDetay($id){
  3675.         $em $this->em;
  3676.         $qb $em->createQueryBuilder();
  3677.         $taksit=$qb->select('b.adi,b.resim')
  3678.             ->from('PanelBundle:Banka''b')
  3679.             ->where('b.id='.$id)
  3680.             ->getQuery()
  3681.             ->getScalarResult();
  3682.         return $taksit[0];
  3683.     }
  3684.     public function havaleBankalar($id=0){
  3685.         $em $this->em;
  3686.         if($id==0) {
  3687.             $qb $em->createQueryBuilder();
  3688.             $taksit $qb->select('b')
  3689.                 ->from('PanelBundle:BankaHesaplari''b')
  3690.                 ->getQuery()
  3691.                 ->getScalarResult();
  3692.             return $taksit;
  3693.         }else{
  3694.             $qb $em->createQueryBuilder();
  3695.             $taksit $qb->select('b')
  3696.                 ->from('PanelBundle:BankaHesaplari''b')
  3697.                 ->where('b.id='.$id)
  3698.                 ->getQuery()
  3699.                 ->getScalarResult();
  3700.             return $taksit[0];
  3701.         }
  3702.     }
  3703.     public function kapidaOdemeBil(){
  3704.         $em $this->em;
  3705.         $qb $em->createQueryBuilder();
  3706.         $kapida=$qb->select('b')
  3707.             ->from('PanelBundle:KapidaOdeme''b')
  3708.             ->getQuery()
  3709.             ->getScalarResult();
  3710.         return $kapida[0];
  3711.     }
  3712.     public function alinanurunler($kullanici){
  3713.         $em $this->em;
  3714.         $urunler=[];
  3715.         $qb $em->createQueryBuilder();
  3716.         $siparisler=$qb->select('s.id,s.siparisNo')
  3717.             ->from('PanelBundle:Siparisler''s')
  3718.             ->where('s.kullaniciId='.$kullanici)
  3719.             ->getQuery()
  3720.             ->getScalarResult();
  3721.         foreach ($siparisler as $siparis){
  3722.             $qb $em->createQueryBuilder();
  3723.             $siparislerIcerik=$qb->select('s.urunId,s.fiyat')
  3724.                 ->from('PanelBundle:SiparislerIcerik''s')
  3725.                 ->where('s.siparisId='.$siparis['id'])
  3726.                 ->getQuery()
  3727.                 ->getScalarResult();
  3728.             foreach ($siparislerIcerik as $sI){
  3729.                 $urunler[] = array($sI['urunId'],$sI['fiyat'],$siparis['siparisNo']);
  3730.             }
  3731.         }
  3732.         return $urunler;
  3733.     }
  3734.     function ozellikBulSite($dilgrup)
  3735.     {
  3736.         $em $this->em;
  3737.         $qb $em->createQueryBuilder();
  3738.         $ozellikler $qb->select('k.id,k.dilgrup,k.adi')
  3739.             ->from('PanelBundle:UrunOzellik''k')
  3740.             ->where('k.ustid=' $dilgrup)
  3741.             ->groupBy('k.dilgrup')
  3742.             ->orderBy('k.sira''ASC')
  3743.             ->orderBy('k.id''ASC')
  3744.             ->getQuery()
  3745.             ->getScalarResult();
  3746.         return $ozellikler;
  3747.     }
  3748.     function alturunlerGetir($urunkodu)
  3749.     {
  3750.         $em $this->em;
  3751.         $qb $em->createQueryBuilder();
  3752.         $urunler=$qb->select('u.dilgrup,u.adi,u.altbaslik,u.kategoriId,u.markaId,u.alis,u.kdv,u.fiyat,u.kdvDurum,u.resimler,u.paraBirimId,u.indirimDurum,u.indirim,u.indirimTip,u.stok,u.gosterim,u.urunkodu,u.grupkodu,u.varyantDurum,u.stokTurId,u.grupDurum')
  3753.             ->from('PanelBundle:Urun''u')
  3754.             ->where("u.grupkodu='$urunkodu'")
  3755.             ->groupBy('u.dilgrup')
  3756.             ->orderBy('u.id','DESC')
  3757.             ->getQuery()
  3758.             ->setResultCacheId('panel_urunGetir')
  3759.             ->setResultCacheLifetime(60)
  3760.             ->getScalarResult();
  3761.         return $urunler;
  3762.     }
  3763.     public function headerAccountButton($sablon,$giris,$rol){
  3764.         $return "";
  3765.         if ($giris){
  3766.             if ($rol != 'ROLE_UYE'){
  3767.                 $return str_replace(['url','deger'],[$this->ayarlar('siteYolu').'yonetim',$this->ceviri('Yönetim Paneli')],$sablon);
  3768.             }else{
  3769.                 $return str_replace(['url','deger'],[$this->ayarlar('siteYolu').'account',$this->ceviri('Hesabım')],$sablon);
  3770.             }
  3771.         }else{
  3772.             $return str_replace(['url','deger'],[$this->ayarlar('siteYolu').'login',$this->ceviri('Giriş Yap & Kayıt Ol')],$sablon);
  3773.         }
  3774.        /* if ($rol!='') {
  3775.             $return .= str_replace(['link', 'deger'], [$this->ayarlar('siteYolu') . 'logout', $this->ceviri('Çıkış Yap')], $sablon);
  3776.         }*/
  3777.         return $return;
  3778.     }
  3779.     public function headerBag($sablon,$giris,$uyeid){
  3780.         $donemselkampanya $this->donemselkampanya();
  3781.         $dKategoriler explode(',',$donemselkampanya['kategori']);
  3782.         $dMarkalar explode(',',$donemselkampanya['marka']);
  3783.         $suan = new \DateTime('now');
  3784.         $baslangicTarihi = new \DateTime($donemselkampanya['baslangicTarihi']);
  3785.         $bitisTarihi = new \DateTime($donemselkampanya['bitisTarihi']);
  3786.         $return "";
  3787.         if ($giris){
  3788.             $sepetim $this->sepetBul($uyeid);
  3789.         }else{
  3790.             if ($this->session->get('sepet')!=''){
  3791.                 $sepetim $this->session->get('sepet');
  3792.             }else{
  3793.                 $sepetim = [];
  3794.             }
  3795.         }
  3796.         $satisParabirimi $this->satisParabirimi();
  3797.         $toplam 0;
  3798.         if (count($sepetim)>0){
  3799.             foreach ($sepetim as $key=>$sepet){
  3800.                 if ($sepet['id']!=''){
  3801.                     $id $sepet['id'];
  3802.                 }else{
  3803.                     $id $key;
  3804.                 }
  3805.                 $sepetUrun $this->urun_getir($sepet['urunId']);
  3806.                 $sepetVaryant $this->urun_varyant($sepet['varyantId']);
  3807.                 $kat $this->urun_altKategoriGeriYaz($sepetUrun['kategoriId'],$this->session->get('dil')['id']);
  3808.                 $link $this->site_anaLink().$kat.$sepetUrun['seourl'];
  3809.                 $idler $this->urun_altKategoriGeriIdYaz($sepetUrun['kategoriId'],$this->session->get('dil')['id']);
  3810.                 $idler explode(',',substr($idler,0,strlen($idler)-1));
  3811.                 $vv "";
  3812.                 $fiyat 0;
  3813.                 if ($sepet['varyantId']!=0){
  3814.                     if ($sepetVaryant['resimler']==''){
  3815.                         $resimler explode('~',$sepetUrun['resimler']);
  3816.                         $resimlerBaslik explode('~',$sepetUrun['resimlerBaslik']);
  3817.                     }else{
  3818.                         $resimler explode('~',$sepetVaryant['resimler']);
  3819.                         $resimlerBaslik explode('~',$sepetVaryant['resimlerBaslik']);
  3820.                     }
  3821.                     $varyantlar explode('~',$sepetVaryant['varyantlar']);
  3822.                     foreach ($varyantlar as $varyant){
  3823.                         $vv.=$this->varyantDetay(explode('=',$varyant)[1],'adi').', ';
  3824.                     }
  3825.                     if ($sepetVaryant['indirimDurum']==1){
  3826.                         if ($sepetVaryant['indirimTip']==1){
  3827.                             $fiyat $sepetVaryant['fiyat']-$sepetVaryant['indirim'];
  3828.                         }elseif($sepetVaryant['indirimTip']==2){
  3829.                             $indirim = ($sepetVaryant['fiyat']*$sepetVaryant['indirim'])/100;
  3830.                             $fiyat $sepetVaryant['fiyat']-$indirim;
  3831.                         }else{
  3832.                             $fiyat $sepetVaryant['indirim'];
  3833.                         }
  3834.                     }else{
  3835.                         $fiyat $sepetVaryant['fiyat'];
  3836.                     }
  3837.                     $dKamp 0;
  3838.                     if ($donemselkampanya['durum']==1){
  3839.                         if ($suan->format('U') > $baslangicTarihi->format('U') and $suan->format('U') < $bitisTarihi->format('U')){
  3840.                             foreach ($idler as $id){
  3841.                                 if (in_array($id,$dKategoriler)){
  3842.                                     $dKamp++;
  3843.                                 }
  3844.                             }
  3845.                             if (in_array($sepetUrun['markaId'],$dMarkalar)){
  3846.                                 $dKamp++;
  3847.                             }
  3848.                             if ($dKamp 0){
  3849.                                 if($donemselkampanya['indirimTip']==1){
  3850.                                     $fiyat $sepetVaryant['fiyat']-$donemselkampanya['indirim'];
  3851.                                 }else{
  3852.                                     $indirim = ($sepetVaryant['fiyat']*$donemselkampanya['indirim'])/100;
  3853.                                     $fiyat $sepetVaryant['fiyat']-$indirim;
  3854.                                 }
  3855.                             }
  3856.                         }
  3857.                     }
  3858.                     if ($sepetVaryant['paraBirimId']!=$satisParabirimi['id']){
  3859.                         $kurluFiyat $this->kurHesapla($fiyat,$sepetVaryant['paraBirimId']);
  3860.                     }else{
  3861.                         $kurluFiyat $fiyat;
  3862.                     }
  3863.                 }else{
  3864.                     $resimler explode('~',$sepetUrun['resimler']);
  3865.                     $resimlerBaslik explode('~',$sepetUrun['resimlerBaslik']);
  3866.                     if ($sepetUrun['indirimDurum']==1){
  3867.                         if ($sepetUrun['indirimTip']==1){
  3868.                             $fiyat $sepetUrun['fiyat']-$sepetUrun['indirim'];
  3869.                         }elseif($sepetUrun['indirimTip']==2){
  3870.                             $indirim = ($sepetUrun['fiyat']*$sepetUrun['indirim'])/100;
  3871.                             $fiyat $sepetUrun['fiyat']-$indirim;
  3872.                         }else{
  3873.                             $fiyat $sepetUrun['indirim'];
  3874.                         }
  3875.                     }else{
  3876.                         $fiyat $sepetUrun['fiyat'];
  3877.                     }
  3878.                     $dKamp 0;
  3879.                     if ($donemselkampanya['durum']==1){
  3880.                         if ($suan->format('U') > $baslangicTarihi->format('U') and $suan->format('U') < $bitisTarihi->format('U')){
  3881.                             foreach ($idler as $id){
  3882.                                 if (in_array($id,$dKategoriler)){
  3883.                                     $dKamp++;
  3884.                                 }
  3885.                             }
  3886.                             if (in_array($sepetUrun['markaId'],$dMarkalar)){
  3887.                                 $dKamp++;
  3888.                             }
  3889.                             if ($dKamp 0){
  3890.                                 if($donemselkampanya['indirimTip']==1){
  3891.                                     $fiyat $sepetUrun['fiyat']-$donemselkampanya['indirim'];
  3892.                                 }else{
  3893.                                     $indirim = ($sepetUrun['fiyat']*$donemselkampanya['indirim'])/100;
  3894.                                     $fiyat $sepetUrun['fiyat']-$indirim;
  3895.                                 }
  3896.                             }
  3897.                         }
  3898.                     }
  3899.                     if ($sepetUrun['paraBirimId']!=$satisParabirimi['id']){
  3900.                         $kurluFiyat $this->kurHesapla($fiyat,$sepetUrun['paraBirimId']);
  3901.                     }else{
  3902.                         $kurluFiyat $fiyat;
  3903.                     }
  3904.                 }
  3905.                 $kurluFiyat $kurluFiyat $sepet['adet'];
  3906.                 $toplam += $kurluFiyat;
  3907.                 $return .= str_replace(['urunResim','urunResimBaslik','urunLink','urunAdi','urunFiyat','adet'],[$this->timthumb($resimler[0],'uploads/',70,70,2,100),$resimlerBaslik[0],$link,$sepetUrun['adi'],number_format($kurluFiyat,2,',','.').' '.$this->parabirimiDetay($sepetUrun['paraBirimId'],'sembol'),$sepet['adet']],$sablon);
  3908.             }
  3909.             $return .='<input type="hidden" id="cartCalc" value="'.number_format($toplam,2,',','.').' '.$satisParabirimi['sembol'].'"/>';
  3910.         }else{
  3911.             $return '<div class="alert alert-warning">'.$this->ceviri('Sepetiniz boş').'</div>';
  3912.             $return .='<input type="hidden" id="cartCalc" value="'.number_format($toplam,2,',','.').' '.$satisParabirimi['sembol'].'"/>';
  3913.         }
  3914.         return $return;
  3915.     }
  3916.     public function urunBox($urun,$column){
  3917.         $myfile fopen($_SERVER['DOCUMENT_ROOT']."/src/SiteBundle/Resources/views/Eticaret/urunBox.html.twig""r");
  3918.         $sablon fread($myfile,filesize($_SERVER['DOCUMENT_ROOT']."/src/SiteBundle/Resources/views/Eticaret/urunBox.html.twig"));
  3919.         fclose($myfile);
  3920.         $ucretsizKargo $this->ucretsizKargo();
  3921.         $donemselkampanya $this->donemselkampanya();
  3922.         $dKategoriler explode(',',$donemselkampanya['kategori']);
  3923.         $dMarkalar explode(',',$donemselkampanya['marka']);
  3924.         $suan = new \DateTime('now');
  3925.         $baslangicTarihi = new \DateTime($donemselkampanya['baslangicTarihi']);
  3926.         $bitisTarihi = new \DateTime($donemselkampanya['bitisTarihi']);
  3927.         $kat $this->urun_altKategoriGeriYaz($urun['kategoriId'],$this->session->get('dil')['id']);
  3928.         $link $this->site_anaLink().$kat.$urun['seourl'];
  3929.         $idler $this->urun_altKategoriGeriIdYaz($urun['kategoriId'],$this->session->get('dil')['id']);
  3930.         $idler explode(',',substr($idler,0,strlen($idler)-1));
  3931.         $resimler explode('~',$urun['resimler']);
  3932.         $resimlerBaslik explode('~',$urun['resimlerBaslik']);
  3933.         $satisParabirimi $this->satisParabirimi();
  3934.         $ii 0;
  3935.         if ($urun['indirimDurum']==1){
  3936.             if ($urun['indirimTip']==1){
  3937.                 $fiyat $urun['fiyat']-$urun['indirim'];
  3938.             }elseif($urun['indirimTip']==2){
  3939.                 $indirim = ($urun['fiyat']*$urun['indirim'])/100;
  3940.                 $fiyat $urun['fiyat']-$indirim;
  3941.             }else{
  3942.                 $fiyat $urun['indirim'];
  3943.             }
  3944.             $ii 1;
  3945.         }else{
  3946.             $fiyat $urun['fiyat'];
  3947.         }
  3948.         $dKamp 0;
  3949.         if ($donemselkampanya['durum']==1){
  3950.             if ($suan->format('U') > $baslangicTarihi->format('U') and $suan->format('U') < $bitisTarihi->format('U')){
  3951.                 foreach ($idler as $id){
  3952.                     if (in_array($id,$dKategoriler)){
  3953.                         $dKamp++;
  3954.                     }
  3955.                 }
  3956.                 if (in_array($urun['markaId'],$dMarkalar)){
  3957.                     $dKamp++;
  3958.                 }
  3959.                 if ($dKamp 0){
  3960.                     if($donemselkampanya['indirimTip']==1){
  3961.                         $fiyat $urun['fiyat']-$donemselkampanya['indirim'];
  3962.                     }else{
  3963.                         $indirim = ($urun['fiyat']*$donemselkampanya['indirim'])/100;
  3964.                         $fiyat $urun['fiyat']-$indirim;
  3965.                     }
  3966.                 }
  3967.             }
  3968.             $ii 1;
  3969.         }
  3970.         if ($urun['paraBirimId']!=$satisParabirimi['id']){
  3971.             $kurluFiyat $this->kurHesapla($fiyat,$urun['paraBirimId']);
  3972.         }else{
  3973.             $kurluFiyat $fiyat;
  3974.         }
  3975.         if ($urun['paraBirimId']!=$satisParabirimi['id']) {
  3976.             $fiyat .= ' ' $this->parabirimiDetay($urun['paraBirimId'], 'sembol') . '<br>(' number_format($this->kurHesapla($fiyat$urun['paraBirimId']), 2',''.') . ' '.$satisParabirimi['sembol'].')';
  3977.         }else{
  3978.             $fiyat .=' ' $this->parabirimiDetay($urun['paraBirimId'], 'sembol');
  3979.         }
  3980.         $ff "";
  3981.         if ($ii==1){
  3982.             $ff $urun['fiyat'].' '.$this->parabirimiDetay($urun['paraBirimId'],'sembol');
  3983.         }
  3984.         $sepeteEkle 'sepeteEkle('.$urun['dilgrup'].','.$urun['varyantDurum'].',\'\',\''.$link.'\','.$urun['minSiparis'].');';
  3985.         $urunFavori 'favoriEkle('.$urun['dilgrup'].');';
  3986.         $urunKarsilastir 'karsilastirEkle('.$urun['dilgrup'].');';
  3987.         if ($column!=0) {
  3988.             $return '<div class="col-md-' $column '">';
  3989.         }
  3990.         $stokDurum "d-none";
  3991.         if ($urun['stok']!=''){
  3992.             if ($urun['stok']==0){
  3993.                 $stokDurum="";
  3994.             }
  3995.         }
  3996.         $puan $this->puanBul($urun['dilgrup']);
  3997.         $yildizlar "";
  3998.         for ($i=0;$i<5;$i++){
  3999.             if ($puan>$i){
  4000.                 $cc 'text-warning';
  4001.             } else {
  4002.                 $cc 'text-grey';
  4003.             }
  4004.             $yildizlar.='<li class="list-inline-item fs-12 '.$cc.' mr-0"><i class="fas fa-star"></i></li>';
  4005.         }
  4006.         $uK 'd-none';
  4007.         if ($urun['kargoFiyat']=='' or $urun['kargoFiyat']==or ($ucretsizKargo['durum']==and $this->kurHesapla($fiyat$urun['paraBirimId']) > $ucretsizKargo['tutar'])){
  4008.             $uK '';
  4009.         }
  4010.         $return .= str_replace(['urunLink','urunResim','urunRBaslik','urunAdi','urunFiyat','indirimliFiyat','urunSepetAdi','urunSepet','urunFavoriAdi','urunFavori','urunKarsilastirAdi','urunKarsilastir','stokDurum','stokText','urunYorum','urunYildiz','ucretsizkargo'],[$link,$this->timthumb($resimler[0],'uploads/',500,500,1,100),$resimlerBaslik[0],$urun['adi'],$ff,$fiyat,$this->ceviri('Sepete Ekle'),$sepeteEkle,$this->ceviri('Favoriye Ekle'),$urunFavori,$this->ceviri('Karşılaştırma Listesine Ekle'),$urunKarsilastir,$stokDurum,$this->ceviri('Tükendi'),$this->yorumSay($urun['dilgrup']),$yildizlar,$uK],$sablon);
  4011.         if ($column!=0) {
  4012.             $return .= '</div>';
  4013.         }
  4014.         return $return;
  4015.     }
  4016.     public function markaGetir(){
  4017.         $em $this->em;
  4018.         $qb $em->createQueryBuilder();
  4019.         $markalar=$qb->select('m.adi,m.resim')
  4020.             ->from('PanelBundle:UrunMarka''m')
  4021.             ->getQuery()
  4022.             ->getScalarResult();
  4023.         return $markalar;
  4024.     }
  4025.     public function ozelKategoriGetir($dilgrup){
  4026.         $em $this->em;
  4027.         $qb $em->createQueryBuilder();
  4028.         $kategori=$qb->select('m.adi,m.resim,m.dilgrup,m.seourl,m.ustid')
  4029.             ->from('PanelBundle:UrunKategori''m')
  4030.             ->where('m.dilgrup='.$dilgrup)
  4031.             ->orderBy('m.sira')
  4032.             ->getQuery()
  4033.             ->getScalarResult();
  4034.         $qb $em->createQueryBuilder();
  4035.         $kategoriler=$qb->select('m.adi,m.resim,m.dilgrup,m.seourl,m.ustid')
  4036.             ->from('PanelBundle:UrunKategori''m')
  4037.             ->where('m.ustid='.$dilgrup)
  4038.             ->orderBy('m.sira')
  4039.             ->getQuery()
  4040.             ->setMaxResults(11)
  4041.             ->getScalarResult();
  4042.         return array($kategori[0],$kategoriler);
  4043.     }
  4044.     public function otoKur(){
  4045.         $em $this->em;
  4046.         if ($this->session->get('kur')!=1) {
  4047.             $qb $em->createQueryBuilder();
  4048.             $parabirimleri $qb->select('p.kisaltma,p.id')
  4049.                 ->from('PanelBundle:ParaBirim''p')
  4050.                 ->where('p.id not in(1)')
  4051.                 ->getQuery()
  4052.                 ->getScalarResult();
  4053.             foreach ($parabirimleri as $pb) {
  4054.                 $kk $this->TCMB_Converter($pb['kisaltma'], 'TRY'1);
  4055.                 $qb $em->createQueryBuilder();
  4056.                 $q $qb->update('PanelBundle:ParaBirim''p')
  4057.                     ->set('p.kur'':kur')
  4058.                     ->where('p.id=' $pb['id'])
  4059.                     ->setParameter('kur'$kk)
  4060.                     ->getQuery()
  4061.                     ->execute();
  4062.             }
  4063.             $this->session->set('kur',1);
  4064.         }
  4065.         return "";
  4066.     }
  4067. }