Index: trunk/admin/toolbar.php
===================================================================
diff -u -r13 -r123
--- trunk/admin/toolbar.php (.../toolbar.php) (revision 13)
+++ trunk/admin/toolbar.php (.../toolbar.php) (revision 123)
@@ -286,7 +286,6 @@
function tabRow()
{
-
$o = "
";
$o .= "";
for($i=0;$iTabs);$i++)
Index: trunk/admin/category/addcategory_permissions.php
===================================================================
diff -u -r18 -r123
--- trunk/admin/category/addcategory_permissions.php (.../addcategory_permissions.php) (revision 18)
+++ trunk/admin/category/addcategory_permissions.php (.../addcategory_permissions.php) (revision 123)
@@ -162,9 +162,10 @@
$CheckClass = "PermChecks";
/* ------------------------------------- Configure the toolbar ------------------------------------------- */
$saveURL = $admin."/category/category_maint.php";
+$cancelURL = $admin."/".$objSession->GetVariable('ReturnScript');
$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','".$admin."/browse.php',2);","tool_cancel.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);
Index: trunk/kernel/include/parseditem.php
===================================================================
diff -u -r120 -r123
--- trunk/kernel/include/parseditem.php (.../parseditem.php) (revision 120)
+++ trunk/kernel/include/parseditem.php (.../parseditem.php) (revision 123)
@@ -1329,44 +1329,35 @@
$this->adodbConnection->Execute("DROP TABLE IF EXISTS $edit_table");
}
-
- function AdminSearchWhereClause($SearchList)
+ function AdminSearchWhereClause($SearchList)
{
- $sql = "";
- if(!is_array($SearchList))
- {
- $SearchList = explode(",",$SearchList);
- }
-
- if(!count($SearchList) || !count($this->AdminSearchFields))
- return "";
+ $sql = "";
+ if( !is_array($SearchList) ) $SearchList = explode(",",$SearchList);
+ if( !count($SearchList) || !count($this->AdminSearchFields) ) return '';
- for($f=0;$fAdminSearchFields);$i++)
- {
- $field = $this->AdminSearchFields[$i];
-
- if(strlen(trim($value)))
- {
- if(strlen($inner_sql))
- $inner_sql .= " OR ";
- $inner_sql .= $field." LIKE '%".$value."%'";
- }
- }
- if(strlen($inner_sql))
- {
- $sql .= "(".$inner_sql.") ";
- if($fAdminSearchFields); $i++)
+ {
+ $field = $this->AdminSearchFields[$i];
+ if( strlen( trim($value) ) )
+ {
+ if( strlen($inner_sql) ) $inner_sql .= " OR ";
+ $inner_sql .= $field." LIKE '%".$value."%'";
+ }
+ }
+ if( strlen($inner_sql) )
+ {
+ $sql .= '('.$inner_sql.') ';
+ if($f < count($SearchList) - 1) $sql .= " AND ";
+ }
+ }
+ }
+ return $sql;
}
function BackupData($OutFileName,$Start,$Limit)
@@ -1569,6 +1560,7 @@
if($objSession->HasSystemPermission("DEBUG.LIST"))
echo $sql."
\n";
+
return $this->Query_Item($sql);
}
Index: trunk/kernel/admin/include/toolbar/advanced_view.php
===================================================================
diff -u
--- trunk/kernel/admin/include/toolbar/advanced_view.php (revision 0)
+++ trunk/kernel/admin/include/toolbar/advanced_view.php (revision 123)
@@ -0,0 +1,431 @@
+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.1
+ $where_clauses = Array();
+
+ //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);
+ $IsSearch = TRUE;
+ }
+ else
+ $objCatList->LoadCategories($CategoryFilter,$OrderBy);
+
+ $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");
+
+$ItemTabs->AddTab(language("la_ItemTab_Categories"),"category",$objCatList->QueryItemCount, $m_tab_Categories_hide, $CatTotal);
+
+print <<
+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();
+
+ // 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
+
+END;
+?>
\ No newline at end of file
Index: trunk/admin/browse/checkboxes_new.js
===================================================================
diff -u -r13 -r123
--- trunk/admin/browse/checkboxes_new.js (.../checkboxes_new.js) (revision 13)
+++ trunk/admin/browse/checkboxes_new.js (.../checkboxes_new.js) (revision 123)
@@ -13,37 +13,35 @@
var _single_select = false;
-function initCheckBoxes(selChangedHandler)
+function initCheckBoxes(selChangedHandler, use_cats)
{
- //theMainScript.InitGrids();
- //return;
+ if(use_cats == null && typeof(use_cats) == 'undefined') use_cats = true;
//set single_select to true to turn on radio-buttons select mode
if (typeof(single_select) != 'undefined') _single_select = single_select;
- var checkBoxContainers = document.body.getElementsByTagName("DIV");
- for (var i = 0; i < checkBoxContainers.length; i++)
- if (checkBoxContainers[i].getAttribute("isTab"))
- {
- if(tabIDs.length ==0)
- start_tab = checkBoxContainers[i].id;
-
- tabIDs[tabIDs.length] = checkBoxContainers[i].id
-
- tabSelection[checkBoxContainers[i].id] = 0;
- }
+ var checkBoxContainers = document.body.getElementsByTagName("DIV");
+ for (var i = 0; i < checkBoxContainers.length; i++)
+ if( checkBoxContainers[i].getAttribute("isTab") )
+ {
+ if(tabIDs.length == 0) start_tab = checkBoxContainers[i].id;
+ tabIDs[tabIDs.length] = checkBoxContainers[i].id
+ tabSelection[checkBoxContainers[i].id] = 0;
+ }
- tabSelection['categories'] = 0;
-
- categoriesTab = document.getElementById('categories');
- var catInputs = categoriesTab.getElementsByTagName("INPUT");
- for (var i = 0; i < catInputs.length; i++)
- catInputs.checked = false;
- if (categoriesTab)
- categoriesTab.active = true;
-
+ tabSelection['categories'] = 0;
+
+ if(use_cats == true)
+ {
+ categoriesTab = document.getElementById('categories');
+ var catInputs = categoriesTab.getElementsByTagName("INPUT");
+ for (var i = 0; i < catInputs.length; i++) catInputs.checked = false;
+ if (categoriesTab) categoriesTab.active = true;
+ }
+
var unique_id = 1;
for (var i = 0; i < checkBoxContainers.length; i++) {
+
if (checkBoxContainers[i].getAttribute("inportalType"))
{
var inputs = checkBoxContainers[i].getElementsByTagName("INPUT");
@@ -78,7 +76,7 @@
checkBox.onclick = checkBoxClick;
checkBox.container = checkBoxContainers[i];
- var selNode = (checkBox.container.getAttribute("inportalType") == "categories") ? checkBox.container.parentNode : checkBox.container.parentNode.parentNode;
+ var selNode = (checkBox.container.getAttribute("inportalType") == "categories" || checkBox.container.getAttribute("inportalType") == "category") ? checkBox.container.parentNode : checkBox.container.parentNode.parentNode;
selNode.chB = checkBox;
@@ -537,7 +535,7 @@
else
tabSelection[checkBox.inportalType]--;
}
- var selNode = (checkBox.container.getAttribute("inportalType") == "categories") ? checkBox.container.parentNode : checkBox.container.parentNode.parentNode;
+ var selNode = (checkBox.container.getAttribute("inportalType") == "categories" || checkBox.container.getAttribute("inportalType") == "category") ? checkBox.container.parentNode : checkBox.container.parentNode.parentNode;
if (!selNode.oriCN && checkBox.checked || selNode.className != "selectedContainer" && selNode.className != "unselectedContainer")
selNode.oriCN = (selNode.className) ? selNode.className : "";
Index: trunk/admin/browse/toolbar.php
===================================================================
diff -u -r13 -r123
--- trunk/admin/browse/toolbar.php (.../toolbar.php) (revision 13)
+++ trunk/admin/browse/toolbar.php (.../toolbar.php) (revision 123)
@@ -196,13 +196,13 @@
$t = $this->Tabs[$i];
$div = $t["divname"];
- $o = "\n
- |
- ";
+ | |
+ ";
$o .= " ";
$o .= $t["caption"]." | ";
@@ -230,19 +230,15 @@
{
global $imagesURL;
- $o = " | |