$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">
>