Change Log of Joomsport: Adding Order to Teams within one Group

85 篇文章 0 订阅
62 篇文章 0 订阅

Target:


To let user can order the teams of one certain group(like 超組) of a season.


Database Change


Tables: jos_bl_grteams


add-order-to


PHP Change


/administrator/components/com_joomsport/admin.joomsport.html.php


Change 'JS_getObj' function defination


Append:


// added by Vincent 23-Oct-2011
function VINZ_popOdreredTeam(formName, srcListName, hidInputName)
{
	var form = eval( 'document.' + formName );
	var srcList = eval( 'form.' + srcListName );
	var hidInput = eval( 'form.' + hidInputName );

	var teamIDs = "vince";
	var srcLen = srcList.length;
	for (var i=0; i < srcLen; i++)
	{
		teamIDs += "," + srcList.options[i].value;
	}
	hidInput.value = teamIDs;
	//alert(teamIDs);
}

This will be invoked in the submit function in Group Save function.


Change 'bl_editGroup' function defination:


Insert lines: ----- add the javascript function to record the ordered team ids


// added by Vincent 23-Oct-2011
VINZ_popOdreredTeam('adminForm','teams_seasons', 'vin_order');
// end


To:


function submitbutton(pressbutton) {
	var form = document.adminForm;
	if (pressbutton == 'group_save' || pressbutton == 'group_apply') {
		if(form.group_name.value != "" && form.s_id.value != 0){
			if('<?php echo $row->id?>' != 0){
				var srcListName = 'teams_seasons';
				var srcList = eval( 'form.' + srcListName );
				if(srcList){
				var srcLen = srcList.length;

				for (var i=0; i < srcLen; i++) {
						srcList.options[i].selected = true;
				}
				}
			}
			// added by Vincent 23-Oct-2011
			<?php
			if($row->id && $row->s_id)
			{
			?>
			VINZ_popOdreredTeam('adminForm','teams_seasons', 'vin_order');
			// end
			<?php
			}
			?>
			submitform( pressbutton );
			return;
		}else{
			alert("<?php echo JText::_( 'BLBE_JSMDNOT10' ); ?>");
		}
	}else{
		submitform( pressbutton );
			return;
	}
}



Insert line: ---- add the hidden input field


<!-- order added by Vincent -->
<input type="hidden" name="vin_order" value="this is a test" />
<!-- end -->

To:


	<?php
		}
		?>

		<!-- order added by Vincent -->
		<input type="hidden" name="vin_order" value="this is a test" />
		<!-- end -->
		<input type="hidden" name="option" value="<?php echo $option?>" />
		<input type="hidden" name="task" value="" />
		<input type="hidden" name="id" value="<?php echo $row->id?>" />
		<input type="hidden" name="boxchecked" value="0" />
		<?php echo JHTML::_( 'form.token' ); ?>
		</form>

/administrator/components/com_joomsport/admin.joomsport.php


Change 'BL_GroupEdit' function defination --------- Add 'ORDER' clause to the SELECT query


From:


if($is_id)
{
	$query = "SELECT * FROM #__bl_teams as t, #__bl_season_teams as st WHERE st.season_id = ".$row->s_id." AND t.id = st.team_id";
	$db->setQuery($query);
	$teams = $db->loadObjectList();
	$lists['teams'] = @JHTML::_('select.genericlist',   $teams, 'teams_id', 'class="inputbox" size="10" multiple', 'id', 't_name', 0 );

	$query = "SELECT t.id as id, t.t_name as t_name " .
			"FROM #__bl_season_teams as st, #__bl_teams as t, #__bl_grteams as gr " .
			"WHERE gr.t_id = t.id AND gr.g_id = "
			.$row->id
			." AND st.season_id = "
			.$row->s_id
			." AND t.id = st.team_id";
	$db->setQuery($query);
	$teams_season = $db->loadObjectList();
	...


To:


if($is_id)
{
	$query = "SELECT * FROM #__bl_teams as t, #__bl_season_teams as st WHERE st.season_id = ".$row->s_id." AND t.id = st.team_id ORDER BY t.id";
	$db->setQuery($query);
	$teams = $db->loadObjectList();
	$lists['teams'] = @JHTML::_('select.genericlist',   $teams, 'teams_id', 'class="inputbox" size="10" multiple', 'id', 't_name', 0 );

	$query = "SELECT t.id as id, t.t_name as t_name, gr.vin_g_order as g_order " .
			"FROM #__bl_season_teams as st, #__bl_teams as t, #__bl_grteams as gr " .
			"WHERE gr.t_id = t.id AND gr.g_id = "
			.$row->id
			." AND st.season_id = "
			.$row->s_id
			." AND t.id = st.team_id ORDER BY g_order";
	$db->setQuery($query);
	$teams_season = $db->loadObjectList();


Change 'BL_GroupSave' function defination --------- Receive the 'vin_order' hidden input from front end and insert into database with order


From:


...
$teams_season = JRequest::getVar( 'teams_seasons', array(0), '', 'array' );

JArrayHelper::toInteger($teams_season, '');

if(count($teams_season)){
	foreach($teams_season as $teams){
		$query = "INSERT INTO #__bl_grteams(g_id,t_id) VALUES(".$row->id.",".$teams.")";
		$db->setQuery($query);
		$db->query();
	}
}
...

To:


...
// added by Vincent 23-Oct-2011
$order_test = JRequest::getVar( 'vin_order', 'failed', '', 'String');

$team_ids = explode(",", $order_test);

array_shift($team_ids);

JArrayHelper::toInteger($team_ids, '');

if(count($team_ids)){
	$vin_ord = 1;
	foreach($team_ids as $teams){
		$query = "INSERT INTO #__bl_grteams(g_id, t_id, vin_g_order) VALUES(" . $row->id . "," . $teams . "," . $vin_ord .")";
		$db->setQuery($query);
		$db->query();
		$vin_ord++;
	}
}	
...


/components/com_joomsport/views/homevsaway/view.html.php


Change 'display' function defination ---- change the SELECT query with 'ORDER'


From:


...
$query = "SELECT t.id, t.t_name FROM #__bl_teams AS t, #__bl_grteams AS gt " .
		"WHERE t.id = gt.t_id AND gt.g_id ="
		.$gr_id;
...


To:


...
$query = "SELECT t.id, t.t_name FROM #__bl_teams AS t, #__bl_grteams AS gt " .
		"WHERE t.id = gt.t_id AND gt.g_id ="
		.$gr_id
		." ORDER BY gt.vin_g_order";
...




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值