Exemple #1
0
 /**
  * gonderilen değer ,eğer kelimede geçiyorsa onu kelime içinden çıkar
  *
  * @example $Expression='DOĞA-GÖKÇE-ÇAYKUR-DOĞA-DR.OETKER-MEHMET+EFENDİ';
  *          $kelime='DOĞA';
  *          string2unique($Expression, $kelime);
  *          sonuc 'GÖKÇE-ÇAYKUR-DR.OETKER-MEHMET+EFENDİ';
  * @param string $Expression
  * @param string $kelime
  *            sonuna eklenecek olan kelime
  * @access public
  * @return array
  *
  */
 public static function string2unique($Expression, $kelime)
 {
     $kelime = \Lib\Strings::cevir_artiya($kelime);
     $Expression = \Lib\Strings::cevir_artiya($Expression);
     // tekrar + işareti ver
     if (!empty($Expression)) {
         $s = explode('-', $Expression);
         if (in_array($kelime, $s)) {
             $deleted = array($kelime);
             $sonuc = array_diff($s, $deleted);
             // boşlukları sildir
             $yeni = array_unique($sonuc);
             // aynı olanları sil
             return implode("-", $yeni);
         } else {
             return $Expression . '-' . $kelime;
         }
     } else {
         return null;
     }
 }
Exemple #2
0
 /**
  * marka linkleri ile ilgili işlemlerin yapılacağı kısım
  *
  * @access view/urunler_view erişir
  * @param string $eklenecek_kelime
  * @return string
  */
 public static function FilterLink($ozellik, $deger)
 {
     $eklenecek_kelime = \Lib\Strings::cevir_artiya($deger);
     $url = \Lib\Tools::currentPageURL();
     $urlPathAdresi = parse_url($url, PHP_URL_PATH);
     $QueryName = parse_url($url, PHP_URL_QUERY);
     parse_str($QueryName, $query2arrayCiktisi);
     $dir = substr(DIR, 0, -1);
     // bu / işareti sil
     // query parametresi hiç yoksa
     if (!empty($QueryName)) {
         // eğer $_GET['marka'] değer i zaten varsa onu yedekle sonra sil
         if (array_key_exists($ozellik, $query2arrayCiktisi)) {
             // echo 'girer';
             // eğer get[ozellik] boş değilse
             if (!empty($query2arrayCiktisi[$ozellik])) {
                 // echo $ozellik . 'yazdı';
                 unset($query2arrayCiktisi['page']);
                 // paigination değerini sil eğer silinmeseydi mesela
                 // http://smvc.dev/kategoriler/gida_ve_icecek/sicak_icecekler?sort=artanFiyat&page=7&m=JACOPS-MEHMET+EFEND%C4%B0 bu linkde hata verir di çünkü page=7 yoktur 3 ürün var
                 $mdegeri = $query2arrayCiktisi[$ozellik] . '-' . \Lib\Strings::cevir_artiya($eklenecek_kelime);
                 $yeni = \Lib\Arrays::string2unique($query2arrayCiktisi[$ozellik], $eklenecek_kelime);
                 $marka_stack = '&' . $ozellik . '=' . $yeni;
                 unset($query2arrayCiktisi[$ozellik]);
                 // diziden kaldır tekrar oluşan linkleme dongusüne girmesin
                 $linkleme = '';
                 // m harici kalan query değerlerini de ekler diziye
                 foreach ($query2arrayCiktisi as $key => $value) {
                     $linkleme .= '&' . $key . '=' . $value;
                 }
                 $linkleme = substr($linkleme, 1);
                 return self::LinkTemizle($dir . $urlPathAdresi . '?' . $linkleme . $marka_stack . '');
             } else {
                 $mdegeri = $query2arrayCiktisi[$ozellik] . '-' . $eklenecek_kelime;
                 $mdegeri = substr($mdegeri, 1);
                 // bastaki - temizle
                 $yeni = \Lib\Strings::cevir_artiya($mdegeri);
                 // eğer zaten kendisi var ise link içinde olmasın
                 $marka_stack = '&' . $ozellik . '=' . $yeni;
                 unset($query2arrayCiktisi[$ozellik]);
                 // diziden kaldır tekrar donguye tekrar girmesin
                 $linkleme = '';
                 // m harici kalan query değerlerini de ekler diziye
                 foreach ($query2arrayCiktisi as $key => $value) {
                     $linkleme .= '&' . $key . '=' . $value;
                 }
                 return self::LinkTemizle($dir . $urlPathAdresi . '?' . $linkleme . $marka_stack . '');
             }
         } else {
             // m harici bir link var mı onları da al
             if (!empty($QueryName)) {
                 $linkleme = '';
                 foreach ($query2arrayCiktisi as $key => $value) {
                     $linkleme .= '&' . $key . '=' . $value;
                 }
             }
             return self::LinkTemizle($dir . $urlPathAdresi . '?' . ($linkleme .= '&' . $ozellik . '=' . $eklenecek_kelime));
         }
     } else {
         return self::LinkTemizle($dir . $urlPathAdresi . '?' . $ozellik . '=' . $eklenecek_kelime);
     }
 }