Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Търсене на кирилица?

Featured Replies

Някой ако има някаква идея какво да направя, че да може да се търси на кирилица в търсачката на торента, наистина ще съм му много благодарен и ще получи VIP статус, 1TB качено и личен имунитет от мен, в един от най-големите български тракер, но няма да казвам кой е за да не стане така, че правя реклама :) Та както ще да е, ще ви дам php кода на страницата където е стринга на търсенето:

$cats = genrelist();


$searchstr = unesc($_GET["search"]);

$cleansearchstr = searchfield($searchstr);

if (empty($cleansearchstr))

		unset($cleansearchstr);


// sorting by MarkoStamcar


if ($_GET['sort'] && $_GET['type']) {


$column = '';

$ascdesc = '';


		switch($_GET['sort']) {

				case '1': $column = "name"; break;

				case '2': $column = "numfiles"; break;

				case '3': $column = "comments"; break;

				case '4': $column = "added"; break;

				case '5': $column = "size"; break;

				case '6': $column = "times_completed"; break;

				case '7': $column = "seeders"; break;

				case '8': $column = "leechers"; break;

				case '9': $column = "owner"; break;

  default: $column = "id"; break;

		}


		switch($_GET['type']) {

  case 'asc': $ascdesc = "ASC"; $linkascdesc = "asc"; break;

  case 'desc': $ascdesc = "DESC"; $linkascdesc = "desc"; break;

  default: $ascdesc = "DESC"; $linkascdesc = "desc"; break;

		}



$orderby = "ORDER BY torrents." . $column . " " . $ascdesc;

$pagerlink = "sort=" . intval($_GET['sort']) . "&type=" . $linkascdesc . "&";


} else {


$orderby = "ORDER BY torrents.id DESC";

$pagerlink = "";


}


$addparam = "";

$wherea = array();

$wherecatina = array();


if ($_GET["incldead"] == 1)

{

		$addparam .= "incldead=1&";

		if (!isset($CURUSER) || get_user_class() < UC_ADMINISTRATOR)

				$wherea[] = "banned != 'yes'";

}

elseif ($_GET["incldead"] == 2)

{

		$addparam .= "incldead=2&amp;";

				$wherea[] = "visible = 'no'";

}

		else

				$wherea[] = "visible = 'yes'";


$category = (int)$_GET["cat"];


$all = $_GET["all"];

$blah = $_GET['blah'];


if (!$all)

		if (!$_GET && $CURUSER["notifs"])

		{

		  $all = True;

		  foreach ($cats as $cat)

		  {

			$all &= $cat[id];

			if (strpos($CURUSER["notifs"], "[cat" . $cat[id] . "]") !== False)

			{

			  $wherecatina[] = $cat[id];

			  $addparam .= "c$cat[id]=1&amp;";

			}

		  }

		}

		elseif ($category)

		{

		  if (!is_valid_id($category))

			stderr("Error", "Invalid category ID.");

		  $wherecatina[] = $category;

		  $addparam .= "cat=$category&amp;";

		}

		else

		{

		  $all = True;

		  foreach ($cats as $cat)

		  {

			$all &= $_GET["c$cat[id]"];

			if ($_GET["c$cat[id]"])

			{

			  $wherecatina[] = $cat[id];

			  $addparam .= "c$cat[id]=1&amp;";

			}

		  }

		}


if ($all)

{

		$wherecatina = array();

  $addparam = "";

}


if (count($wherecatina) > 1)

		$wherecatin = implode(",",$wherecatina);

elseif (count($wherecatina) == 1)

		$wherea[] = "category = $wherecatina[0]";


$wherebase = $wherea;


if (isset($cleansearchstr)) {

  if ($blah == 0) {

	$wherea[] = "torrents.name LIKE (" . sqlesc($searchstr) . ")";

  } elseif ($blah == 1) {

	$wherea[] = "MATCH (search_text, ori_descr) AGAINST (" . sqlesc($searchstr) . ")";

  } elseif ($blah == 2) {

	$wherea[] = "MATCH (search_text, ori_descr) AGAINST (" . sqlesc($searchstr) . ")";

  }

	$addparam .= "search=" . urlencode($searchstr) . "&";

}


$where = implode(" AND ", $wherea);

if ($wherecatin)

		$where .= ($where ? " AND " : "") . "category IN(" . $wherecatin . ")";


if ($where != "")

		$where = "WHERE $where";


$res = mysql_query("SELECT COUNT(*) FROM torrents $where") or die(mysql_error());

$row = mysql_fetch_array($res);

$count = $row[0];


if (!$count && isset($cleansearchstr)) {

		$wherea = $wherebase;

//		$orderby = "ORDER BY id DESC";

		$searcha = explode(" ", $cleansearchstr);

		$sc = 0;

		foreach ($searcha as $searchss) {

				if (strlen($searchss) <= 1)

						continue;

				$sc++;

				if ($sc > 5)

						break;

				$ssa = array();

		if ($blah == 0) {

		  foreach (array("torrents.name") as $sss)

			$ssa[] = "$sss LIKE '%" . sqlwildcardesc($searchss) . "%'";

			$wherea[] = "(" . implode(" OR ", $ssa) . ")";

		} elseif ($blah == 1) {

		  foreach (array("search_text", "ori_descr") as $sss)

			$ssa[] = "$sss LIKE '%" . sqlwildcardesc($searchss) . "%'";

			$wherea[] = "(" . implode(" OR ", $ssa) . ")";

		} elseif ($blah == 2) {

		  foreach (array("search_text", "ori_descr") as $sss)

			$ssa[] = "$sss LIKE '%" . sqlwildcardesc($searchss) . "%'";

			$wherea[] = "(" . implode(" OR ", $ssa) . ")";

   }

		}

		if ($sc) {

				$where = implode(" AND ", $wherea);

				if ($where != "")

						$where = "WHERE $where";

				$res = mysql_query("SELECT COUNT(*) FROM torrents $where");

				$row = mysql_fetch_array($res);

				$count = $row[0];

		}

}


$torrentsperpage = $CURUSER["torrentsperpage"];

if (!$torrentsperpage)

		$torrentsperpage = 15;


if ($count)

{

	if ($addparam != "") { 

  if ($pagerlink != "") {

   if ($addparam{strlen($addparam)-1} != ";") { // & = &amp;

	$addparam = $addparam . "&" . $pagerlink;

   } else {

	$addparam = $addparam . $pagerlink;

   }

  }

	} else {

  $addparam = $pagerlink;

	}

$loc = "SELECT torrents.id, torrents.category, torrents.leechers, torrents.seeders, torrents.name, torrents.times_completed, torrents.size, torrents.added, torrents.comments,torrents.numfiles,torrents.filename,torrents.description,torre

nts.owner,IF(torrents.nfo <> '', 1, 0) as nfoav," .

"categories.name AS cat_name, categories.image AS cat_pic, users.username FROM torrents LEFT JOIN categories ON category = categories.id LEFT JOIN users ON torrents.owner = users.id WHERE recommended='yes'";

$reco = mysql_query($loc) or die(mysql_error());


		list($pagertop, $pagerbottom, $limit) = pager($torrentsperpage, $count, "browse.php?" . $addparam);

		$query = "SELECT torrents.id, torrents.category, torrents.leechers, torrents.seeders, torrents.name, torrents.times_completed, torrents.size, torrents.added, torrents.comments, torrents.numfiles, torrents.filename, torrents.description, torrents.descr, torrents.owner, torrents.free, IF(torrents.nfo <> '', 1, 0) as nfoav," .

//		"IF(torrents.numratings < $minvotes, NULL, ROUND(torrents.ratingsum / torrents.numratings, 1)) AS rating, categories.name AS cat_name, categories.image AS cat_pic, users.username FROM torrents LEFT JOIN categories ON category = categories.id LEFT JOIN users ON torrents.owner = users.id $where $orderby $limit";

		"categories.name AS cat_name, categories.image AS cat_pic, users.username FROM torrents LEFT JOIN categories ON category = categories.id LEFT JOIN users ON torrents.owner = users.id $where $orderby $limit";

		$res = mysql_query($query) or die(mysql_error());

}

else

		unset($res);

if (isset($cleansearchstr))

		stdhead("Резултати за \"$searchstr\"");

else

		stdhead();


?>

Надявам се някой да помогне, пробвал съм какво ли не. И да спомена, че коалицията на таблицата си е cp1251 ! Благодаря Ви предварително, а ако някой ми помогне и ако този някой има нещо за рекламиране, ще му пусна и безплатна реклама за 1 месец, като уникалните посетители за 1 месец са около 100 000

  • 4 месеца по-късно...

Е, то трябва да може да си се търси на кирилица, дори и без променяш този код.

Пробвай вместо да ползваш str* функции да ползваш mb_str*

Това иска допълнителен модул: mbstring за php мисля че се казва. Модула се използва за търсене на многобайтови стрингове

http://bg.php.net/mbstring

Надявам се някой да помогне, пробвал съм какво ли не. И да спомена, че коалицията на таблицата си е cp1251 ! Благодаря Ви предварително, а ако някой ми помогне и ако този някой има нещо за рекламиране, ще му пусна и безплатна реклама за 1 месец, като уникалните посетители за 1 месец са около 100 000

Колацията хубаво е cp1251, а какъв е енкодинга на страницата за търсене ?

  • 2 седмици по-късно...

И при мен има същия проблем. Пробвах с колация cp1251 и пак не става, $charset = "windows-1251"; sad.gif

Регистрирайте се или влезете в профила си за да коментирате

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.