ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Скрипт не віполняет функцию поиска
  #1  
Старый 26.05.2008, 18:04
Аватар для serg-php
serg-php
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме:
205760

Репутация: 28
По умолчанию Скрипт не віполняет функцию поиска

Код:
<?php
/*********************/
/*                   */
/*  Version : 5.1.0  */
/*  Author  : RM     */
/*  Comment : 071223 */
/*                   */
/*********************/

function ExportAdsData( $ql )
{
	$o_ex =& new ExportData( );
	$o_ex->TBL = TBL_AD;
	$o_ex->SQL = str_replace( "COUNT(*)", "*", $ql );
	$o_ex->Export( );
}

function Sv_GetAdmSelAdv( $a_v, $s_cur )
{
	$s = "";
	$f_sel = $s_cur ? 0 : 1;
	if ( $a_v )
	{
		foreach ( $a_v as $v )
		{
			list( $k, $v ) = explode( "|", $v );
			$s .= "<option";
			if ( !$f_sel && $k == $s_cur )
			{
				$f_sel = 1;
				$s .= " selected";
			}
			$s .= " value=\"".$k."\">".$v;
		}
	}
	return $s;
}

if ( !defined( "SITE_PATH" ) )
{
	exit( "Access Denied" );
}
checkloggedinadm( );
$whitelist = array(
	"cid" => array( "type" => "int" ),
	"MAX_F" => array( "type" => "int" ),
	"r_d" => array( "type" => "option", "options" => "int" ),
	"rlid" => array( "type" => "option", "options" => "int" ),
	"off" => array( "type" => "int" ),
	"per_row" => array( "type" => "int" ),
	"f_type" => array(
		"type" => "option",
		"options" => array( "disabled", "enabled", "expired", "pending" )
	),
	"s_by" => array( "type" => "regexp", "pattern" => "/^\\w+(,\\w+)?\$/" ),
	"exp1" => array( "type" => "regexp", "pattern" => "/^\\d{4}-\\d{2}-\\d{2}\$/" ),
	"exp2" => array( "type" => "regexp", "pattern" => "/^\\d{4}-\\d{2}-\\d{2}\$/" ),
	"sort_by" => array( "type" => "regexp", "pattern" => "/^\\w+(,\\w+)?\$/" ),
	"a_d" => array(
		"type" => "option",
		"options" => array( "asc", "desc" )
	)
);
$clean = esfilter( $_REQUEST, $whitelist );
$MAX_F = $clean['MAX_F'];
if ( $MAX_F < 0 )
{
	$MAX_F = 5;
}
if ( $_REQUEST['go'] && hwistokenok( ) )
{
	if ( $clean['r_d'] )
	{
		$ql = "SELECT * FROM ".TBL_AD." WHERE link_id IN(\"".implode( "\",\"", $clean['r_d'] )."\")";
		hwdeleteads( $ql );
	}
	if ( $clean['rlid'] )
	{
		include_once( SITE_PATH.ADMIN_DIR."/approval_notify.php" );
		foreach ( $clean['rlid'] as $id )
		{
			$apr = $_REQUEST['r_on'][$id] ? "1" : "0";
			approvalnotify( $apr, $id );
			$db->query( "UPDATE ".TBL_AD." SET approved=\"".$apr."\" WHERE link_id=\"".$id."\"" );
		}
	}
}
$per_row = $clean['per_row'];
if ( !$per_row )
{
	$per_row = 10;
}
if ( !$clean['off'] || $_SERVER['REQUEST_METHOD'] != "GET" )
{
	$clean['off'] = 0;
}
$num = $clean['off'] * $per_row;
$ql = "SELECT COUNT(*) FROM ".TBL_AD." a WHERE 1".hwadmfiltergetsql( );
$today = date( "Y-m-d" );
$exp1 = $clean['exp1'] ? $clean['exp1'] : "0000-00-00";
$exp2 = $clean['exp2'] ? $clean['exp2'] : $today;
switch ( $clean['f_type'] )
{
case "disabled" :
	$ql .= " AND a.approved=\"0\"";
	break;
case "enabled" :
	$ql .= " AND a.approved=\"1\"";
	break;
case "expired" :
	$day_time = $exp2 == $today ? date( "H:i:s" ) : "23:59:59";
	$ql .= " AND a.exp_date BETWEEN '{$exp1}' AND '{$exp2} {$day_time}'";
	break;
case "pending" :
	$ql .= " AND a.exp_date=\"0000-00-00\"";
	break;
}
$fset = "";

#####################
$q = trim((boolean)$_REQUEST['q'] );
######################################

$s_by = $clean['s_by'];
if ( $q != "" && $s_by )
{
	list( $s_by_field, $fset ) = explode( ",", $s_by );
	$quoted_q = addcslashes( $db->quote( $q ), "%_" );
	

	if ( substr( $s_by_field, -3 ) == "_ex" )
	{
		$s_by_field = substr( $s_by_field, 0, -3 );
		if ( hwtablecolumnexists( TBL_AD, $s_by_field ) )
		{
			$ql .= " AND a.".$s_by_field." = \"".$quoted_q."\"";
		}
	}
	else if ( hwtablecolumnexists( TBL_AD, $s_by_field ) )
	{
		$ql .= " AND a.{$s_by_field} LIKE '%".$quoted_q."%'";
	}
}
$sort_by = $clean['sort_by'];
$cid = $clean['cid'];
if ( $cid )
{
	$ql .= " AND a.catid IN(".get_daughter_cats( $cid ).")";
}
if ( $_REQUEST['submexport'] )
{
	exportadsdata( $ql );
}
$numrecs = $db->one_data( $ql );
$f_type = $clean['f_type'];
$sort_by = $clean['sort_by'] ? $clean['sort_by'] : "link_id_ex";
list( $sort_by_col ) = explode( ",", $sort_by );
if ( substr( $sort_by_col, -3 ) == "_ex" )
{
	$sort_by_col = substr( $sort_by_col, 0, -3 );
}
if ( !hwtablecolumnexists( TBL_AD, $sort_by_col ) )
{
	$sort_by_col = "link_id";
}
$a_d = $clean['a_d'] ? $clean['a_d'] : "desc";
$nav = getnavigation( "index.php", $per_row, 10, $numrecs, $clean['off'], compact( "page", "MAX_F", "f_type", "per_row", "s_by", "cid", "q", "exp1", "exp2", "sort_by", "a_d" ) );
$tpl =& new HawkTpl( );
$tpl->InitArray( "row" );
$ql = str_replace( "COUNT(*)", "a.*,UNIX_TIMESTAMP(a.hw_added) AS fdate,UNIX_TIMESTAMP(a.hw_updated) AS udate", $ql )." ORDER BY ".$sort_by_col." ".$a_d." LIMIT ".$num.",".$per_row;
if ( $fset )
{
	$ql = str_replace( TBL_AD." a WHERE", TBL_AD." a, ".TBL_CAT." c WHERE a.catid=c.id AND c.fset=".$db->esc( $fset )." AND", $ql );
}
$res = $db->query( $ql );
if ( mysql_num_rows( $res ) == 0 )
{
	$tpl->AddCell( "row", "", "no" );
}
else
{
	$z = array( );
	while ( $v = mysql_fetch_assoc( $res ) )
	{
		$O_FS =& Factory::singleton( "FieldsSet", hwgetfsbycat( $v['catid'] ) );
		$z['cust_fields'] = "";
		$cur_field = 0;
		$v = $O_FS->FillCustomFieldsArray( $v );
		$O_FS->AdjustCustomFields( $v );
		$O_FS->rewind( );
		while ( $o_f =& $O_FS->next( ) )
		{
			$f_id = $o_f->ID;
			$f_v = strip_tags( $v[$f_id] );
			if ( 2255 < strlen( $f_v ) )
			{
				$f_v = substr( $f_v, 0, 2255 )."..";
			}
			$z['cust_fields'] .= "<b>".$o_f->TITLE.":</b> ".$f_v."<br>";
			++$cur_field;
			if ( $MAX_F < $cur_field )
			{
				break;
			}
		}
		$z['cat_path'] = showcategorypath( $v['catid'], "index.php?page=admin&pid=##cid##" );
		if ( $v['images'] )
		{
			$z['images'] = explode( "\n", $v['images'] );
			$z['images_num'] = count( $z['images'] );
			$z['images'] = $z['images'][0];
		}
		else
		{
			$z['images'] = "";
			$z['images_num'] = 0;
		}
		$z['number'] = ++$num;
		$a_f = array( "link_id", "catid", "userid", "approved", "fdate", "udate", "hw_lang_id" );
		foreach ( $a_f as $_f )
		{
			$z[$_f] = $v[$_f];
		}
		$z['approved'] = $z['approved'] ? "checked" : "";
		$z['fdate'] = strftime( $DATE_FMT, $z['fdate'] );
		$z['udate'] = strftime( $DATE_FMT, $z['udate'] );
		$tpl->AddCell( "row", $z );
	}
}
$a_no_search = array( "date", "datetime", "hidden", "checkboxes", "depmenu" );
$O_LFS =& Factory::singleton( "FieldsSet" );
if ( !EN_FSETS )
{
	$a_v = array( "link_id_ex" => "{ID}", "userid_ex" => "{User_ID}", "hw_pay_plan" => "{Price_Plan}" );
	$a_sort_extra = array( );
	$O_LFS->rewind( );
	while ( $o_f =& $O_LFS->next( ) )
	{
		if ( in_array( $o_f->TYPE, $a_no_search ) )
		{
			$a_sort_extra[] = $o_f->DB_F;
			continue;
		}
		$f_db = $o_f->DB_F;
		$a_v[$f_db] = $o_f->TITLE;
	}
	$s_by = getadmsel( $a_v, $s_by );
	$sort_by = getadmsel( array_merge( $a_v, $a_sort_extra ), $sort_by );
}
else
{
	$a_v = array( "link_id_ex|{ID}", "userid_ex|{User_ID}", "hw_pay_plan|{Price_Plan}" );
	$a_sort_extra = array( );
	$O_LFS->rewind( );
	$started = false;
	while ( $o_f =& $O_LFS->next( ) )
	{
		if ( $o_f->DB_F == "exp_date" )
		{
			$started = true;
		}
		if ( $o_f->ACTIVE || in_array( $o_f->TYPE, $a_no_search ) || !$started )
		{
			if ( $started )
			{
				$a_sort_extra[] = $o_f->DB_F."|".$o_f->TITLE;
				continue;
			}
		}
		$f_db = $o_f->DB_F;
		$a_v[] = $f_db."_ex|".$o_f->TITLE;
	}
	$ql = "SELECT DISTINCT(fset) FROM ".TBL_CAT;
	if ( $cid )
	{
		$ql .= " WHERE id IN(".get_daughter_cats( $cid ).")";
	}
	$ql .= " ORDER BY fset";
	$a_fs = $db->one_col_array( $ql );
	foreach ( $a_fs as $fs )
	{
		$a_v[] = "|=== {$fs} ===";
		$O_LFS->Init( $fs );
		$O_LFS->rewind( );
		while ( $o_f =& $O_LFS->next( ) )
		{
			if ( !$o_f->ACTIVE || in_array( $o_f->TYPE, $a_no_search ) )
			{
				continue;
			}
			$f_db = $o_f->DB_F;
			$a_v[] = "{$f_db},{$fs}|".$o_f->TITLE;
		}
	}
	$s_by = sv_getadmseladv( $a_v, $s_by );
	$sort_by = sv_getadmseladv( array_merge( $a_sort_extra, $a_v ), $sort_by );
}
$a_v = array( "10" => "10", "15" => "15", "20" => "20", "25" => "25", "30" => "30", "40" => "40", "50" => "50", "75" => "75", "100" => "100" );
$per_row = getadmsel( $a_v, $per_row );
$a_v = array( "enabled" => "{Enabled}", "disabled" => "{Disabled}" );
if ( EN_EXP_DATE )
{
	$a_v['expired'] = "{Expired}";
	$a_v['pending'] = "{Pending}";
}
$f_type = getadmsel( $a_v, $clean['f_type'] );
$a_v = array( "asc" => "{Ascendant}", "desc" => "{Descendant}" );
$a_d = getadmsel( $a_v, $a_d );
$cat = $cid ? showcategorypath( $cid ) : "{All_Categories}";
$q = htmlspecialchars( $q, ENT_QUOTES, $CHARSET );


$tpl->Parse( ADM_TPL_PATH."items_list.htm", "\$numrecs,\$cid,\$q,\$MAX_F,\$exp1,\$exp2,\$nav,\$f_type,\$per_row,\$a_d,\$cat,\$s_by,\$sort_by", 1 );
?>
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу скрипт mlm пирамиды... Linuxoid PHP, PERL, MySQL, JavaScript 9 04.06.2008 12:50
Google продвигает новые методы поиска Doom123 Мировые новости 2 07.02.2008 14:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ