Index: trunk/admin/category/addcategory_relations.php =================================================================== diff -u -N --- trunk/admin/category/addcategory_relations.php (revision 2853) +++ trunk/admin/category/addcategory_relations.php (revision 0) @@ -1,392 +0,0 @@ - $value) -{ - $path = $pathtoroot.$value."admin/include/parser.php"; - if( file_exists($path) ) include_once($path); -} - -/* ------------------------------------- Edit Table --------------------------------------------------- */ -unset($objEditItems); - -$objEditItems = new clsCatList(); -$objEditItems->SourceTable = $objSession->GetEditTable("Category"); - -//Multiedit init -$en = (int)$_GET["en"]; -$objEditItems->Query_Item("SELECT * FROM ".$objEditItems->SourceTable); -$itemcount=$objEditItems->NumItems(); - -$c = $objEditItems->GetItemByIndex($en); - -if($itemcount>1) -{ - if ($en+1 == $itemcount) - $en_next = -1; - else - $en_next = $en+1; - - if ($en == 0) - $en_prev = -1; - else - $en_prev = $en-1; -} - -$action = "m_edit_category"; - -/* -------------------------------------- Section configuration ------------------------------------------- */ -$envar = "env=" . BuildEnv() . "&en=$en"; -$section = 'in-portal:editcategory_relations'; -$title = admin_language("la_Text_Editing")." ".admin_language("la_Text_Category")." '".$c->Get("Name")."' - ".admin_language("la_tab_Relations"); - -$SortFieldVar = "Relation_LV_Sortfield"; -$SortOrderVar = "Relation_LV_Sortorder"; -$DefaultSortField = "ItemName"; -$PerPageVar = "Perpage_Relations"; -$CurrentPageVar = "Page_Relations"; -$CurrentFilterVar = "CatRel_View"; - -$ListForm = "permlistform"; -$CheckClass = "PermChecks"; - -$saveURL = $admin."/category/category_maint.php"; -$cancelURL = $admin."/".$objSession->GetVariable('ReturnScript'); -//echo $envar."
\n"; -/* ------------------------------------- Configure the toolbar ------------------------------------------- */ -$objListToolBar = new clsToolBar(); -$objListToolBar->Add("img_save", "la_Save","","swap('img_save','toolbar/tool_select_f2.gif');", "swap('img_save', 'toolbar/tool_select.gif');","do_edit_save('save_edit_buttons','CatEditStatus','$saveURL',1);","tool_select.gif"); -$objListToolBar->Add("img_cancel", "la_Cancel","","swap('img_cancel','toolbar/tool_cancel_f2.gif');", "swap('img_cancel', 'toolbar/tool_cancel.gif');","do_edit_save('save_edit_buttons','CatEditStatus','".$cancelURL."',2);","tool_cancel.gif"); -if($itemcount == 1) $objListToolBar->Add("divider"); -$objListToolBar->Set("section",$section); -$objListToolBar->Set("load_menu_func",""); -$objListToolBar->Set("CheckClass",$CheckClass); -$objListToolBar->Set("CheckForm",$ListForm); - -//Display header -$sec = $objSections->GetSection($section); - -if ( isset($en_prev) || isset($en_next) ) -{ - $url = $RootUrl.$admin."/category/addcategory_relations.php"; - $StatusField = "CatEditStatus"; - $form = "category"; - MultiEditButtons($objListToolBar,$en_next,$en_prev,$form,$StatusField,$url,$sec->Get("OnClick"),'','la_PrevCategory','la_NextCategory'); - $objListToolBar->Add("divider"); -} - -$listImages = array(); - //$img, $alt, $link, $onMouseOver, $onMouseOut, $onClick - -$objListToolBar->Add("new_rel", "la_ToolTip_New_Relation","#".$envar,"swap('new_rel','toolbar/tool_new_relation_f2.gif');", - "swap('new_rel', 'toolbar/tool_new_relation.gif');", - "OpenItemSelector('$envar&source=addcategory_relations&CatId=".$c->Get("CategoryId")."&destform=popup&destfield=itemlist&Selector=radio');", - "tool_new_relation.gif",FALSE,FALSE); - -$objListToolBar->Add("rel_edit","la_ToolTip_Edit","#", "if (PermChecks.itemChecked()) swap('rel_edit','toolbar/tool_edit_f2.gif');", - "if (PermChecks.itemChecked()) swap('rel_edit', 'toolbar/tool_edit.gif');","if (PermChecks.itemChecked()) PermChecks.check_submit('addrelation', '');", - "tool_edit.gif",TRUE,TRUE); -$listImages[] = "PermChecks.addImage('rel_edit','$imagesURL/toolbar/tool_edit.gif','$imagesURL/toolbar/tool_edit_f3.gif',1); "; - -$objListToolBar->Add("rel_del","la_ToolTip_Delete","#", "if (PermChecks.itemChecked()) swap('rel_del','toolbar/tool_delete_f2.gif');", - "if (PermChecks.itemChecked()) swap('rel_del', 'toolbar/tool_delete.gif');","if (PermChecks.itemChecked()) PermChecks.check_submit('addcategory_relations', 'm_rel_delete');", - "tool_delete.gif",FALSE,TRUE); -$listImages[] = "PermChecks.addImage('rel_del','$imagesURL/toolbar/tool_delete.gif','$imagesURL/toolbar/tool_delete_f3.gif',1); "; - -$objListToolBar->Add("divider"); - -$objListToolBar->Add("rel_move_up","la_ToolTip_Move_Up","#", "if (PermChecks.itemChecked()) swap('rel_move_up','toolbar/tool_move_up_f2.gif');", - "if (PermChecks.itemChecked()) swap('rel_move_up', 'toolbar/tool_move_up.gif');","if (PermChecks.itemChecked()) PermChecks.check_submit('addcategory_relations', 'm_rel_move_up');", - "tool_move_up.gif",FALSE,TRUE); -$listImages[] = "PermChecks.addImage('rel_move_up','$imagesURL/toolbar/tool_move_up.gif','$imagesURL/toolbar/tool_move_up_f3.gif',1); "; - -$objListToolBar->Add("rel_move_down","la_ToolTip_Move_Down","#", "if (PermChecks.itemChecked()) swap('rel_move_down','toolbar/tool_move_down_f2.gif');", - "if (PermChecks.itemChecked()) swap('rel_move_down', 'toolbar/tool_move_down.gif');","if (PermChecks.itemChecked()) PermChecks.check_submit('addcategory_relations', 'm_rel_move_down');", - "tool_move_down.gif",FALSE,TRUE); -$listImages[] = "PermChecks.addImage('rel_move_down','$imagesURL/toolbar/tool_move_down.gif','$imagesURL/toolbar/tool_move_down_f3.gif',1); "; - -$objListToolBar->Add("divider"); - -$objListToolBar->Add("viewmenubutton", "la_ToolTip_View","#","swap('viewmenubutton','toolbar/tool_view_f2.gif'); ", - "swap('viewmenubutton', 'toolbar/tool_view.gif');", - "ShowViewMenu();","tool_view.gif"); - -$objListToolBar->AddToInitScript($listImages); - -/* ----------------------------------------- Set the View Filter ---------------------------------------- */ -$Rel_AllValue = 255; - -$Bit_Categories = 1; -$Bit_Links = 2; -$Bit_News = 4; -$Bit_Topics = 8; - -$Bit_OneWay = 16; -$Bit_Recip = 32; - -$Bit_Enabled=64; -$Bit_Disabled=128; - -$FilterLabels[0] = admin_language("la_Text_Category"); -$FilterLabels[1] = admin_language("la_Text_Links"); -$FilterLabels[2] = admin_language("la_Text_Articles"); -$FilterLabels[3] = admin_language("la_Text_Topics"); -$FilterLabels[4] = admin_language("la_Text_OneWay"); -$FilterLabels[5] = admin_language("la_Text_Reciprocal"); -$FilterLabels[6] = admin_language("la_Text_Enabled"); -$FilterLabels[7] = admin_language("la_Text_Disabled"); - -$RelView = $objConfig->Get($CurrentFilterVar); - -if(!is_numeric($RelView)) -{ - $RelView = $Rel_AllValue; -} -else -{ - $RelTypes = array(); - if($RelView & $Bit_Categories) - $RelTypes[] = 1; - if($RelView & $Bit_Links) - $RelTypes[] = 4; - if($RelView & $Bit_News) - $RelTypes[] = 2; - if($RelView & $Bit_Topics) - $RelTypes[] = 3; - - $RelFilters = array(); - - if(count($RelTypes)) - { - $TypeFilter = "rel.TargetType IN (".implode(",",$RelTypes).")"; - } - - $RelTypes = array(); - if($RelView & $Bit_OneWay) - $RelTypes[] = 0; - - if($RelView & $Bit_Recip) - $RelTypes[] = 1; - - if(count($RelTypes)) - $RelFilters[] = "rel.Type IN (".implode(",",$RelTypes).")"; - - if($RelView & $Bit_Enabled) - $RelFilters[] = "rel.Enabled=1"; - - if($RelView & $Bit_Disabled) - $RelFilters[] = "rel.Enabled=0"; - - if(count($RelFilters)) - { - $RelFilter = $TypeFilter." AND (". implode(" OR ",$RelFilters).")"; - } - else - $RelFilter = $TypeFilter; -} - -//$r =& $c->RelationObject(); -$objRelList = new clsRelationshipList(); -$objRelList->SourceTable = $objSession->GetEditTable("Relationship"); -$reltable = $objRelList->SourceTable; - -// ==== build sql depending on modules installed: begin ==== -$prefix = GetTablePrefix(); -$modules = $objModules->GetModuleList(); -$sql_source = $objModules->ExecuteFunction('GetModuleInfo', 'rel_list'); - -$sql_templates['ItemName'] = 'IFNULL('.$prefix."%s.%s,' ')"; -$sql_templates['TableJoin'] = 'LEFT JOIN '.$prefix."%1\$s ON ".$prefix."%1\$s.ResourceId = rel.TargetId"; -$sql_templates['TargetName'] = "IF(rel.TargetType = %s, '%s', %s)"; - -$sql = "SELECT TRIM(CONCAT(%s)) AS ItemName, %s AS ItemType,". - GetELT('rel.Type+1', Array('la_Text_OneWay','la_Text_Reciprocal')).' AS RelationType,'. - "RelationshipId, rel.Priority AS Priority, rel.Type as Type, rel.Enabled as Enabled,". - GetELT('rel.Enabled+1', Array('la_Text_Disabled','la_Text_Enabled')).' AS Status '. - 'FROM '.$reltable.' AS rel %s WHERE rel.SourceId = '.$c->Get('ResourceId'); - -$sql_parts = Array(); -$sql_parts['TargetName'] = "''"; -foreach($modules as $module) -{ - $sql_parts['ItemName'][] = sprintf($sql_templates['ItemName'], $sql_source[$module]['MainTable'], $sql_source[$module]['ItemNameField']); - $sql_parts['TableJoin'][] = sprintf($sql_templates['TableJoin'], $sql_source[$module]['MainTable']); - - $sql_parts['TargetName'] = sprintf( $sql_templates['TargetName'], - $sql_source[$module]['TargetType'], - admin_language($sql_source[$module]['ItemNamePhrase']), - $sql_parts['TargetName']); -} -$sql = sprintf($sql, implode(', ',$sql_parts['ItemName']), $sql_parts['TargetName'], implode(' ',$sql_parts['TableJoin'])); -// ==== build sql depending on modules installed: end ==== - -if(strlen($RelFilter)) -{ - $sql .= " AND (".$RelFilter.")"; -} - -$SearchWords = $objSession->GetVariable("CatRelSearchWord"); -if(strlen($SearchWords)) -{ - $having = $objRelList->AdminSearchWhereClause($SearchWords); -} -else - $having = ""; - -if(strlen($having)) - $sql .= " HAVING ($having)"; - -if(strlen(trim($objConfig->Get($SortFieldVar)))) -{ - $order = " ORDER BY rel.Priority DESC, ".$objConfig->Get($SortFieldVar)." ".$objConfig->Get($SortOrderVar); -} -else - $order = " ORDER BY rel.Priority DESC"; - -if($objConfig->Get($CurrentPageVar)>0) -{ - $objRelList->Page = $objConfig->Get($CurrentPageVar); -} -if($objConfig->Get($PerPageVar)>0) -{ - $objListView->PerPage = $objConfig->Get($PerPageVar); -} - -$sql .= $order." ".$objRelList->GetLimitSQL(); -if($objSession->HasSystemPermission("DEBUG.LIST")) - echo htmlentities($sql,ENT_NOQUOTES)."
\n"; - -$objRelList->Query_Item($sql); - -/* ---------------------------------------- Configure the list view ---------------------------------------- */ - -$objListView = new clsListView($objListToolBar,$objRelList); -$objListView->IdField = "RelationshipId"; - -$objListView->ColumnHeaders->Add("ItemName",admin_language("la_ColHeader_Item"),1,0,$order,"width=\"30%\"",$SortFieldVar,$SortOrderVar,"ItemName"); -$objListView->ColumnHeaders->Add("ItemType",admin_language("la_ColHeader_ItemType"),1,0,$order,"width=\"20%\"",$SortFieldVar,$SortOrderVar,"ItemType"); -$objListView->ColumnHeaders->Add("RelationType",admin_language("la_prompt_RelationType"),1,0,$order,"width=\"10%\"",$SortFieldVar,$SortOrderVar,"RelationType"); -$objListView->ColumnHeaders->Add("Status",admin_language("la_prompt_Status"),1,0,$order,"width=\"10%\"",$SortFieldVar,$SortOrderVar,"Status"); -$objListView->ColumnHeaders->SetSort($objConfig->Get($SortFieldVar), $objConfig->Get($SortOrderVar)); - -$objListView->PrintToolBar = FALSE; -$objListView->SearchBar = TRUE; -$objListView->SearchKeywords = $SearchWords; -$objListView->SearchAction="m_rel_search"; -$objListView->CurrentPageVar = $CurrentPageVar; -$objListView->PerPageVar = $PerPageVar; -$objListView->CheckboxName = "itemlist[]"; - -$objListView->ConfigureViewMenu($SortFieldVar,$SortOrderVar,$DefaultSortField, - $CurrentFilterVar,$RelView,$Rel_AllValue); - -foreach($FilterLabels as $Bit=>$Label) -{ - $objListView->AddViewMenuFilter($Label,$Bit); -} - -for($i=0;$iItems);$i++) -{ - $rel =& $objRelList->GetItemRefByIndex($i); - - $objListView->RowIcons[] = $rel->Admin_Icon(); -} - -$objListToolBar->AddToInitScript("fwLoadMenus();\n"); - - -$filter = false; // always initialize variables before use -if($objSession->GetVariable("CatRelSearchWord") != '') { - $filter = true; -} -else { - if ($RelView != $Rel_AllValue) { - $filter = true; - } -} - -$h = "\n\n\n"; -int_header($objListToolBar,NULL, $title,NULL,$h); -if ($objSession->GetVariable("HasChanges") == 1) { -?> - - - - -
- -
- - - - - - -
- -
- -
-PrintList(); -?> - -"> -"> -
- - -
" name="viewmenu"> - - - - -
-
- > - - - - - -
-
- - -
- - - - \ No newline at end of file