From 70c941dd640e847d7fa3dad4bb1ee2fd97137e74 Mon Sep 17 00:00:00 2001 From: Andre Lorbach Date: Thu, 17 Jul 2008 17:29:35 +0200 Subject: [PATCH] Added Custom Search Admin page and logic to load the custom searches from the database --- src/admin/groups.php | 2 +- src/admin/index.php | 2 +- src/admin/searches.php | 362 ++++++++++++++++++++++++ src/admin/users.php | 2 +- src/images/icons/earth.png | Bin 0 -> 990 bytes src/include/functions_common.php | 1 + src/include/functions_config.php | 14 +- src/lang/en/admin.php | 33 ++- src/templates/admin/admin_groups.html | 3 + src/templates/admin/admin_searches.html | 93 ++++++ src/templates/admin/admin_users.html | 1 + 11 files changed, 503 insertions(+), 10 deletions(-) create mode 100644 src/admin/searches.php create mode 100644 src/images/icons/earth.png create mode 100644 src/templates/admin/admin_searches.html diff --git a/src/admin/groups.php b/src/admin/groups.php index 2858456..b733750 100644 --- a/src/admin/groups.php +++ b/src/admin/groups.php @@ -482,7 +482,7 @@ if ( !isset($_POST['op']) && !isset($_GET['op']) ) // --- BEGIN CREATE TITLE $content['TITLE'] = InitPageTitle(); -$content['TITLE'] .= " :: Group Options"; +$content['TITLE'] .= " :: " . $content['LN_ADMINMENU_GROUPOPT']; // --- END CREATE TITLE // --- Parsen and Output diff --git a/src/admin/index.php b/src/admin/index.php index ba285ba..33507f2 100644 --- a/src/admin/index.php +++ b/src/admin/index.php @@ -141,7 +141,7 @@ if ($content['DebugUserLogin'] == 1) { $content['DebugUserLogin_checked'] = "che // --- BEGIN CREATE TITLE $content['TITLE'] = InitPageTitle(); -$content['TITLE'] .= " :: General Options"; +$content['TITLE'] .= " :: " . $content['LN_ADMINMENU_GENOPT']; // --- END CREATE TITLE // --- Parsen and Output diff --git a/src/admin/searches.php b/src/admin/searches.php new file mode 100644 index 0000000..3b4ce41 --- /dev/null +++ b/src/admin/searches.php @@ -0,0 +1,362 @@ + Helps administrating custom searches + * + * All directives are explained within this file + * + * Copyright (C) 2008 Adiscon GmbH. + * + * This file is part of phpLogCon. + * + * PhpLogCon is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * PhpLogCon is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with phpLogCon. If not, see . + * + * A copy of the GPL can be found in the file "COPYING" in this + * distribution + ********************************************************************* +*/ + +// *** Default includes and procedures *** // +define('IN_PHPLOGCON', true); +$gl_root_path = './../'; + +// Now include necessary include files! +include($gl_root_path . 'include/functions_common.php'); +include($gl_root_path . 'include/functions_frontendhelpers.php'); +include($gl_root_path . 'include/functions_filters.php'); + +// Set PAGE to be ADMINPAGE! +define('IS_ADMINPAGE', true); +$content['IS_ADMINPAGE'] = true; +InitPhpLogCon(); +InitSourceConfigs(); +InitFrontEndDefaults(); // Only in WebFrontEnd +InitFilterHelpers(); // Helpers for frontend filtering! + +// Init admin langauge file now! +IncludeLanguageFile( $gl_root_path . '/lang/' . $LANG . '/admin.php' ); +// --- + +// --- BEGIN Custom Code + +// Only if the user is an admin! +//if ( !isset($_SESSION['SESSION_ISADMIN']) || $_SESSION['SESSION_ISADMIN'] == 0 ) +// DieWithFriendlyErrorMsg( $content['LN_ADMIN_ERROR_NOTALLOWED'] ); + +if ( isset($_GET['op']) ) +{ + if ($_GET['op'] == "add") + { + // Set Mode to add + $content['ISEDITORNEWSEARCH'] = "true"; + $content['SEARCH_FORMACTION'] = "addnewsearch"; + $content['SEARCH_SENDBUTTON'] = $content['LN_SEARCH_ADD']; + + //PreInit these values + $content['DisplayName'] = ""; + $content['SearchQuery'] = ""; + $content['userid'] = null; + $content['CHECKED_ISUSERONLY'] = ""; + $content['SEARCHID'] = ""; + + // --- Check if groups are available + $sqlquery = "SELECT " . + DB_GROUPS . ".ID as mygroupid, " . + DB_GROUPS . ".groupname " . + "FROM " . DB_GROUPS . + " ORDER BY " . DB_GROUPS . ".groupname"; + $result = DB_Query($sqlquery); + $content['SUBGROUPS'] = DB_GetAllRows($result, true); + if ( isset($content['SUBGROUPS']) && count($content['SUBGROUPS']) > 0 ) + { + // Process All Groups + for($i = 0; $i < count($content['SUBGROUPS']); $i++) + $content['SUBGROUPS'][$i]['group_selected'] = ""; + + // Enable Group Selection + $content['ISGROUPSAVAILABLE'] = true; + array_unshift( $content['SUBGROUPS'], array ("mygroupid" => -1, "groupname" => $content['LN_SEARCH_SELGROUPENABLE'], "group_selected" => "") ); + } + else + $content['ISGROUPSAVAILABLE'] = false; + // --- + } + else if ($_GET['op'] == "edit") + { + // Set Mode to edit + $content['ISEDITORNEWSEARCH'] = "true"; + $content['SEARCH_FORMACTION'] = "editsearch"; + $content['SEARCH_SENDBUTTON'] = $content['LN_SEARCH_EDIT']; + + if ( isset($_GET['id']) ) + { + //PreInit these values + $content['SEARCHID'] = DB_RemoveBadChars($_GET['id']); + + $sqlquery = "SELECT * " . + " FROM " . DB_SEARCHES . + " WHERE ID = " . $content['SEARCHID']; + + $result = DB_Query($sqlquery); + $mysearch = DB_GetSingleRow($result, true); + if ( isset($mysearch['DisplayName']) ) + { + $content['SEARCHID'] = $mysearch['ID']; + $content['DisplayName'] = $mysearch['DisplayName']; + $content['SearchQuery'] = $mysearch['SearchQuery']; + if ( $mysearch['userid'] != null ) + $content['CHECKED_ISUSERONLY'] = "checked"; + else + $content['CHECKED_ISUSERONLY'] = ""; + + // --- Check if groups are available + $sqlquery = "SELECT " . + DB_GROUPS . ".ID as mygroupid, " . + DB_GROUPS . ".groupname " . + "FROM " . DB_GROUPS . + " ORDER BY " . DB_GROUPS . ".groupname"; + $result = DB_Query($sqlquery); + $content['SUBGROUPS'] = DB_GetAllRows($result, true); + if ( isset($content['SUBGROUPS']) && count($content['SUBGROUPS']) > 0 ) + { + // Process All Groups + for($i = 0; $i < count($content['SUBGROUPS']); $i++) + { + if ( $mysearch['groupid'] != null && $content['SUBGROUPS'][$i]['mygroupid'] == $mysearch['groupid'] ) + $content['SUBGROUPS'][$i]['group_selected'] = "selected"; + else + $content['SUBGROUPS'][$i]['group_selected'] = ""; + } + + // Enable Group Selection + $content['ISGROUPSAVAILABLE'] = true; + array_unshift( $content['SUBGROUPS'], array ("mygroupid" => -1, "groupname" => $content['LN_SEARCH_SELGROUPENABLE'], "group_selected" => "") ); + } + else + $content['ISGROUPSAVAILABLE'] = false; + // --- + } + else + { + $content['ISEDITORNEWSEARCH'] = false; + $content['ISERROR'] = true; + $content['ERROR_MSG'] = GetAndReplaceLangStr( $content['LN_SEARCH_ERROR_IDNOTFOUND'], $content['SEARCHID'] ); + } + } + else + { + $content['ISEDITORNEWSEARCH'] = false; + $content['ISERROR'] = true; + $content['ERROR_MSG'] = $content['LN_SEARCH_ERROR_INVALIDID']; + } + } + else if ($_GET['op'] == "delete") + { + if ( isset($_GET['id']) ) + { + //PreInit these values + $content['SEARCHID'] = DB_RemoveBadChars($_GET['id']); + + // Get UserInfo + $result = DB_Query("SELECT DisplayName FROM " . DB_SEARCHES . " WHERE ID = " . $content['SEARCHID'] ); + $myrow = DB_GetSingleRow($result, true); + if ( !isset($myrow['DisplayName']) ) + { + $content['ISERROR'] = true; + $content['ERROR_MSG'] = GetAndReplaceLangStr( $content['LN_SEARCH_ERROR_IDNOTFOUND'], $content['SEARCHID'] ); + } + + // --- Ask for deletion first! + if ( (!isset($_GET['verify']) || $_GET['verify'] != "yes") ) + { + // This will print an additional secure check which the user needs to confirm and exit the script execution. + PrintSecureUserCheck( GetAndReplaceLangStr( $content['LN_SEARCH_WARNDELETESEARCH'], $myrow['DisplayName'] ), $content['LN_DELETEYES'], $content['LN_DELETENO'] ); + } + // --- + + // do the delete! + $result = DB_Query( "DELETE FROM " . DB_SEARCHES . " WHERE ID = " . $content['SEARCHID'] ); + if ($result == FALSE) + { + $content['ISERROR'] = true; + $content['ERROR_MSG'] = GetAndReplaceLangStr( $content['LN_SEARCH_ERROR_DELSEARCH'], $content['SEARCHID'] ); + } + else + DB_FreeQuery($result); + + // Do the final redirect + RedirectResult( GetAndReplaceLangStr( $content['LN_SEARCH_ERROR_HASBEENDEL'], $myrow['DisplayName'] ) , "searches.php" ); + } + else + { + $content['ISERROR'] = true; + $content['ERROR_MSG'] = $content['LN_SEARCH_ERROR_INVALIDID']; + } + } +} + +if ( isset($_POST['op']) ) +{ + if ( isset ($_POST['id']) ) { $content['SEARCHID'] = intval(DB_RemoveBadChars($_POST['id'])); } else {$content['SEARCHID'] = -1; } + if ( isset ($_POST['DisplayName']) ) { $content['DisplayName'] = DB_RemoveBadChars($_POST['DisplayName']); } else {$content['DisplayName'] = ""; } + if ( isset ($_POST['SearchQuery']) ) { $content['SearchQuery'] = DB_RemoveBadChars($_POST['SearchQuery']); } else {$content['SearchQuery'] = ""; } + + // User & Group handeled specially + if ( isset ($_POST['isuseronly']) ) + { + $content['userid'] = $content['SESSION_USERID']; + $content['groupid'] = "null"; // Either user or group not both! + } + else + { + $content['userid'] = "null"; + if ( isset ($_POST['groupid']) && $_POST['groupid'] != -1 ) + $content['groupid'] = intval($_POST['groupid']); + else + $content['groupid'] = "null"; + } + + // --- Check mandotary values + if ( $content['DisplayName'] == "" ) + { + $content['ISERROR'] = true; + $content['ERROR_MSG'] = $content['LN_SEARCH_ERROR_DISPLAYNAMEEMPTY']; + } + else if ( $content['SearchQuery'] == "" ) + { + $content['ISERROR'] = true; + $content['ERROR_MSG'] = $content['LN_SEARCH_ERROR_SEARCHQUERYEMPTY']; + } + // --- + + if ( !isset($content['ISERROR']) ) + { + // Everything was alright, so we go to the next step! + if ( $_POST['op'] == "addnewsearch" ) + { + // Add custom search now! + $sqlquery = "INSERT INTO " . DB_SEARCHES . " (DisplayName, SearchQuery, userid, groupid) + VALUES ('" . $content['DisplayName'] . "', + '" . $content['SearchQuery'] . "', + " . $content['userid'] . ", + " . $content['groupid'] . " + )"; + $result = DB_Query($sqlquery); + DB_FreeQuery($result); + + // Do the final redirect + RedirectResult( GetAndReplaceLangStr( $content['LN_SEARCH_HASBEENADDED'], $content['DisplayName'] ) , "searches.php" ); + } + else if ( $_POST['op'] == "editsearch" ) + { + $result = DB_Query("SELECT ID FROM " . DB_SEARCHES . " WHERE ID = " . $content['SEARCHID']); + $myrow = DB_GetSingleRow($result, true); + if ( !isset($myrow['ID']) ) + { + $content['ISERROR'] = true; + $content['ERROR_MSG'] = GetAndReplaceLangStr( $content['LN_SEARCH_ERROR_IDNOTFOUND'], $content['SEARCHID'] ); + } + else + { + // Edit the Search Entry now! + $result = DB_Query("UPDATE " . DB_SEARCHES . " SET + DisplayName = '" . $content['DisplayName'] . "', + SearchQuery = '" . $content['SearchQuery'] . "', + userid = " . $content['userid'] . ", + groupid = " . $content['groupid'] . " + WHERE ID = " . $content['SEARCHID']); + DB_FreeQuery($result); + + // Done redirect! + RedirectResult( GetAndReplaceLangStr( $content['LN_SEARCH_HASBEENEDIT'], $content['DisplayName']) , "searches.php" ); + } + } + } +} + +if ( !isset($_POST['op']) && !isset($_GET['op']) ) +{ + // Default Mode = List Searches + $content['LISTSEARCHES'] = "true"; + + // Read all Serverentries + $sqlquery = "SELECT " . + DB_SEARCHES . ".ID, " . + DB_SEARCHES . ".DisplayName, " . + DB_SEARCHES . ".SearchQuery, " . + DB_SEARCHES . ".userid, " . + DB_SEARCHES . ".groupid, " . + DB_USERS . ".username, " . + DB_GROUPS . ".groupname " . + " FROM " . DB_SEARCHES . + " LEFT OUTER JOIN (" . DB_USERS . ", " . DB_GROUPS . + ") ON (" . + DB_SEARCHES . ".userid=" . DB_USERS . ".ID AND " . + DB_SEARCHES . ".groupid=" . DB_GROUPS . ".ID " . + ") " . + " ORDER BY " . DB_SEARCHES . ".userid, " . DB_SEARCHES . ".groupid, " . DB_SEARCHES . ".DisplayName"; +//echo $sqlquery; + $result = DB_Query($sqlquery); + $content['SEARCHES'] = DB_GetAllRows($result, true); + + // --- Process Users + for($i = 0; $i < count($content['SEARCHES']); $i++) + { + $content['SEARCHES'][$i]['SearchQuery_Display'] = strlen($content['SEARCHES'][$i]['SearchQuery']) > 25 ? substr($content['SEARCHES'][$i]['SearchQuery'], 0, 25) . " ..." : $content['SEARCHES'][$i]['SearchQuery']; + + // --- Set Image for Type + if ( $content['SEARCHES'][$i]['userid'] != null ) + { + $content['SEARCHES'][$i]['SearchTypeImage'] = $content["MENU_ADMINUSERS"]; + $content['SEARCHES'][$i]['SearchTypeText'] = $content["LN_GEN_USERONLY"]; + } + else if ( $content['SEARCHES'][$i]['groupid'] != null ) + { + $content['SEARCHES'][$i]['SearchTypeImage'] = $content["MENU_ADMINGROUPS"]; + $content['SEARCHES'][$i]['SearchTypeText'] = $content["LN_GEN_GROUPONLY"]; + } + else + { + $content['SEARCHES'][$i]['SearchTypeImage'] = $content["MENU_GLOBAL"]; + $content['SEARCHES'][$i]['SearchTypeText'] = $content["LN_GEN_GLOBAL"]; + } + // --- + + // --- Set CSS Class + if ( $i % 2 == 0 ) + $content['SEARCHES'][$i]['cssclass'] = "line1"; + else + $content['SEARCHES'][$i]['cssclass'] = "line2"; + // --- + } + // --- +} +// --- END Custom Code + +// --- BEGIN CREATE TITLE +$content['TITLE'] = InitPageTitle(); +$content['TITLE'] .= " :: " . $content['LN_ADMINMENU_SEARCHOPT']; +// --- END CREATE TITLE + +// --- Parsen and Output +InitTemplateParser(); +$page -> parser($content, "admin/admin_searches.html"); +$page -> output(); +// --- + +?> \ No newline at end of file diff --git a/src/admin/users.php b/src/admin/users.php index f1d81b5..09331e4 100644 --- a/src/admin/users.php +++ b/src/admin/users.php @@ -371,7 +371,7 @@ if ( !isset($_POST['op']) && !isset($_GET['op']) ) // --- BEGIN CREATE TITLE $content['TITLE'] = InitPageTitle(); -$content['TITLE'] .= " :: User Options"; +$content['TITLE'] .= " :: " . $content['LN_ADMINMENU_USEROPT']; // --- END CREATE TITLE // --- Parsen and Output diff --git a/src/images/icons/earth.png b/src/images/icons/earth.png new file mode 100644 index 0000000000000000000000000000000000000000..a5517db6de75e55c3708880210b66b37274a761b GIT binary patch literal 990 zcmV<410np0P)WdKcSATc)}L3L*!GB7YTATcpIG&MRgF(4~2F)%Pb%&Rv5000McNliru z)&&<0F*|Y-$N>NV010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00TBj zL_t(|+D()1Z&Otm$G^QldP}?NT}#(3WNc-iOj#ggVnQ%c6ExYzcw=G+!B>VDHU0-C zz9zmhA;xHU0lXj(AV#u?8rejPQAUk03KQ6m(#`hXt-WpUuXBI-Tx^rx{gq1j-nFG}lV=9MS@zKj4?n!p z;I77ZMc>EJ;7{n?QbEjo50=Z&@S{-dWSsTRPYejJDz)XCPe^8lCj7-eo0&P~^pB0` z*NHy!JVwMfkme7e8CitvOrT~3V9~2!{2er-m-w9Y&H?4&{9nFZTPFjXE3Q{RUgu7w z)JHd9_MC1AI}5T&!LZ=Or=LAj*xgeAqq?Gm7|)r7tG2+ zc2B|&1UNp>WDKh5z;JCev`N^|fZ;b$;{t4bfgi6FFiHkb13DRBc*moE#*^8oc z3h~km)Ru=*(?LadV0#e+EC)ydoa!V**%~HsNRQC4TzH0u=L7+s>%!+4ipnB38iS}B z7HaetmJJ9yrs0;xAlBc4v-vz}zmlIF!BjJkm6SRrLP9?!M&vmxtYzr-O*)2+y5#|e z2-l$S>NK{>d9Fs(ed!aMEE3a7AHmc!@EwiLOldYqXc7jat!AM-vIwk(XKj)so-=MQBTKsED5Qy+bdkSbs5%b ziNwDW<**X{O7Xi#S@+$|{(-Py?7aoJ1S}B zhFSA$An$xFojWv@dr8_a2`>*Z$AhA7tSsLzJaE^4Zo)IyDDD<Qm;aR2}S literal 0 HcmV?d00001 diff --git a/src/include/functions_common.php b/src/include/functions_common.php index d078bd1..648d5f5 100644 --- a/src/include/functions_common.php +++ b/src/include/functions_common.php @@ -431,6 +431,7 @@ function InitFrontEndVariables() $content['MENU_ADD'] = $content['BASEPATH'] . "images/icons/add.png"; $content['MENU_EDIT'] = $content['BASEPATH'] . "images/icons/edit.png"; $content['MENU_DELETE'] = $content['BASEPATH'] . "images/icons/delete.png"; + $content['MENU_GLOBAL'] = $content['BASEPATH'] . "images/icons/earth.png"; $content['MENU_PAGER_BEGIN'] = $content['BASEPATH'] . "images/icons/media_beginning.png"; $content['MENU_PAGER_PREVIOUS'] = $content['BASEPATH'] . "images/icons/media_rewind.png"; diff --git a/src/include/functions_config.php b/src/include/functions_config.php index 92e86a9..7a308be 100644 --- a/src/include/functions_config.php +++ b/src/include/functions_config.php @@ -306,26 +306,30 @@ function LoadSearchesFromDatabase() // Create Where for USERID if ( isset($content['SESSION_LOGGEDIN']) && $content['SESSION_LOGGEDIN'] ) - $szWhereUser = " OR " . DB_SEARCHES . ".userid = " . $content['SESSION_USERID']; + $szWhereUser = " OR " . DB_SEARCHES . ".userid = " . $content['SESSION_USERID'] . " "; else $szWhereUser = ""; if ( isset($content['SESSION_GROUPIDS']) ) - $szGroupWhere = " OR " . DB_SEARCHES . ".groupid IN (" . $content['SESSION_GROUPIDS'] . ") "; + $szGroupWhere = " OR " . DB_SEARCHES . ".groupid IN (" . $content['SESSION_GROUPIDS'] . ")"; else $szGroupWhere = ""; $sqlquery = " SELECT * " . " FROM " . DB_SEARCHES . - " WHERE userid = NULL " . + " WHERE (" . DB_SEARCHES . ".userid IS NULL AND " . DB_SEARCHES . ".groupid IS NULL) " . $szWhereUser . $szGroupWhere . - " ORDER BY " . DB_SEARCHES . ".DisplayName"; - + " ORDER BY " . DB_SEARCHES . ".userid, " . DB_SEARCHES . ".groupid, " . DB_SEARCHES . ".DisplayName"; +// " ORDER BY " . DB_SEARCHES . ".DisplayName"; $result = DB_Query($sqlquery); $myrows = DB_GetAllRows($result, true); if ( isset($myrows ) && count($myrows) > 0 ) { + // Overwrite Search Array with Database one + $CFG['Search'] = $myrows; + $content['Search'] = $myrows; + // Cleanup searches and fill / load from database diff --git a/src/lang/en/admin.php b/src/lang/en/admin.php index 899b155..38f581e 100644 --- a/src/lang/en/admin.php +++ b/src/lang/en/admin.php @@ -42,6 +42,9 @@ $content['LN_DELETEYES'] = "Yes"; $content['LN_DELETENO'] = "No"; $content['LN_GEN_ACTIONS'] = "Available Actions"; $content['LN_ADMIN_SEND'] = "Send changes"; +$content['LN_GEN_USERONLY'] = "User only"; +$content['LN_GEN_GROUPONLY'] = "Group only"; +$content['LN_GEN_GLOBAL'] = "Global"; // General Options $content['LN_ADMIN_MISC'] = "Miscellaneous Options"; @@ -78,7 +81,7 @@ $content['LN_USER_ERROR_IDNOTFOUND'] = "Error, User with ID '%1' , was not found $content['LN_USER_ERROR_DONOTDELURSLF'] = "Error, you can not DELETE YOURSELF!"; $content['LN_USER_ERROR_DELUSER'] = "Deleting of the user with id '%1' failed!"; $content['LN_USER_ERROR_INVALIDID'] = "Error, invalid ID, User not found"; -$content['LN_USER_ERROR_HASBEENDEL'] = "The User '%1' has been successfully DELETED!"; +$content['LN_USER_ERROR_HASBEENDEL'] = "The User '%1' has been successfully deleted!"; $content['LN_USER_ERROR_USEREMPTY'] = "Error, Username was empty"; $content['LN_USER_ERROR_USERNAMETAKEN'] = "Error, this Username is already taken!"; $content['LN_USER_ERROR_PASSSHORT'] = "Error, Password was to short, or did not match"; @@ -110,7 +113,7 @@ $content['LN_GROUP_ERROR_HASBEENEDIT'] = "The group '%1' has been successfully e $content['LN_GROUP_ERROR_INVALIDGROUP'] = "Error, invalid ID, Group not found"; $content['LN_GROUP_WARNDELETEGROUP'] = "Are you sure that you want to delete the Group '%1'? All Groupsettings will be deleted as well."; $content['LN_GROUP_ERROR_DELGROUP'] = "Deleting of the group with id '%1' failed!"; -$content['LN_GROUP_ERROR_HASBEENDEL'] = "The Group '%1' has been successfully DELETED!"; +$content['LN_GROUP_ERROR_HASBEENDEL'] = "The Group '%1' has been successfully deleted!"; $content['LN_GROUP_MEMBERS'] = "Groupmembers: "; $content['LN_GROUP_ADDUSER'] = "Add User to Group"; $content['LN_GROUP_ERROR_USERIDMISSING'] = "The userid is missing."; @@ -123,4 +126,30 @@ $content['LN_GROUP_ERROR_REMUSERFROMGROUP'] = "The user '%1' could not be remove $content['LN_GROUP_USERHASBEENREMOVED'] = "The user '%1' has been successfully removed from the group '%2'"; $content['LN_GROUP_'] = ""; +// Custom Searches center +$content['LN_SEARCH_CENTER'] = "Custom Searches"; +$content['LN_SEARCH_ADD'] = "Add Custom Search"; +$content['LN_SEARCH_ID'] = "ID"; +$content['LN_SEARCH_NAME'] = "Search Name"; +$content['LN_SEARCH_QUERY'] = "Search Query"; +$content['LN_SEARCH_TYPE'] = "Type of Search"; +$content['LN_SEARCH_EDIT'] = "Edit Custom Search"; +$content['LN_SEARCH_DELETE'] = "Delete Custom Search"; +$content['LN_SEARCH_ADDEDIT'] = "Add / Edit a Custom Search"; +$content['LN_SEARCH_USERONLY'] = "For me only
(Only available to your user)"; +$content['LN_SEARCH_GROUPONLY'] = "For this group
(Only available to the selected group)"; +$content['LN_SEARCH_SELGROUPENABLE'] = ">> Select Group to enable <<"; +$content['LN_SEARCH_ERROR_DISPLAYNAMEEMPTY'] = "The DisplayName cannot be empty."; +$content['LN_SEARCH_ERROR_SEARCHQUERYEMPTY'] = "The SearchQuery cannot be empty."; +$content['LN_SEARCH_HASBEENADDED'] = "The Custom Search '%1' has been successfully added."; +$content['LN_SEARCH_ERROR_IDNOTFOUND'] = "Could not find a search with ID '%1'."; +$content['LN_SEARCH_ERROR_INVALIDID'] = "Invalid search ID."; +$content['LN_SEARCH_HASBEENEDIT'] = "The Custom Search '%1' has been successfully edited."; +$content['LN_SEARCH_WARNDELETESEARCH'] = "Are you sure that you want to delete the Custom Search '%1'? This cannot be undone!"; +$content['LN_SEARCH_ERROR_DELSEARCH'] = "Deleting of the Custom Search with id '%1' failed!"; +$content['LN_SEARCH_ERROR_HASBEENDEL'] = "The Custom Search '%1' has been successfully deleted!"; +$content['LN_SEARCH_'] = ""; +$content['LN_SEARCH_'] = ""; + + ?> \ No newline at end of file diff --git a/src/templates/admin/admin_groups.html b/src/templates/admin/admin_groups.html index 653f9bd..5004c9f 100644 --- a/src/templates/admin/admin_groups.html +++ b/src/templates/admin/admin_groups.html @@ -66,6 +66,7 @@ + @@ -93,6 +94,7 @@
{LN_GROUP_ADDEDIT}
{LN_GROUP_NAME}
+
{LN_GROUP_ADDUSER}: '{GROUPNAME}'
{LN_USER_NAME} @@ -122,6 +124,7 @@ +
{LN_GROUP_USERDELETE}: '{GROUPNAME}'
{LN_USER_NAME} diff --git a/src/templates/admin/admin_searches.html b/src/templates/admin/admin_searches.html new file mode 100644 index 0000000..0dd8a72 --- /dev/null +++ b/src/templates/admin/admin_searches.html @@ -0,0 +1,93 @@ + + + +
+

{ERROR_MSG}

+
+ + + + + + + + + +
{LN_SEARCH_CENTER}
+

+ + + + + + + + + + + + + + + + + + + + + + + + +
{LN_SEARCH_ID}{LN_SEARCH_NAME}{LN_SEARCH_QUERY}{LN_SEARCH_TYPE}{LN_GEN_ACTIONS}
{ID}{DisplayName}{SearchQuery_Display} {SearchTypeText} +   +   +
 {LN_SEARCH_ADD}
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
{LN_SEARCH_ADDEDIT}
{LN_SEARCH_NAME}
{LN_SEARCH_QUERY}
{LN_SEARCH_USERONLY}
{LN_SEARCH_GROUPONLY} + +
+ + + +
+
+ + +

+ +
+ + \ No newline at end of file diff --git a/src/templates/admin/admin_users.html b/src/templates/admin/admin_users.html index f4f9173..3ed324e 100644 --- a/src/templates/admin/admin_users.html +++ b/src/templates/admin/admin_users.html @@ -44,6 +44,7 @@ +
{LN_USER_ADDEDIT}
{LN_USER_NAME}