Page MenuHomeIn-Portal Phabricator

advanced_view.php
No OneTemporary

File Metadata

Created
Thu, Nov 20, 11:07 PM

advanced_view.php

<?php
global $objConfig,$objSections,$section, $rootURL,$adminURL, $admin, $imagesURL,$envar,
$m_var_list_update,$objCatList, $homeURL, $upURL, $objSession,$DefaultTab;
global $CategoryFilter,$TotalItemCount;
global $Bit_All,$Bit_Pending,$Bit_Disabled,$Bit_New,$Bit_Pop,$Bit_Hot,$Bit_Ed;
//global $hideSelectAll;
$m_tab_Categories_hide = isset($DefaultTab) && ($DefaultTab == 'category') ? 0 : 1;
/* bit place holders for category view menu */
$Bit_Active=64;
$Bit_Pending=32;
$Bit_Disabled=16;
$Bit_New=8;
$Bit_Pop=4;
$Bit_Hot=2;
$Bit_Ed=1;
if( isset($_GET['SetTab']) ) $DefaultTab = $_GET["SetTab"];
// category list filtering stuff: begin
$CategoryView = $objConfig->Get("Category_View");
if(!is_numeric($CategoryView))
{
$CategoryView = 127;
}
$Category_Sortfield = $objConfig->Get("Category_Sortfield");
if( !strlen($Category_Sortfield) ) $Category_Sortfield = "Name";
$Category_Sortorder = $objConfig->Get("Category_Sortorder");
if( !strlen($Category_Sortorder) ) $Category_Sortorder = "desc";
$Perpage_Category = (int)$objConfig->Get("Perpage_Category");
if(!$Perpage_Category)
$Perpage_Category="'all'";
if($CategoryView == 127)
{
$Category_ShowAll = 1;
}
else
{
$Category_ShowAll = 0;
// FILTERING CODE V. 1.2
$where_clauses = Array(); $q = '';
//Group #1: Category Statuses (active,pending,disabled)
$Status = array(-1);
if($CategoryView & $Bit_Pending) $Status[] = STATUS_PENDING;
if($CategoryView & $Bit_Active) $Status[] = STATUS_ACTIVE;
if($CategoryView & $Bit_Disabled) $Status[] = STATUS_DISABLED;
if( count($Status) ) $where_clauses[] = 'Status IN ('.implode(',', $Status).')';
//Group #2: Category Statistics (new,pick)
$Status = array();
if(!($CategoryView & $Bit_New))
{
$cutoff = adodb_date("U") - ($objConfig->Get("Category_DaysNew") * 86400);
if($cutoff > 0) $q = 'CreatedOn > '.$cutoff;
$q .= (!empty($q) ? ' OR ' : '').'NewItem = 1';
$Status[] = "NOT ($q)";
}
if(!($CategoryView & $Bit_Ed)) $Status[] = 'NOT (EditorsPick = 1)';
if( count($Status) )
$where_clauses[] = '('.implode(') AND (', $Status).')';
$CategoryFilter = count($where_clauses) ? '('.implode(') AND (', $where_clauses).')' : '';
}
// category list filtering stuff: end
$OrderBy = $objCatList->QueryOrderByClause(TRUE,TRUE,TRUE);
$objCatList->Clear();
$IsSearch = FALSE;
$list = $objSession->GetVariable("m_adv_view_search");
$SearchQuery = $objCatList->AdminSearchWhereClause($list);
if(strlen($SearchQuery))
{
$SearchQuery = " (".$SearchQuery.")".($CategoryFilter ? 'AND ('.$CategoryFilter.')' : '');
$objCatList->LoadCategories($SearchQuery,$OrderBy, false, 'set_last');
$IsSearch = TRUE;
}
else
$objCatList->LoadCategories($CategoryFilter,$OrderBy, false, 'set_last');
$TotalItemCount += $objCatList->QueryItemCount;
$CatTotal = TableCount($objCatList->SourceTable,null,false);
$mnuClearSearch = language("la_SearchMenu_Clear");
$mnuNewSearch = language("la_SearchMenu_New");
$mnuSearchCategory = language("la_SearchMenu_Categories");
$lang_New = language("la_Text_New");
$lang_Hot = language("la_Text_Hot");
$lang_EdPick = language("la_prompt_EditorsPick");
$lang_Pop = language("la_Text_Pop");
$lang_Rating = language("la_prompt_Rating");
$lang_Hits = language("la_prompt_Hits");
$lang_Votes = language("la_prompt_Votes");
$lang_Name = language("la_prompt_Name");
$lang_Categories = language("la_ItemTab_Categories");
$lang_Description = language("la_prompt_Description");
$lang_MetaKeywords = language("la_prompt_MetaKeywords");
$lang_SubSearch = language("la_prompt_SubSearch");
$lang_Within = language("la_Text_Within");
$lang_Current = language("la_Text_Current");
$lang_Active = language("la_Text_Active");
$lang_SubCats = language("la_Text_SubCats");
$lang_SubItems = language("la_Text_Subitems");
// View, Sort, Select, Per Page
$lang_View = language('la_Text_View');
$lang_Sort = language('la_Text_Sort');
$lang_PerPage = language('la_prompt_PerPage');
$lang_Select = language('la_Text_Select');
$ItemTabs->AddTab(language("la_ItemTab_Categories"),"category",$objCatList->QueryItemCount, $m_tab_Categories_hide, $CatTotal);
print <<<END
<script language="JavaScript">
// global usage phrases
var lang_View = '$lang_View';
var lang_Sort = '$lang_Sort';
var lang_PerPage = '$lang_PerPage';
var lang_Select = '$lang_Select';
// local usage phrases
var default_tab = "$DefaultTab";
var Category_Sortfield = '$Category_Sortfield';
var Category_Sortorder = '$Category_Sortorder';
var Category_Perpage = $Perpage_Category;
var Category_ShowAll = $Category_ShowAll;
var CategoryView = $CategoryView;
//JS Language variables
var lang_New = "$lang_New";
var lang_Hot = "$lang_Hot";
var lang_EdPick = "$lang_EdPick";
var lang_Pop = "$lang_Pop";
var lang_Rating = "$lang_Rating";
var lang_Hits = "$lang_Hits";
var lang_Votes = "$lang_Votes";
var lang_Name = "$lang_Name";
var lang_Categories = "$lang_Categories";
var lang_Description = "$lang_Description";
var lang_MetaKeywords = "$lang_MetaKeywords";
var lang_SubSearch = "$lang_SubSearch";
var lang_Within="$lang_Within";
var lang_Current = "$lang_Current";
var lang_Active = "$lang_Active";
var lang_SubCats = "$lang_SubCats";
var lang_SubItems = "$lang_SubItems";
var hostname = '$rootURL';
var env = '$envar';
var actionlist = new Array();
// K4 code for handling toolbar operations: begin
var \$TabRegistry = Array();
function InpGrid(tab)
{
this.TabId = tab;
}
InpGrid.prototype.ClearSelection = function(force,called_from)
{
unselectAll(this.TabId, 1); //1 means don't upate toolbar
}
function registerTab(\$tab_id)
{
var \$tab = document.getElementById(\$tab_id);
var \$index = \$TabRegistry.length;
\$TabRegistry[\$index] = new Array();
\$TabRegistry[\$index]['tab_id'] = \$tab_id;
\$TabRegistry[\$index]['prefix_special'] = \$tab.getAttribute('PrefixSpecial');
\$TabRegistry[\$index]['edit_template'] = \$tab.getAttribute('EditURL');
}
function queryTabRegistry(\$search_key, \$search_value, \$return_key)
{
var \$i = 0;
while(\$i < \$TabRegistry.length)
{
if(\$TabRegistry[\$i][\$search_key] == \$search_value)
{
return \$TabRegistry[\$i][\$return_key];
break;
}
\$i++;
}
return '<'+\$search_key+'='+\$search_value+'>';
}
function k4_actionHandler(action, prefix_special)
{
var k4_action = '';
switch (action)
{
case 'edit':
k4_action = 'edit_item("'+prefix_special+'")';
break;
case 'delete':
k4_action = 'delete_items("'+prefix_special+'")';
break;
case 'unselect':
k4_action = 'unselect("'+prefix_special+'")';
break;
case 'approve':
k4_action = 'approve_items("'+prefix_special+'")';
break;
case 'decline':
k4_action = 'decine_items("'+prefix_special+'")';
break;
}
if (k4_action != '')
{
\$form_prefix = queryTabRegistry('prefix_special', prefix_special, 'tab_id');
eval(k4_action);
}
else alert(action+' not implemented');
}
function approve_items(prefix_special)
{
set_hidden_field('remove_specials['+prefix_special+']',1);
submit_event(prefix_special,'OnMassApprove','')
}
function decine_items(prefix_special)
{
set_hidden_field('remove_specials['+prefix_special+']',1);
submit_event(prefix_special,'OnMassDecline','')
}
function edit()
{
edit_item( queryTabRegistry('tab_id', activeTab.id, 'prefix_special') );
}
function edit_item(prefix_special)
{
opener_action('d');
set_hidden_field(prefix_special+'_mode', 't');
set_hidden_field('remove_specials['+prefix_special+']',1);
submit_event(prefix_special, 'OnEdit', queryTabRegistry('prefix_special', prefix_special, 'edit_template'), '../../admin/index4.php');
}
function delete_items(prefix_special)
{
set_hidden_field('remove_specials['+prefix_special+']',1);
submit_event(prefix_special,'OnMassDelete','')
}
function unselect(prefix_special)
{
Grids[prefix_special].ClearSelection(null,'Inp_AdvancedView.Unselect');
}
// K4 code for handling toolbar operations: end
// Common function for all "Advanced View" page
function InitPage()
{
addCommonActions();
initToolbar('mainToolBar', actionHandler);
initCheckBoxes(null, false);
//toggleMenu();
}
function AddButtonAction(actionname,actionval)
{
var item = new Array(actionname,actionval);
actionlist[actionlist.length] = item;
}
function actionHandler(button)
{
for(i=0; i<actionlist.length;i++)
{
a = actionlist[i];
if(button.action == a[0])
{
eval(a[1]);
break;
}
}
}
function addCommonActions()
{
AddButtonAction('edit',"check_submit('','edit');"); //edit
AddButtonAction('delete',"check_submit('$admin/advanced_view','delete');"); //delete
AddButtonAction('approve',"check_submit('$admin/advanced_view','approve');"); //approve
AddButtonAction('decline',"check_submit('$admin/advanced_view','decline');"); //decline
AddButtonAction('print',"window.print();"); //print ?
AddButtonAction('view',"toggleMenu(); window.FW_showMenu(window.cat_menu,getRealLeft(button) - ((document.all) ? 6 : -2),getRealTop(button)+32);");
}
function check_submit(page,actionValue)
{
if (actionValue.match(/delete$/))
if (!theMainScript.Confirm(lang_DeleteConfirm)) return;
var formname = '';
var action_prefix ='';
if (activeTab)
{
form_name = activeTab.id;
action_prefix = activeTab.getAttribute("ActionPrefix");
if(page.length == 0) page = activeTab.getAttribute("EditURL");
if ( action_prefix.match("k4:(.*)") )
{
act = RegExp.$1;
act = act.replace('$\$event$$', actionValue);
act = act.replace('$\$prefix$$', activeTab.getAttribute("PrefixSpecial") );
eval(act);
return;
}
}
var f = document.getElementsByName(form_name+'_form')[0];
if(f)
{
f.Action.value = action_prefix + actionValue;
f.action = '$rootURL' + page + '.php?'+ env;
f.submit();
}
}
function flip_current(field_suffix)
{
if(activeTab)
{
field = activeTab.getAttribute("tabTitle")+field_suffix;
return flip(eval(field));
}
}
function config_current(field_suffix,value)
{
if(activeTab)
{
field = activeTab.getAttribute("tabTitle")+field_suffix;
config_val(field,value);
}
}
\$fw_menus['c_view_menu'] = function()
{
// filtring menu
\$Menus['c_filtring_menu'] = new Menu(lang_View);
\$Menus['c_filtring_menu'].addMenuItem(lang_All,"config_val('Category_View', 127);",CategoryView==127);
\$Menus['c_filtring_menu'].addMenuSeparator();
\$Menus['c_filtring_menu'].addMenuItem(lang_Active,"FlipBit('Category_View',CategoryView,6);",BitStatus(CategoryView,6));
\$Menus['c_filtring_menu'].addMenuItem(lang_Pending,"FlipBit('Category_View',CategoryView,5);", BitStatus(CategoryView,5));
\$Menus['c_filtring_menu'].addMenuItem(lang_Disabled,"FlipBit('Category_View',CategoryView,4);",BitStatus(CategoryView,4));
\$Menus['c_filtring_menu'].addMenuSeparator();
\$Menus['c_filtring_menu'].addMenuItem(lang_New,"FlipBit('Category_View',CategoryView,3);",BitStatus(CategoryView,3));
\$Menus['c_filtring_menu'].addMenuItem(lang_EdPick,"FlipBit('Category_View',CategoryView,0);",BitStatus(CategoryView,0));
// sorting menu
\$Menus['c_sorting_menu'] = new Menu(lang_Sort);
\$Menus['c_sorting_menu'].addMenuItem(lang_Asc,"config_val('Category_Sortorder','asc');",RadioIsSelected(Category_Sortorder,'asc'));
\$Menus['c_sorting_menu'].addMenuItem(lang_Desc,"config_val('Category_Sortorder','desc');",RadioIsSelected(Category_Sortorder,'desc'));
\$Menus['c_sorting_menu'].addMenuSeparator();
\$Menus['c_sorting_menu'].addMenuItem(lang_Default,"config_val('Category_Sortfield','Name');","");
\$Menus['c_sorting_menu'].addMenuItem(lang_Name,"config_val('Category_Sortfield','Name');",RadioIsSelected(Category_Sortfield,'Name'));
\$Menus['c_sorting_menu'].addMenuItem(lang_Description,"config_val('Category_Sortfield','Description');",RadioIsSelected(Category_Sortfield,'Description'));
\$Menus['c_sorting_menu'].addMenuItem(lang_CreatedOn,"config_val('Category_Sortfield','CreatedOn');",RadioIsSelected(Category_Sortfield,'CreatedOn'));
\$Menus['c_sorting_menu'].addMenuItem(lang_SubCats,"config_val('Category_Sortfield','CachedDescendantCatsQty');",RadioIsSelected(Category_Sortfield,'CachedDescendantCatsQty'));
\$Menus['c_sorting_menu'].addMenuItem(lang_SubItems,"config_val('Category_Sortfield','SubItems');",RadioIsSelected(Category_Sortfield,'SubItems'));
// perpage menu
\$Menus['c_perpage_menu'] = new Menu(lang_PerPage);
\$Menus['c_perpage_menu'].addMenuItem("10","config_val('Perpage_Category', '10');",RadioIsSelected(Category_Perpage,10));
\$Menus['c_perpage_menu'].addMenuItem("20","config_val('Perpage_Category', '20');",RadioIsSelected(Category_Perpage,20));
\$Menus['c_perpage_menu'].addMenuItem("50","config_val('Perpage_Category', '50');",RadioIsSelected(Category_Perpage,50));
\$Menus['c_perpage_menu'].addMenuItem("100","config_val('Perpage_Category', '100');",RadioIsSelected(Category_Perpage,100));
\$Menus['c_perpage_menu'].addMenuItem("500","config_val('Perpage_Category', '500');",RadioIsSelected(Category_Perpage,500));
// select menu
\$Menus['c_select_menu'] = new Menu(lang_Select);
\$Menus['c_select_menu'].addMenuItem(lang_All,"javascript:selectAllC('"+activeTab.id+"');","");
\$Menus['c_select_menu'].addMenuItem(lang_Unselect,"javascript:unselectAll('"+activeTab.id+"');","");
\$Menus['c_select_menu'].addMenuItem(lang_Invert,"javascript:invert('"+activeTab.id+"');","");
// view menu
\$Menus['c_view_menu'] = new Menu(lang_Categories);
\$Menus['c_view_menu'].addMenuItem( \$Menus['c_filtring_menu'] );
\$Menus['c_view_menu'].addMenuItem( \$Menus['c_sorting_menu'] );
\$Menus['c_view_menu'].addMenuItem( \$Menus['c_perpage_menu'] );
\$Menus['c_view_menu'].addMenuItem( \$Menus['c_select_menu'] );
}
function toggleMenu()
{
var prefix_special = activeTab.getAttribute('PrefixSpecial');
\$fw_menus[prefix_special+'_view_menu']();
window.cat_menu = \$Menus[prefix_special+'_view_menu'];
window.triedToWriteMenus = false;
window.cat_menu.writeMenus();
}
function toggleTabB(tabId, atm)
{
var hl = document.getElementById("hidden_line");
var activeTabId;
if (activeTab) activeTabId = activeTab.id;
if (activeTabId != tabId)
{
if (activeTab)
{
//alert('switching to tab');
toggleTab(tabId, true)
}
else
{
//alert('opening tab');
toggleTab(tabId, atm)
}
if (hl) hl.style.display = "none";
}
tab_hdr = document.getElementById('tab_headers');
if (!tab_hdr) return;
// process all module tabs
var active_str = '';
for (var i = 0; i < tabIDs.length; i++)
{
var tabHeader;
TDs = tab_hdr.getElementsByTagName("TD");
// find tab
for (var j = 0; j < TDs.length; j++)
if (TDs[j].getAttribute("tabHeaderOf") == tabIDs[i])
{
tabHeader = TDs[j];
break;
}
if (!tabHeader) continue;
var tab = document.getElementById(tabIDs[i]);
if (!tab) continue;
active_str = (tab.active) ? "tab_active" : "tab_inactive";
if (TDs[j].getAttribute("tabHeaderOf") == tabId) {
// module tab is selected
TabActive = tabId;
SetBackground('l_' + tabId, "$imagesURL/itemtabs/" + active_str + "_l.gif");
SetBackground('m_' + tabId, "$imagesURL/itemtabs/" + active_str + ".gif");
SetBackground('m1_' + tabId, "$imagesURL/itemtabs/" + active_str + ".gif");
SetBackground('r_' + tabId, "$imagesURL/itemtabs/" + active_str + "_r.gif");
}
else
{
// module tab is not selected
SetBackground('l_' +tabIDs[i], "$imagesURL/itemtabs/" + active_str + "_l.gif");
SetBackground('m_' + tabIDs[i], "$imagesURL/itemtabs/" + active_str + ".gif");
SetBackground('m1_' + tabIDs[i], "$imagesURL/itemtabs/" + active_str + ".gif");
SetBackground('r_' + tabIDs[i], "$imagesURL/itemtabs/" + active_str + "_r.gif");
}
var images = tabHeader.getElementsByTagName("IMG");
if (images.length < 1) continue;
images[0].src = "$imagesURL/itemtabs/" + ((tab.active) ? "divider_up" : "divider_empty") + ".gif";
}
}
function SetBackground(element_id, img_url)
{
// set background image of element specified by id
var el = document.getElementById(element_id);
el.style.backgroundImage = 'url('+img_url+')';
}
function initContextMenu()
{
window.contextMenu = new Menu("Context");
contextMenu.addMenuItem("Edit","check_submit('','edit');","");
contextMenu.addMenuItem("Delete","check_submit('admin/advanced_view','delete');","");
contextMenu.addMenuSeparator();
contextMenu.addMenuItem("Approve","check_submit('admin/advanced_view','approve');","");
contextMenu.addMenuItem("Decline","check_submit('admin/advanced_view','decline');","");
window.triedToWriteMenus = false;
window.contextMenu.writeMenus();
return true;
}
// Event Handling Stuff Cross-Browser
getEvent = window.Event
? function(e){return e}
: function() {return event}
getEventSrcElement = window.Event
? function(e){var targ=e.target;return targ.nodeType==1?targ:targ.parentNode}
: function() {return event.srcElement}
function getKeyCode(e){return e.charCode||e.keyCode}
function getKey(eMoz)
{
var e = getEvent(eMoz)
var keyCode = getKeyCode(e)
if(keyCode == 13)
{
var el = document.getElementById(TabActive+'_imgSearch');
if(typeof(el) != 'undefined') el.onclick();
}
}
</script>
END;
?>

Event Timeline