All pastes #368527 Raw Edit

Unnamed

public php v1 · immutable
#368527 ·published 2007-02-23 04:02 UTC
rendered paste body
	function reorder_categories()	{		global $db, $template;				$prev_cat_id = (int) request_var('prev', 0);		$next_cat_id = (int) request_var('next', 0);		$this_cat_id = (int) request_var('cat', 0);		$c_move_type = request_var('move', '');				if ( ($c_move_type == 'up' && !$prev_cat_id) || ($c_move_type == 'down' && !$next_cat_id) || !$this_cat_id )		{			return $this->categories_view();		}				$sql = 'SELECT c.cat_id, c.cat_order FROM (' . AWARDS_CATS_TABLE . ' c) 			WHERE c.cat_id IN (' . ( ($c_move_type == 'up') ? $prev_cat_id : $next_cat_id ) . ', ' . (int) $this_cat_id . ')';		$result = $db->sql_query($sql);				$this_cat_data = $alt_cat_data = false;		while ( $row = $db->sql_fetchrow($result) )		{			if ( $row['cat_id'] == $this_cat_id )			{				$this_cat_data = $row;			}			else			{				$alt_cat_data = $row;			}		}				$db->sql_freeresult($result);				if ( !$this_cat_data || !$alt_cat_data )		{			trigger_error('L_ERROR_SELECT_CAT_DATA');		}				$db->sql_query('UPDATE ' . AWARDS_CATS_TABLE . ' SET cat_order = ' . (int) $alt_cat_data['cat_order'] . ' WHERE cat_id = ' . (int) $this_cat_data['cat_id']);		$db->sql_query('UPDATE ' . AWARDS_CATS_TABLE . ' SET cat_order = ' . (int) $this_cat_data['cat_order'] . ' WHERE cat_id = ' . (int) $alt_cat_data['cat_id']);				$this->resync_cat_order();				return $this->categories_view();	}		function resync_cat_order()	{		global $db;				$sql = 'SELECT c.cat_id, c.cat_order FROM (' . AWARDS_CATS_TABLE . ' c) ORDER BY c.cat_order ASC';		$result = $db->sql_query($sql);				$catdata = array();		while ( $row = $db->sql_fetchrow($result) )		{			$catdata[] = $row;		}				$db->sql_freeresult();				for ( $i = 0 ; $i < sizeof($catdata) ; $i++ )		{			if ( $i <> $catdata[$i]['cat_order'] )			{				$db->sql_query('UPDATE ' . AWARDS_CATS_TABLE . ' SET cat_order = ' . (int) $i . ' WHERE cat_id = ' . (int) $catdata[$i]['cat_id']);			}		}				return;	}