<?php
// src/Twig/AppExtension.php
namespace App\Twig;
use App\Entity\Dil;
use SebastianBergmann\Environment\Runtime;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
use App\Twig\AppRuntime;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\Ceviri;
use App\Entity\Istatistik;
class AppExtension extends AbstractExtension
{
private $em;
private $session;
public function __construct(SessionInterface $session ,EntityManagerInterface $em) {
$this->em = $em;
$this->session = $session;
}
public function getFilters()
{
return [
/* new TwigFilter('test', [AppRuntime::class, 'test']),*/
new TwigFilter('imgOlustur', [$this, 'imgOlustur']),
new TwigFilter('timthumb', [$this, 'timthumb']),
new TwigFilter('seo', [$this, 'seo']),
new TwigFilter('tarih_yaz', [$this, 'tarih_yaz']),
new TwigFilter('base64_encode', [$this, 'base64_encode']),
new TwigFilter('base64_decode', [$this, 'base64_decode']),
new TwigFilter('yandexToken', [$this, 'yandexToken']),
new TwigFilter('cevir', [$this, 'cevir']),
new TwigFilter('ceviri', [$this, 'ceviri']),
new TwigFilter('ayarlar', [$this, 'ayarlar']),
new TwigFilter('dilSay', [$this, 'dilSay']),
new TwigFilter('panelSayfaGetir', [$this, 'panelSayfaGetir']),
new TwigFilter('panelKategoriGetir', [$this, 'panelKategoriGetir']),
new TwigFilter('mesajSay', [$this, 'mesajSay']),
new TwigFilter('mesajBul', [$this, 'mesajBul']),
new TwigFilter('bildirimSay', [$this, 'bildirimSay']),
new TwigFilter('bildirimBul', [$this, 'bildirimBul']),
new TwigFilter('altKategoriBul', [$this, 'altKategoriBul']),
new TwigFilter('altKategoriBul2', [$this, 'altKategoriBul2']),
new TwigFilter('altKategoriGeriYaz', [$this, 'altKategoriGeriYaz']),
new TwigFilter('altKategoriListe', [$this, 'altKategoriListe']),
new TwigFilter('kategoriDetay', [$this, 'kategoriDetay']),
new TwigFilter('istatistik', [$this, 'istatistik']),
new TwigFilter('yetkiler', [$this, 'yetkiler']),
new TwigFilter('GetIP', [$this, 'GetIP']),
new TwigFilter('get_browser_name', [$this, 'get_browser_name']),
new TwigFilter('html_entity_decode', [$this, 'html_entity_decode']),
new TwigFilter('site_istatistik', [$this, 'site_istatistik']),
new TwigFilter('site_anaLink', [$this, 'site_anaLink']),
new TwigFilter('site_menuGetir', [$this, 'site_menuGetir']),
new TwigFilter('site_footerMetin', [$this, 'site_footerMetin']),
new TwigFilter('site_footerSayfa', [$this, 'site_footerSayfa']),
new TwigFilter('site_iletisimBilgileri', [$this, 'site_iletisimBilgileri']),
new TwigFilter('site_sosyalAglar', [$this, 'site_sosyalAglar']),
new TwigFilter('site_sliders', [$this, 'site_sliders']),
new TwigFilter('site_sayfaIcerik', [$this, 'site_sayfaIcerik']),
new TwigFilter('site_sayfaIcerikDirek', [$this, 'site_sayfaIcerikDirek']),
new TwigFilter('site_sayfaIcerikKategori', [$this, 'site_sayfaIcerikKategori']),
new TwigFilter('site_dilGetir', [$this, 'site_dilGetir']),
new TwigFilter('site_dilGetir2', [$this, 'site_dilGetir2']),
new TwigFilter('site_popupGetir', [$this, 'site_popupGetir']),
new TwigFilter('site_bannerGetir', [$this, 'site_bannerGetir']),
new TwigFilter('site_formGetir', [$this, 'site_formGetir']),
new TwigFilter('site_kategoriGeriLi', [$this, 'site_kategoriGeriLi']),
new TwigFilter('site_sayfaKategori', [$this, 'site_sayfaKategori']),
new TwigFilter('site_formVeriGetir', [$this, 'site_formVeriGetir']),
new TwigFilter('digerDiller', [$this, 'digerDiller']),
new TwigFilter('taslakBul', [$this, 'taslakBul']),
new TwigFilter('popupGetir', [$this, 'popupGetir']),
new TwigFilter('IdBul', [$this, 'IdBul']),
new TwigFilter('anasayfaIcerikleri', [$this, 'anasayfaIcerikleri']),
new TwigFilter('ustMenuler', [$this, 'ustMenuler']),
new TwigFilter('veriYenile', [$this, 'veriYenile']),
new TwigFilter('kategoriVeriYenile', [$this, 'kategoriVeriYenile']),
new TwigFilter('icerikSolMenuler', [$this, 'icerikSolMenuler']),
new TwigFilter('footerSayfaDilgrup', [$this, 'footerSayfaDilgrup']),
];
}
public function html_entity_decode($degisken){
$degisken = html_entity_decode($degisken, ENT_QUOTES,"UTF-8");
return $degisken;
}
public function timthumb($resim, $yol, $w, $h, $zc, $q)
{
return $this->ayarlar('siteYolu') . 'timthumb.php?src=' . $yol . $resim . '&w=' . $w . '&h=' . $h . '&zc=' . $zc . '&q=' . $q;
}
function seo($url,$dil=1)
{
if($dil==1) {
$tr = array('ş','Ş','ı','I','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç','(',')','/',':',',');
$eng = array('s','s','i','i','i','g','g','u','u','o','o','c','c','','','-','-','');
$s = str_replace($tr,$eng,$url);
$find = array('/[^A-Za-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
$repl = array('-', '-', '-');
$s = preg_replace($find, $repl, $s);
$s = strtolower($s);
$s = preg_replace('/&amp;amp;amp;amp;amp;amp;amp;amp;.+?;/', '', $s);
$s = preg_replace('/\s+/', '-', $s);
$s = preg_replace('|-+|', '-', $s);
$s = preg_replace('/#/', '', $s);
$s = str_replace('.', '', $s);
$s = trim($s, '-');
$s = strtolower($s);
return $s;
}else{
$tr = array('(', ')', '/', ':', ',');
$eng = array('', '', '-', '-', '');
$s = str_replace($tr, $eng, $url);
$find = array('/[^A-Za-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
$repl = array('-', '-', '-');
$s = preg_replace($find, $repl, $s);
$s = strtolower($s);
$s = preg_replace('/&amp;amp;amp;amp;amp;amp;amp;amp;.+?;/', '', $s);
$s = preg_replace('/\s+/', '-', $s);
$s = preg_replace('|-+|', '-', $s);
$s = preg_replace('/#/', '', $s);
$s = str_replace('.', '', $s);
$s = trim($s, '-');
$s = strtolower($s);
return $s;
}
}
public function tarih_yaz($tarih){
$aylar = array('January','February','March','April','May','June','July','August','September','October','November','December','Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
$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');
$return = str_replace($aylar, $aylar2, $tarih);
return $return;
}
public function base64_encode($veri){
return base64_encode($veri);
}
public function base64_decode($veri){
return base64_decode($veri);
}
function yandexToken(){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://iam.api.cloud.yandex.net/iam/v1/tokens',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"yandexPassportOauthToken":"y0_AgAAAAAZYEETAATuwQAAAADuaUPsZ3x4KXscRqel7NbnsyEYPaf2HWE"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
$response = json_decode($response, true);
return $response['iamToken'];
}
function cevir($deger,$dil){
$token = $this->yandexToken();
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://translate.api.cloud.yandex.net/translate/v2/translate',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"folderId": "b1g1l9b33ueptm8liaou",
"texts": "'.$deger.'",
"targetLanguageCode": "'.$dil.'"
}',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer '.$token,
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
$response = json_decode($response, true);
return $response['translations'][0]['text'];
}
public function ceviri($deger,$suanDil='')
{
$em = $this->em;
if ($suanDil=='') {
$suanDil = $this->session->get('dil');
}else{
$qb = $em->createQueryBuilder();
$dill=$qb->select('d.id,d.kisa,d.uzun')
->from('App:Dil', 'd')
->where('d.id='.$suanDil)
->getQuery()
->getScalarResult();
$suanDil = $dill[0];
}
$qb = $em->createQueryBuilder();
$ceviriTara=$qb->select('c.deger,c.id')
->from('App:Ceviri', 'c')
->join('c.dil','d')
->where("c.deger='$deger'")
->getQuery()
->getScalarResult();
if (count($ceviriTara) > 0) {
if ($suanDil['id'] != 1) {
$qb = $em->createQueryBuilder();
$ceviriTara2=$qb->select('c.deger')
->from('App:Ceviri', 'c')
->join('c.dil','d')
->where("d.id=".$suanDil['id']." and c.trId=".$ceviriTara[0]['id'])
->getQuery()
->getScalarResult();
if (count($ceviriTara2) > 0) {
$veri = $ceviriTara2[0]['deger'];
} else {
if ($this->session->get('dil')['id'] != '1') {
$deger = $this->cevir($deger,$suanDil['kisa']);
$dill = $em->getReference(Dil::class,$suanDil['id']);
$ceviri = new Ceviri();
$ceviri->setDil($dill);
$ceviri->setDeger($deger);
$ceviri->setTrId($ceviriTara[0]['id']);
$em->persist($ceviri);
$em->flush();
$veri = $deger;
}
}
} else {
$veri = $deger;
}
}
else {
if ($suanDil['id'] == 1) {
$dill = $em->getReference(Dil::class,$suanDil['id']);
$ceviri = new Ceviri();
$ceviri->setDil($dill);
$ceviri->setDeger($deger);
$ceviri->setTrId(0);
$em->persist($ceviri);
$em->flush();
$veri = $deger;
}
else {
$dilTr = $em->getReference(Dil::class,1);
$ceviri = new Ceviri();
$ceviri->setDil($dilTr);
$ceviri->setDeger($deger);
$ceviri->setTrId(0);
$em->persist($ceviri);
$em->flush();
$deger = $this->cevir($deger,$suanDil['kisa']);
$dill = $em->getReference(Dil::class,$suanDil['id']);
$ceviriDil = new Ceviri();
$ceviriDil->setDil($dill);
$ceviriDil->setDeger($deger);
$ceviriDil->setTrId($ceviri->getId());
$em->persist($ceviriDil);
$em->flush();
$veri = $deger;
}
}
return $veri;
}
public function ayarlar($alan,$dil='')
{
if($dil=='') {
$em = $this->em;
$qb = $em->createQueryBuilder();
$dd = $qb->select("e.id")
->from('App:Dil', 'e')
->where('e.aktif=1 and e.varsayilan=1')
->getQuery()
->setResultCacheId('varsayilan_dil')
->setResultCacheLifetime(60)
->getScalarResult();
$dil=$dd[0]['id'];
}
$em = $this->em;
$qb = $em->createQueryBuilder();
$ayarlar=$qb->select("e.$alan")
->from('App:Ayarlar', 'e')
->where('e.dil='.$dil)
->getQuery()
->setResultCacheId($alan)
->setResultCacheLifetime(60)
->getScalarResult();
return $ayarlar[0][$alan];
}
public function dilSay(){
$em = $this->em;
$qb = $em->createQueryBuilder();
$ayarlar=$qb->select("e.id")
->from('App:Dil', 'e')
->where('e.aktif=1')
->getQuery()
->setResultCacheId('dil_aktif')
->setResultCacheLifetime(60)
->getScalarResult();
return count($ayarlar);
}
public function panelSayfaGetir(){
$em = $this->em;
$qb = $em->createQueryBuilder();
$sayfalar=$qb->select("s.adi,s.dilgrup,s.id")
->from('App:Sayfa', 's')
->orderBy('s.sira','ASC')
->groupBy('s.dilgrup')
->getQuery()
->getScalarResult();
$veri ='';
foreach ($sayfalar as $key=>$sayfa){
$veri.='<li><a class="d-flex align-items-center" href="/rv/icerik/'.$sayfa['id'].'/"><i data-feather="circle"></i><span class="menu-item text-truncate" data-i18n="'.$sayfa['adi'].'">'.$sayfa['adi'].'</span></a></li>';
}
return $veri;
}
public function panelKategoriGetir(){
$em = $this->em;
$qb = $em->createQueryBuilder();
$sayfalar=$qb->select("s.id,s.adi,s.dilgrup")
->from('App:Sayfa', 's')
->where('s.kategori=1')
->orderBy('s.sira','ASC')
->groupBy('s.dilgrup')
->getQuery()
->getScalarResult();
$veri ='';
foreach ($sayfalar as $key=>$sayfa){
$veri.='<li><a class="d-flex align-items-center" href="/rv/kategori/'.$sayfa['id'].'/"><i data-feather="circle"></i><span class="menu-item text-truncate" data-i18n="'.$sayfa['adi'].'">'.$sayfa['adi'].'</span></a></li>';
}
return $veri;
}
public function mesajSay(){
$em = $this->em;
$qb = $em->createQueryBuilder();
$veriler=$qb->select("m.id")
->from('App:FormKayit', 'm')
->where('m.okuma=0')
->getQuery()
->getScalarResult();
return count($veriler);
}
public function mesajBul(){
$em = $this->em;
$qb = $em->createQueryBuilder();
$veriler=$qb->select("m.kayit,f.alan,f.adi,m.okuma,m.tarih")
->from('App:FormKayit', 'm')
->join('m.form','f')
->orderBy('f.tarih','DESC')
->orderBy('m.okuma','ASC')
->getQuery()
->getScalarResult();
return $veriler;
}
public function bildirimSay(){
$em = $this->em;
$qb = $em->createQueryBuilder();
$veriler=$qb->select("b.id")
->from('App:Bildirim', 'b')
->where('b.okuma=0')
->getQuery()
->getScalarResult();
return count($veriler);
}
public function bildirimBul(){
$em = $this->em;
$qb = $em->createQueryBuilder();
$veriler=$qb->select("b.id,b.baslik,b.metin,b.okuma,b.tarih")
->from('App:Bildirim', 'b')
->orderBy('b.tarih','DESC')
->orderBy('b.okuma','ASC')
->getQuery()
->getScalarResult();
return $veriler;
}
function altKategoriBul($dilgrup,$selected=0,$kendisi=0,$bosluk=''){
$em = $this->em;
$qb = $em->createQueryBuilder();
$kategoriler=$qb->select('k.id,k.dilgrup,k.adi')
->from('App:Kategori', 'k')
->where('k.ustid='.$dilgrup)
->groupBy('k.dilgrup')
->orderBy('k.sira','ASC')
->getQuery()
->getScalarResult();
$bosluk.=' ';
$veriler='';
foreach ($kategoriler as $k){
$select='';
if($selected==$k['id']){
$select = 'selected';
}
$disabled='';
if($kendisi==$k['id']){
$disabled = 'disabled';
}
$veriler.='<option '.$disabled.' '.$select.' value="'.$k['id'].'">'.$bosluk.$k['adi'].'</option>'.$this->altKategoriBul($k['dilgrup'],$selected,$kendisi,$bosluk);
}
return $veriler;
}
function altKategoriBul2($dilgrup,$selected=0,$kendisi=0,$bosluk=''){
$em = $this->em;
$qb = $em->createQueryBuilder();
$kategoriler=$qb->select('k.id,k.dilgrup,k.adi')
->from('App:Kategori', 'k')
->where('k.ustid='.$dilgrup)
->groupBy('k.dilgrup')
->orderBy('k.sira','ASC')
->getQuery()
->getScalarResult();
$bosluk.=' ';
$veriler='';
foreach ($kategoriler as $k){
$select='';
if($selected==$k['dilgrup']){
$select = 'selected';
}
$disabled='';
if($kendisi==$k['dilgrup']){
$disabled = 'disabled';
}
$veriler.='<option '.$disabled.' '.$select.' value="'.$k['dilgrup'].'">'.$bosluk.$k['adi'].'</option>'.$this->altKategoriBul($k['dilgrup'],$selected,$kendisi,$bosluk);
}
return $veriler;
}
function altKategoriGeriYaz($ustid,$dil=1){
$em = $this->em;
$qb = $em->createQueryBuilder();
$kategoriler=$qb->select('k.id,k.dilgrup,k.adi,k.seourl,k.ustid')
->from('App:Kategori', 'k')
->join('k.dil','d')
->where('k.dilgrup='.$ustid.' and d.id='.$dil)
->groupBy('k.dilgrup')
->orderBy('k.sira','ASC')
->getQuery()
->getScalarResult();
$veriler='';
foreach ($kategoriler as $k){
$veriler.=$this->altKategoriGeriYaz($k['ustid'],$dil).$k['seourl'].'/';
}
return $veriler;
}
function altKategoriListe($dilgrup,$sSeo){
$em = $this->em;
$qb = $em->createQueryBuilder();
$kategoriler=$qb->select('k.id,k.dilgrup,k.adi,k.seourl,d.kisa as dKisa,k.ustid')
->from('App:Kategori', 'k')
->join('k.dil','d')
->where('k.ustid='.$dilgrup)
->groupBy('k.dilgrup')
->orderBy('k.sira','ASC')
->getQuery()
->getScalarResult();
$veriler='';
if(count($kategoriler)>0) {
$veriler .= '<ul class="kategori_sirala' . $dilgrup . '">';
foreach ($kategoriler as $k) {
if ($this->dilSay() > 1) {
$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>';
} else {
$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>';
}
$veriler .= ' <div id="listItem_' . $k['dilgrup'] . '">';
$veriler .= '<li class="kategoriLi row" >
<div class="col-md-9">' . $k['adi'] . '
<br>
' . $link . '
</div>
<div class="col-md-3 text-right">
<a class="btn btn-sm btn-info waves-effect waves-light handle' . $dilgrup . ' text-white"><i data-feather="move"></i></a>
<button class="btn btn-sm btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">İŞLEM</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="javascript:void(0);" onclick="seoAyarAc(' . $k['dilgrup'] . ');" data-toggle="modal" data-target=".seoAyar">Seo Ayarları</a>
<a class="dropdown-item" href="javascript:void(0);" onclick="kategoriDuzenleAc(' . $k['dilgrup'] . ');" data-toggle="modal" data-target=".kategoriDuzenle">Düzenle</a>
<a class="dropdown-item" href="javascript:void(0);" onclick="kategoriSil(' . $k['dilgrup'] . ')">Sil</a>
</div>
</div>
</li>';
$veriler .= $this->altKategoriListe($k['dilgrup'], $sSeo);;
$veriler .= '</div>';
}
$veriler .= '</ul>';
$veriler .= '<script>
$().ready(function() {
kategoriSirala(' . $dilgrup . ');
});
</script>';
}
return $veriler;
}
public function kategoriDetay($dilgrup,$alan){
if($dilgrup==''){
return '';
}
$em = $this->em;
$qb = $em->createQueryBuilder();
$kategori=$qb->select("e.$alan")
->from('App:Kategori', 'e')
->where('e.dilgrup='.$dilgrup)
->getQuery()
->getScalarResult();
return $kategori[0][$alan];
}
public function istatistik($start,$end){
$em = $this->em;
$qb = $em->createQueryBuilder();
$istatistikKullanici=$qb->select('i.id')
->from('App:Istatistik', 'i')
->where("i.tarih > '$start 00:00:00' and i.tarih < '$end 23:59:59'")
->groupBy('i.ip')
->getQuery()
->getScalarResult();
$qb = $em->createQueryBuilder();
$istatistikSG=$qb->select('i.id')
->from('App:Istatistik', 'i')
->where("i.tarih > '$start 00:00:00' and i.tarih < '$end 23:59:59'")
->getQuery()
->getScalarResult();
return count($istatistikKullanici).'--'.count($istatistikSG);
}
public function yetkiler($yetkiler,$rol){
if ($yetkiler==''){
return 1;
}
$yetkiler = explode('~',str_replace(array('{','}'),array('',''),substr($yetkiler,0,strlen($yetkiler)-1)));
$return = [];
foreach ($yetkiler as $y){
$x = explode(':',$y);
$z = explode(',',$x[1]);
$return[$x[0]]['gorme']=$z[0];
$return[$x[0]]['ekleme']=$z[1];
$return[$x[0]]['duzenleme']=$z[2];
$return[$x[0]]['silme']=$z[3];
}
if($rol=='ROLE_DEV' or $rol=='ROLE_ADMIN'){
return 1;
}else{
return $return;
}
}
function GetIP()
{
if (getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif (getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
if (strstr($ip, ',')) {
$tmp = explode(',', $ip);
$ip = trim($tmp[0]);
}
} else {
$ip = getenv("REMOTE_ADDR");
}
return $ip;
}
function get_browser_name($user_agent)
{
if (strpos($user_agent, 'Opera') || strpos($user_agent, 'OPR/')) return 'Opera';
elseif (strpos($user_agent, 'Edge')) return 'Edge';
elseif (strpos($user_agent, 'Chrome')) return 'Chrome';
elseif (strpos($user_agent, 'Safari')) return 'Safari';
elseif (strpos($user_agent, 'Firefox')) return 'Firefox';
elseif (strpos($user_agent, 'MSIE') || strpos($user_agent, 'Trident/7')) return 'İnternet Explorer';
return 'Diğer';
}
public function site_istatistik($bos)
{
if($this->ayarlar('debug')!=1) {
$em = $this->em;
$tarih = new \DateTime('now');
$ip = $this->GetIP();
if (@$_SERVER['HTTP_REFERER']!=''){
$referer = $_SERVER['HTTP_REFERER'];
}else{
$referer = '';
}
$user_agent = $this->get_browser_name($_SERVER['HTTP_USER_AGENT']);
$request_uri = $this->ayarlar('siteYolu') . substr($_SERVER['REQUEST_URI'], 1, strlen($_SERVER['REQUEST_URI']) - 1);
$istatistik = new Istatistik();
$istatistik->setTarih($tarih);
$istatistik->setIp($ip);
$istatistik->setReferer($referer);
$istatistik->setTarayici($user_agent);
$istatistik->setUrl($request_uri);
$em->persist($istatistik);
$em->flush();
return '';
}
}
public function site_anaLink(){
$dil = $this->session->get('dil');
if ($this->dilSay()>1){
return $this->ayarlar('siteYolu').$dil['kisa'].'/';
}else{
return $this->ayarlar('siteYolu');
}
}
public function site_menuGetir(){
$em = $this->em;
$dil = $this->session->get('dil');
$qb = $em->createQueryBuilder();
$sayfalar=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan')
->from('App:Sayfa', 's')
->join('s.dil', 'd')
->join('s.modul', 'm')
->where('d.id='.$dil['id'].'and s.menu=1')
->orderBy('s.sira','ASC')
->getQuery()
->setResultCacheId('menu_sayfalar')
->setResultCacheLifetime(60)
->getScalarResult();
$menu = [];
$menu[] =['link'=>$this->site_anaLink(),'adi'=>$this->ceviri('Anasayfa')];
foreach ($sayfalar as $sayfa){
$sId = $this->IdBul('Sayfa',$sayfa['dilgrup']);
$sLink = $this->site_anaLink().$sayfa['seo'];
// ($sayfa['dilgrup']==6) alanı alt menü görünmesin istiyorsak
if (($sayfa['tekVeri'] == 0 and $sayfa['icIcerik'] == 0) or $sayfa['tekVeri'] == 1 or ($sayfa['dilgrup'] == 3)) {
$menu[] =['link'=>$sLink,'adi'=>$sayfa['adi']];
} else {
if ($sayfa['kategori'] == 0) {
//İçerikler
$sayfaAlan = explode(',', $sayfa['alan']);
$icerikalani = [];
foreach ($sayfaAlan as $sA) {
if ($sA == 'seo url' or $sA == 'sayfa başlığı' or $sA == 'anahtar kelimeler' or $sA == 'sayfa açıklaması') {
} else {
$icerikalani[] = str_replace(' ', '', $sA);
}
}
$qb = $em->createQueryBuilder();
$icerikler = $qb->select('t.' . $this->seo($icerikalani[0]) . ' as baslik,t.seourl,t.dilgrup,d.kisa as dKisa,k.dilgrup as kategoriId,d.id as did,s.dilgrup as sayfaId')
->from('App:' . $sayfa['tabloAdi'], 't')
->leftjoin('t.kategori', 'k')
->join('t.sayfa', 's')
->join('t.dil', 'd')
->where('s.id=' . $sId . ' and d.id=' . $dil['id'])
->addOrderBy('t.sira', 'ASC')
->addOrderBy('t.id', 'DESC')
->setMaxResults(10)
->getQuery()
->setResultCacheId('menu_icerikler')
->setResultCacheLifetime(60)
->getScalarResult();
}
else {
//Kategoriler
$qb = $em->createQueryBuilder();
$icerikler = $qb->select('k.dilgrup,k.adi as baslik,k.seourl')
->from('App:Kategori', 'k')
->join('k.sayfa', 's')
->join('k.dil', 'd')
->where('s.id=' . $sId . ' and k.ustid=0 and d.id=' . $dil['id'])
->orderBy('k.sira', 'ASC')
->setMaxResults(10)
->getQuery()
->setResultCacheId('menu_kategoriler')
->setResultCacheLifetime(60)
->getScalarResult();
}
$altMenuler = [];
foreach ($icerikler as $icerik) {
$kat = '';
if (!empty($icerik['kategoriId'])) {
$kat = $this->altKategoriGeriYaz($icerik['kategoriId'], $dil['id']);
}
$sLink2 = $this->site_anaLink() . $sayfa['seo'] . '/' . $kat . $icerik['seourl'];
$altMenuler[] =['link'=>$sLink2,'adi'=>ucfirst($icerik['baslik'])];
}
$menu[] =['link'=>$sLink,'adi'=>$sayfa['adi'],'altmenuler'=>$altMenuler];
}
}
return $menu;
}
public function site_footerMetin(){
$em = $this->em;
$dil = $this->session->get('dil');
$qb = $em->createQueryBuilder();
$metin=$qb->select('s.kurumsalaciklama')
->from('App:Footermetin', 's')
->join('s.dil', 'd')
->where('d.id='.$dil['id'])
->getQuery()
->setResultCacheId('footermetin')
->setResultCacheLifetime(60)
->getScalarResult();
return $metin[0]['kurumsalaciklama'];
}
public function site_footerSayfa($sDilgrup,$max=10){
$em = $this->em;
$dil = $this->session->get('dil');
$qb = $em->createQueryBuilder();
$sayfa=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan')
->from('App:Sayfa', 's')
->join('s.dil', 'd')
->join('s.modul', 'm')
->where('d.id='.$dil['id'].'and s.menu=1 and s.dilgrup='.$sDilgrup)
->orderBy('s.sira','ASC')
->getQuery()
->setResultCacheId('footer_sayfa')
->setResultCacheLifetime(60)
->getScalarResult();
$sayfa = $sayfa[0];
$sId = $this->IdBul('Sayfa',$sayfa['dilgrup']);
if ($sayfa['kategori'] == 0) {
//İçerikler
$sayfaAlan = explode(',', $sayfa['alan']);
$icerikalani = '';
foreach ($sayfaAlan as $sA) {
if ($sA == 'seo url' or $sA == 'sayfa başlığı' or $sA == 'anahtar kelimeler' or $sA == 'sayfa açıklaması') {
} else {
$icerikalani .= 't.'.$this->seo(str_replace(' ', '', $sA)).',';
}
}
$qb = $em->createQueryBuilder();
$icerikler = $qb->select( $icerikalani. ' t.seourl,t.dilgrup,d.kisa as dKisa,k.dilgrup as kategoriId,d.id as did,s.dilgrup as sayfaId')
->from('App:' . $sayfa['tabloAdi'], 't')
->leftjoin('t.kategori', 'k')
->join('t.sayfa', 's')
->join('t.dil', 'd')
->where('s.id=' . $sId . ' and d.id=' . $dil['id'])
->addOrderBy('t.sira', 'ASC')
->addOrderBy('t.id', 'DESC')
->setMaxResults($max)
->getQuery()
->setResultCacheId('footer_icerik')
->setResultCacheLifetime(60)
->getScalarResult();
}
else {
//Kategoriler
$qb = $em->createQueryBuilder();
$icerikler = $qb->select('k.dilgrup,k.adi as baslik,k.seourl,k.resim')
->from('App:Kategori', 'k')
->join('k.sayfa', 's')
->join('k.dil', 'd')
->where('s.id=' . $sId . ' and k.ustid=0 and d.id=' . $dil['id'])
->orderBy('k.sira', 'ASC')
->setMaxResults($max)
->getQuery()
->setResultCacheId('footer_kategori')
->setResultCacheLifetime(60)
->getScalarResult();
}
$veri = [];
$veri[]=$sayfa;
$veri[]=$icerikler;
return $veri;
}
public function site_iletisimBilgileri($alan){
$em = $this->em;
$dil = $this->session->get('dil');
$qb = $em->createQueryBuilder();
$iletisim=$qb->select('s.'.$alan)
->from('App:Iletisim', 's')
->join('s.dil', 'd')
->where('d.id='.$dil['id'])
->getQuery()
->setResultCacheId($alan)
->setResultCacheLifetime(60)
->getScalarResult();
return $iletisim[0][$alan];
}
public function site_sosyalAglar(){
$em = $this->em;
$qb = $em->createQueryBuilder();
$sosyalAglar=$qb->select('s.ad,s.url')
->from('App:SosyalAg', 's')
->getQuery()
->setResultCacheId('sosyal_aglar')
->setResultCacheLifetime(60)
->getScalarResult();
$veri = [];
foreach ($sosyalAglar as $ss){
if($ss['ad']=='Facebook' and $ss['url']!=''){
$veri[]= ['link'=>$ss['url'],'adi'=>$ss['ad'],'ikon'=>'fab fa-facebook'];
}
elseif($ss['ad']=='Twitter' and $ss['url']!=''){
$veri[]= ['link'=>$ss['url'],'adi'=>$ss['ad'],'ikon'=>'fab fa-twitter'];
}
elseif($ss['ad']=='İnstagram' and $ss['url']!=''){
$veri[]= ['link'=>$ss['url'],'adi'=>$ss['ad'],'ikon'=>'fab fa-instagram'];
}
elseif($ss['ad']=='Pinterest' and $ss['url']!=''){
$veri[]= ['link'=>$ss['url'],'adi'=>$ss['ad'],'ikon'=>'fab fa-pinterest'];
}
elseif($ss['ad']=='Youtube' and $ss['url']!=''){
$veri[]= ['link'=>$ss['url'],'adi'=>$ss['ad'],'ikon'=>'fab fa-youtube'];
}
}
return $veri;
}
public function site_sliders()
{
$em = $this->em;
$dil = $this->session->get('dil');
$em = $this->em;
$qb = $em->createQueryBuilder();
$sliders=$qb->select('s.resim,s.aciklama,s.baslik')
->from('App:Slider', 's')
->join('s.dil', 'd')
->where('d.id='.$dil['id'])
->orderBy('s.sira')
->getQuery()
->setResultCacheId('slider')
->setResultCacheLifetime(60)
->getScalarResult();
return $sliders;
}
public function site_sayfaIcerik($sDilgrup,$max=10){
$em = $this->em;
$dil = $this->session->get('dil');
$qb = $em->createQueryBuilder();
$sayfa=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan,s.description')
->from('App:Sayfa', 's')
->join('s.dil', 'd')
->join('s.modul', 'm')
->where('d.id='.$dil['id'].' and s.dilgrup='.$sDilgrup)
->orderBy('s.sira','ASC')
->getQuery()
->setResultCacheId('sabit_sayfa')
->setResultCacheLifetime(60)
->getScalarResult();
$sId = $this->IdBul('Sayfa',$sayfa[0]['dilgrup']);
$sayfa = $sayfa[0];
$icerikler="";
if ($sayfa['kategori'] == 0) {
//İçerikler
$sayfaAlan = explode(',', $sayfa['alan']);
$icerikalani = [];
foreach ($sayfaAlan as $sA) {
$icerikalani[] = 't.'.$this->seo(str_replace(' ', '', $sA));
}
$qb = $em->createQueryBuilder();
$icerikler = $qb->select(implode(',',$icerikalani).',t.dilgrup,k.dilgrup as kategoriId,d.id as did,s.dilgrup as sayfaId')
->from('App:' . $sayfa['tabloAdi'], 't')
->leftjoin('t.kategori', 'k')
->join('t.sayfa', 's')
->join('t.dil', 'd')
->where('s.id=' . $sId . ' and d.id=' . $dil['id'])
->addOrderBy('t.sira', 'ASC')
->addOrderBy('t.id', 'DESC')
->setMaxResults($max)
->getQuery()
->setResultCacheId('sabit_icerik')
->setResultCacheLifetime(60)
->getScalarResult();
}
if ($sayfa['icIcerik']==1){
foreach ($icerikler as $key=>$ii){
$alt='';
if($sayfa['kategori']==1){
$alt = $this->altKategoriGeriYaz($ii['kategoriId'],$dil['id']);
}
$link = $this->site_anaLink().$sayfa['seo'].'/'.$alt.$ii['seourl'];
$icerikler[$key]['link']=$link;
if (in_array('t.resimler',$icerikalani)){
$resim = explode(',',$ii['resimler']);
$icerikler[$key]['resim'] = $resim[0];
}
}
}
$veri = [];
$veri[]=$sayfa;
$veri[]=$icerikler;
return $veri;
}
public function site_sayfaIcerikDirek($sDilgrup,$max=10){
$em = $this->em;
$dil = $this->session->get('dil');
$qb = $em->createQueryBuilder();
$sayfa=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan,s.description')
->from('App:Sayfa', 's')
->join('s.dil', 'd')
->join('s.modul', 'm')
->where('d.id='.$dil['id'].' and s.dilgrup='.$sDilgrup)
->orderBy('s.sira','ASC')
->getQuery()
->setResultCacheId('sabit_sayfa')
->setResultCacheLifetime(60)
->getScalarResult();
$sId = $this->IdBul('Sayfa',$sayfa[0]['dilgrup']);
$sayfa = $sayfa[0];
//İçerikler
$sayfaAlan = explode(',', $sayfa['alan']);
$icerikalani = [];
foreach ($sayfaAlan as $sA) {
$icerikalani[] = 't.'.$this->seo(str_replace(' ', '', $sA));
}
$qb = $em->createQueryBuilder();
$icerikler = $qb->select(implode(',',$icerikalani).',t.dilgrup,k.dilgrup as kategoriId,d.id as did,s.dilgrup as sayfaId')
->from('App:' . $sayfa['tabloAdi'], 't')
->leftjoin('t.kategori', 'k')
->join('t.sayfa', 's')
->join('t.dil', 'd')
->where('s.id=' . $sId . ' and d.id=' . $dil['id'])
->addOrderBy('t.sira', 'ASC')
->addOrderBy('t.id', 'DESC')
->setMaxResults($max)
->getQuery()
->setResultCacheId('sabit_icerik')
->setResultCacheLifetime(60)
->getScalarResult();
if ($sayfa['icIcerik']==1){
foreach ($icerikler as $key=>$ii){
$alt='';
if($sayfa['kategori']==1){
$alt = $this->altKategoriGeriYaz($ii['kategoriId'],$dil['id']);
}
$link = $this->site_anaLink().$sayfa['seo'].'/'.$alt.$ii['seourl'];
$icerikler[$key]['link']=$link;
if (in_array('t.resimler',$icerikalani)){
$resim = explode(',',$ii['resimler']);
$icerikler[$key]['resim'] = $resim[0];
}
}
}
$veri = [];
$veri[]=$sayfa;
$veri[]=$icerikler;
return $veri;
}
public function site_sayfaIcerikKategori($sDilgrup,$kat,$max=10){
$em = $this->em;
$dil = $this->session->get('dil');
$qb = $em->createQueryBuilder();
$sayfa=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan,s.description')
->from('App:Sayfa', 's')
->join('s.dil', 'd')
->join('s.modul', 'm')
->where('d.id='.$dil['id'].' and s.dilgrup='.$sDilgrup)
->orderBy('s.sira','ASC')
->getQuery()
->setResultCacheId('sabit_sayfa')
->setResultCacheLifetime(60)
->getScalarResult();
$sayfa = $sayfa[0];
//İçerikler
$sayfaAlan = explode(',', $sayfa['alan']);
$icerikalani = [];
foreach ($sayfaAlan as $sA) {
$icerikalani[] = 't.'.$this->seo(str_replace(' ', '', $sA));
}
$qb = $em->createQueryBuilder();
$icerikler = $qb->select(implode(',',$icerikalani).',t.dilgrup,t.kategoriId,d.id as did,t.sayfaId')
->from('App:' . $sayfa['tabloAdi'], 't')
->join('t.dil', 'd')
->where('t.sayfaId=' . $sayfa['dilgrup'] . ' and t.kategoriId=' . $kat . ' and d.id=' . $dil['id'])
->addOrderBy('t.sira', 'ASC')
->addOrderBy('t.id', 'DESC')
->setMaxResults($max)
->getQuery()
->setResultCacheId('sabit_kategori')
->setResultCacheLifetime(60)
->getScalarResult();
$veri = [];
$veri[]=$sayfa;
$veri[]=$icerikler;
return $veri;
}
public function site_dilGetir(){
$em = $this->em;
$dil = $this->session->get('dil');
$qb = $em->createQueryBuilder();
$diller=$qb->select('d.id,d.kisa,d.uzun')
->from('App:Dil', 'd')
->where('d.aktif=1 and d.id not in('.$dil['id'].')')
->orderBy('d.aktif','DESC')
->getQuery()
->setResultCacheId('dil_getir')
->setResultCacheLifetime(60)
->getScalarResult();
$veri='';
foreach ($diller as $d){
$veri .='<li><a href="'.$this->ayarlar('siteYolu').$d['kisa'].'/"><img src="/assets/flag/'.$d['kisa'].'.webp" width="18" height="14" alt="'.$d['kisa'].'"> '.$this->ceviri($d['uzun']).' ('.strtoupper($d['kisa']).')</a></li>';
}
return $veri;
}
public function site_dilGetir2(){
$em = $this->em;
$dil = $this->session->get('dil');
$qb = $em->createQueryBuilder();
$diller=$qb->select('d.id,d.kisa,d.uzun')
->from('App:Dil', 'd')
->where('d.aktif=1')
->orderBy('d.aktif','DESC')
->getQuery()
->setResultCacheId('dil_getir')
->setResultCacheLifetime(60)
->getScalarResult();
$veri='';
foreach ($diller as $d){
$active = "";
if ($d['id']==$dil['id']){
$active = 'selected';
}
$veri .=' <a class="dropdown-item '.$active.'" href="'.$this->ayarlar('siteYolu').$d['kisa'].'/">
<img src="/assets/flag/'.$d['kisa'].'.webp" alt="'.$d['kisa'].'">
'.$this->ceviri($d['uzun']).'
</a>';
}
return $veri;
}
/* public function site_popupGetir($sDilgrup){
$em = $this->em;
$veri = '';
if($sDilgrup==0){
if ($this->ayarlar('popup')!=''){
if(!$this->session->get('system_popup'.$sDilgrup)) {
$veri .= '<a href="/uploads/' . $this->ayarlar('popup') . '" class="system_popup" data-fancybox style="display: none;"></a>';
$this->session->set('system_popup'.$sDilgrup,1);
}
}
}else{
$qb = $em->createQueryBuilder();
$sayfa=$qb->select('s.popup')
->from('App:Sayfa', 's')
->where("s.dilgrup =".$sDilgrup)
->getQuery()
->setResultCacheId('popup')
->setResultCacheLifetime(60)
->getScalarResult();
if ($sayfa[0]['popup']!=''){
if(!$this->session->get('system_popup'.$sDilgrup)) {
$veri .= '<a href="/uploads/' . $sayfa[0]['popup'] . '" class="system_popup" data-fancybox style="display: none;"></a>';
$this->session->set('system_popup'.$sDilgrup,1);
}
}
}
return $veri;
}*/
public function site_bannerGetir($sDilgrup){
$em = $this->em;
$veri = '';
$qb = $em->createQueryBuilder();
$sayfa=$qb->select('s.bannerDurum,s.bannerUrl')
->from('App:Sayfa', 's')
->where("s.dilgrup =".$sDilgrup)
->getQuery()
->setResultCacheId('banner_getir')
->setResultCacheLifetime(60)
->getScalarResult();
if ($sayfa[0]['bannerDurum']=='1'){
$veri.=$this->ayarlar('siteYolu').'storage/'.$sayfa[0]['bannerUrl'];
}
return $veri;
}
public function site_formGetir($formId){
$em = $this->em;
$veri='';
$qb = $em->createQueryBuilder();
$form=$qb->select('f.adi,f.tip,f.veri,f.alan,f.zorunlu,f.id')
->from('App:Form', 'f')
->where("f.id =".$formId)
->getQuery()
->setResultCacheId('sabit_formlar')
->setResultCacheLifetime(60)
->getScalarResult();
$tipler = explode('~',$form[0]['tip']);
$alanlar = explode('~',$form[0]['alan']);
$zorunlular = explode('~',$form[0]['zorunlu']);
$fVeriler = explode('~',$form[0]['veri']);
$veri .= '<form method="post" enctype="multipart/form-data" class="'.$this->seo($form[0]['adi']).'" action="'.$this->site_anaLink().'form-kayit">';
$veri .= '<input type="hidden" name="id" value="'.$formId.'">';
$veri .= '<div class="row">';
foreach ($tipler as $key=>$tip){
if ($zorunlular[$key]==1){$required='required'; $zorunlu= '<span style="color:#ff0000;">* </span>';}else{ $required=''; $zorunlu='';}
if($tip=='input'){
$veri.='<div class="col-lg-6 col-md-6 col-sm-12" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
$veri.='<input type="text" name="'.$this->seo($alanlar[$key]).'" class="form-control formInput" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
$veri.='</div>';
}
elseif($tip=='inputPhone'){
$veri.='<div class="col-lg-6 col-md-6 col-sm-12" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
$veri.='<input data-inputmask="\'mask\': \'+99(999) 999 99 99\'" type="text" name="'.$this->seo($alanlar[$key]).'" class="form-control formInput" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
$veri.='</div>';
}
elseif($tip=='inputEmail'){
$veri.='<div class="col-lg-6 col-md-6 col-sm-12" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
$veri.='<input type="email" name="'.$this->seo($alanlar[$key]).'" class="form-control formInput" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
$veri.='</div>';
}
elseif($tip=='inputNumeric'){
$veri.='<div class="col-lg-6 col-md-6 col-sm-12" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
$veri.='<input type="text" name="'.$this->seo($alanlar[$key]).'" class="form-control formInput numeric" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
$veri.='</div>';
}
elseif($tip=='inputPrice'){
$veri.='<div class="col-lg-6 col-md-6 col-sm-12" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
$veri.='<input type="text" name="'.$this->seo($alanlar[$key]).'" class="form-control formInput priceFormat" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
$veri.='</div>';
}
elseif($tip=='inputDate'){
$veri.='<div class="col-lg-6 col-md-6 col-sm-12" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).': '.$zorunlu.'</b><br>';
$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.'>';
$veri.='</div>';
}
elseif($tip=='textarea'){
$veri.='<div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).' '.$zorunlu.':</b><br>';
$veri.='<textarea class="form-control formTextarea" name="'.$this->seo($alanlar[$key]).'" rows="3" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'></textarea>';
$veri.='</div>';
}
elseif($tip=='select'){
$veri.='<div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).' '.$zorunlu.':</b><br>';
$veri.='<select class="form-control formSelect" '.$required.' name="'.$this->seo($alanlar[$key]).'">';
$veri.='<option value="">'.$this->ceviri($alanlar[$key].' Seçiniz').'</option>';
$icVeriler = explode(',',$fVeriler[$key]);
foreach ($icVeriler as $iV){
$veri.='<option value="'.$this->ceviri($iV).'">'.$this->ceviri($iV).'</option>';
}
$veri.='</select>';
$veri.='</div>';
}
elseif($tip=='checkbox'){
$veri.='<div class="col-lg-12 col-md-12 col-sm-12 formCheck" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).' '.$zorunlu.':</b><br>';
$veri.='<div class="row">';
$icVeriler = explode(',',$fVeriler[$key]);
foreach ($icVeriler as $keyCheck=>$iV){
$veri.=' <div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 3px;">
<input type="checkbox" class="'.$this->seo($alanlar[$key]).'" name="'.$this->seo($alanlar[$key]).'[]" value="'.$this->ceviri($iV).'" id="'.$this->seo($iV).$keyCheck.'" '.$required.'>
<label for="'.$this->seo($iV).$keyCheck.'">
'.$this->ceviri($iV).'
</label>
</div>';
}
$veri.='</div>';
$veri.='</div>';
}
elseif($tip=='radio'){
$veri.='<div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).' '.$zorunlu.':</b><br>';
$veri.='<div class="row">';
$icVeriler = explode(',',$fVeriler[$key]);
foreach ($icVeriler as $keyRadio=>$iV){
$veri.=' <div class="col-lg-4 col-md-6 col-sm-12 formRadio" style="margin-top: 3px;">
<input type="radio" value="'.$this->ceviri($iV).'" class="'.$this->seo($alanlar[$key]).'" name="'.$this->seo($alanlar[$key]).'" id="'.$this->seo($iV).$keyRadio.'" '.$required.'>
<label for="'.$this->seo($iV).$keyRadio.'">
'.$this->ceviri($iV).'
</label>
</div>';
}
$veri.='</div>';
$veri.='</div>';
}
elseif($tip=='file'){
$veri.='<div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri($alanlar[$key]).' '.$zorunlu.':</b><br>';
$veri.='<input type="file" class="form-control fromFile" id="'.$this->seo($alanlar[$key]).'" name="'.$this->seo($alanlar[$key]).'" placeholder="'.$this->ceviri($alanlar[$key]).'" '.$required.'>';
$veri.='</div>';
}
}
$veri.='<div class="col-lg-3 col-md-3 col-sm-3" style="margin-top: 10px;">';
$veri.='<b style="font-size: 13px;">'.$this->ceviri('Güvenlik Kodu').' <span style="color:#ff0000;">* </span>:</b><br>';
$veri.='<div style="padding: 10px; margin-top: 5px; background-color: #000; text-align: center;"><img src="'.$this->ayarlar('siteYolu').'captcha" width="80"></div>';
$veri.='</div>';
$veri.='<div class="col-lg-9 col-md-9 col-sm-9" style="margin-top: 7px; padding-top: 27px;">';
$veri.='<input type="text" name="captcha" class="form-control formInput" placeholder="'.$this->ceviri('Güvenlik kodunu giriniz.').'" required onblur="return hepsiBuyuk(this)">';
$veri.='</div>';
$veri.='<div class="col-lg-12 col-md-12 col-sm-12 hata_'.$this->seo($form[0]['adi']).'" style="margin-top: 10px;">';
$veri.='</div>';
$veri.='<div class="col-lg-12 col-md-12 col-sm-12" style="margin-top: 10px;">';
$veri.='<button class="formBtn" type="button" onclick="formKayit(\''.$this->seo($form[0]['adi']).'\','.$form[0]['id'].');">'.$this->ceviri('Gönder').'</button>';
$veri.='</div>';
$veri .= '</div>';
$veri .= '</form>';
return $veri;
}
function site_kategoriGeriLi($ustid,$dil=1){
$em = $this->em;
$qb = $em->createQueryBuilder();
$kategoriler=$qb->select('k.id,k.dilgrup,k.adi,k.seourl,k.ustid,k.adi')
->from('App:Kategori', 'k')
->join('k.dil','d')
->where('k.dilgrup='.$ustid.' and d.id='.$dil)
->groupBy('k.dilgrup')
->orderBy('k.sira','ASC')
->getQuery()
->setResultCacheId('katgerili')
->setResultCacheLifetime(60)
->getScalarResult();
$veriler='';
foreach ($kategoriler as $k){
$veriler.=$this->site_kategoriGeriLi($k['ustid'],$dil).$k['adi'].'#'.$this->altKategoriGeriYaz($k['ustid'],$dil).$k['seourl'].'~';
}
return $veriler;
}
public function site_sayfaKategori($sDilgrup,$max=10){
$em = $this->em;
$dil = $this->session->get('dil');
$qb = $em->createQueryBuilder();
$sayfa=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan,s.description')
->from('App:Sayfa', 's')
->join('s.dil', 'd')
->join('s.modul', 'm')
->where('d.id='.$dil['id'].' and s.dilgrup='.$sDilgrup)
->orderBy('s.sira','ASC')
->getQuery()
->setResultCacheId('sayfa_kategori')
->setResultCacheLifetime(60)
->getScalarResult();
$sayfa = $sayfa[0];
$sId = $this->IdBul('Sayfa',$sayfa['dilgrup']);
if ($sayfa['kategori'] == 1) {
//İçerikler
$qb = $em->createQueryBuilder();
$kategoriler = $qb->select('k.adi,k.ustid,k.resim,k.dilgrup,k.seourl')
->from('App:Kategori', 'k')
->join('k.dil', 'd')
->join('k.sayfa', 's')
->where('s.id=' . $sId . ' and d.id=' . $dil['id'])
->addOrderBy('k.sira', 'ASC')
->addOrderBy('k.id', 'DESC')
->setMaxResults($max)
->getQuery()
->setResultCacheId('sayfa_kategoriic')
->setResultCacheLifetime(60)
->getScalarResult();
foreach ($kategoriler as $key=>$ii){
$link = $this->site_anaLink().$sayfa['seo'].'/'.$ii['seourl'];
$kategoriler[$key]['link']=$link;
}
}
$veri = [];
$veri[]=$sayfa;
$veri[]=$kategoriler;
return $veri;
}
public function site_formVeriGetir($formid){
$em = $this->em;
$qb = $em->createQueryBuilder();
$veri=$qb->select('fk.tarih,fk.kayit')
->from('App:FormKayit', 'fk')
->join('fk.form', 'f')
->where('f.id='.$formid)
->orderBy('fk.tarih','DESC')
->getQuery()
->setResultCacheId('formVerisi')
->setResultCacheLifetime(60)
->getScalarResult();
return $veri;
}
public function digerDiller($id){
$em = $this->em;
$qb = $em->createQueryBuilder();
$sabitler=$qb->select('c.id,d.kisa as diladi,d.aktif,c.deger,c.trId')
->from('App:Ceviri', 'c')
->join('c.dil', 'd')
->where('c.trId='.$id.' and d.aktif=1')
->getQuery()
->getScalarResult();
return $sabitler;
}
public function taslakBul($dilgrup){
return $this->session->get('taslak_'.$dilgrup);
}
public function popupGetir($sayfaId){
$em = $this->em;
$qb = $em->createQueryBuilder();
$popup=$qb->select('p.id,p.veri,p.tip,p.link,p.dilgrup')
->from('App:Popup', 'p')
->where("p.sayfaId=".$sayfaId)
->orderBy('p.dil','asc')
->getQuery()
->getScalarResult();
return $popup;
}
public function site_popupGetir($path){
$em = $this->em;
$dil = $this->session->get('dil');
$path2 = explode('/',$path);
if ($this->dilSay()>1) {
if (count($path2) > 2) {
$path = str_replace( $dil['kisa'].'/', '', $path);
} else {
$path = str_replace($dil['kisa'], '', $path);
}
}
$path = explode('/',$path);
if (empty($path[1])){
if(!$this->session->get('system_popup0')) {
$qb = $em->createQueryBuilder();
$popup = $qb->select('p.veri,p.link,p.tip,p.dilgrup')
->from('App:Popup', 'p')
->join('p.dil', 'd')
->where("p.sayfaId=0 and d.id=" . $dil['id'])
->getQuery()
->getScalarResult();
$this->session->set('system_popup0',1);
} else {
$popup = "";
}
} else {
$qb = $em->createQueryBuilder();
$sayfa=$qb->select('s.dilgrup')
->from('App:Sayfa', 's')
->join('s.dil','d')
->where("s.seo='".$path[1]."'")
->getQuery()
->getScalarResult();
if(!$this->session->get('system_popup'.$sayfa[0]['dilgrup'])) {
$qb = $em->createQueryBuilder();
$popup = $qb->select('p.veri,p.link,p.tip,p.dilgrup')
->from('App:Popup', 'p')
->join('p.dil', 'd')
->where("p.sayfaId=" . $sayfa[0]['dilgrup'] . " and d.id=" . $dil['id'])
->getQuery()
->getScalarResult();
$this->session->set('system_popup'.$sayfa[0]['dilgrup'],1);
} else {
$popup = "";
}
}
if (empty($popup)){
return "";
}else{
return $popup[0];
}
}
public function IdBul($entity,$id){
$em = $this->em;
$qb = $em->createQueryBuilder();
$veriler=$qb->select('x.id')
->from('App:'.$entity, 'x')
->join('x.dil','d')
->where('x.dilgrup='.$id)
->groupBy('x.dil')
->getQuery()
->getScalarResult();
return $veriler[0]['id'];
}
public function imgOlustur($resim,$yukseklik=300,$radius=0,$size='cover'){
if ($resim==''){
$resim="resimyok.webp";
}
return '<div style="background-image: url(/storage/'.$resim.');background-size: '.$size.'; background-repeat: no-repeat; overflow: hidden; width: 100%; height: '.$yukseklik.'px; background-position: center;border-radius: '.$radius.'px;"></div>';
}
function anasayfaIcerikleri()
{
$em = $this->em;
$dil = $this->session->get('dil');
$qb = $em->createQueryBuilder();
$sayfalar=$qb->select('s.id,s.adi,s.dilgrup,s.seo,s.kategori,s.tekVeri,s.icIcerik,m.tabloAdi,m.alan')
->from('App:Sayfa', 's')
->join('s.dil', 'd')
->join('s.modul', 'm')
->where('d.id='.$dil['id'])
->orderBy('s.sira','ASC')
->getQuery()
->setResultCacheId('menu_sayfalar')
->setResultCacheLifetime(60)
->getScalarResult();
$veriler = [];
foreach ($sayfalar as $sayfa){
$sId = $this->IdBul('Sayfa',$sayfa['dilgrup']);
$sLink = $this->site_anaLink().$sayfa['seo'];
if ($sayfa['kategori'] == 0) {
$veriler[$sayfa['dilgrup']]= $this->site_sayfaIcerik($sayfa['dilgrup']);
}
else {
$veriler[$sayfa['dilgrup']]= $this->site_sayfaKategori($sayfa['dilgrup']);
}
}
return $veriler;
}
function ustMenuler($sayfa,$kategori="",$icerik="",$kategoriV="")
{
$em = $this->em;
$dil = $this->session->get('dil');
$veriler = [];
$veriler[] = ['adi'=>$this->ceviri('Anasayfa'),'link'=>$this->site_anaLink()];
$qb = $em->createQueryBuilder();
$sayfa=$qb->select('s.id,s.adi,s.dilgrup,s.seo')
->from('App:Sayfa', 's')
->join('s.dil', 'd')
->join('s.modul', 'm')
->where('d.id='.$dil['id'].' and s.dilgrup='.$sayfa)
->getQuery()
->setResultCacheId('menuSayfa')
->setResultCacheLifetime(60)
->getScalarResult();
$veriler[] = ['adi'=>$sayfa[0]['adi'],'link'=>$this->site_anaLink().$sayfa[0]['seo']];
if ($kategori!=''){
$kattlar = explode('~',$this->site_kategoriGeriLi($kategori,$dil['id']));
foreach ($kattlar as $kat){
if($kat!=''){
$x = explode('#',$kat);
$veriler[] = ['adi'=>$x[0],'link'=>$this->site_anaLink().$sayfa[0]['seo'].'/'.$x[1]];
}
}
}
if ($icerik!='-'){
$ii = explode('-',$icerik);
$veriler[] = ['adi'=>$ii[0],'link'=>'#'];
}
if ($kategoriV!=''){
$veriler[] = ['adi'=>$kategoriV,'link'=>'#'];
}
return $veriler;
}
function veriYenile($veriler,$sayfaSeo,$kategori=0)
{
$em = $this->em;
$dil = $this->session->get('dil');
$yeniVeri=[];
foreach ($veriler as $key=>$veri){
$alt='';
if($kategori==1){
$alt = $this->altKategoriGeriYaz($veri['kategoriId'],$dil['id']);
}
$veri['link'] = $this->site_anaLink().$sayfaSeo.'/'.$alt.$veri['seourl'];
if (array_key_exists('resimler', $veri)) {
$veri['resim'] = explode(',',$veri['resimler'])[0];
}
$yeniVeri[]=$veri;
}
return $yeniVeri;
}
function kategoriVeriYenile($veriler,$sayfaSeo)
{
$em = $this->em;
$dil = $this->session->get('dil');
$yeniVeri=[];
foreach ($veriler as $key=>$veri){
$alt = $this->altKategoriGeriYaz($veri['ustid'],$dil['id']);
$veri['link'] = $this->site_anaLink().$sayfaSeo.'/'.$alt.$veri['seourl'];
$yeniVeri[]=$veri;
}
return $yeniVeri;
}
function icerikSolMenuler($sayfaDilgrup,$kategoriDilgrup)
{
$em = $this->em;
$dil = $this->session->get('dil');
$yeniVeri=[];
if ($kategoriDilgrup!=''){
$veriler = $this->site_sayfaIcerikDirek($sayfaDilgrup);
}else{
$veriler = $this->site_sayfaIcerik($sayfaDilgrup);
}
foreach ($veriler[1] as $veri) {
$yeniVeri[]=$veri;
}
return $yeniVeri;
}
function footerSayfaDilgrup()
{
$em = $this->em;
$qb = $em->createQueryBuilder();
$sss=$qb->select('s.dilgrup')
->from('App:Sayfa', 's')
->where('s.footer=1')
->getQuery()
->getScalarResult();
return $sss[0]['dilgrup'];
}
}