Index: trunk/admin/logs/email_log.php =================================================================== diff -u --- trunk/admin/logs/email_log.php (revision 0) +++ trunk/admin/logs/email_log.php (revision 352) @@ -0,0 +1,298 @@ +Get("Site_Path"); + +$admin = $objConfig->Get("AdminDirectory"); +if(!strlen($admin)) + $admin = "admin"; + +$adminURL = $rootURL.$admin; +$localURL=$rootURL."kernel/"; + +$imagesURL = $adminURL."/images"; + +//admin only includes +require_once ($pathtoroot.$admin."/include/elements.php"); +require_once ($pathtoroot."kernel/admin/include/navmenu.php"); +require_once($pathtoroot.$admin."/toolbar.php"); +require_once($pathtoroot.$admin."/listview/listview.php"); + +$pathtolocal = $pathtoroot; + +/* -------------------------------------- Section configuration ------------------------------------------- */ +$section = 'in-portal:emaillog'; +$envar = "env=" . BuildEnv(); + +$SortFieldVar = "EmailsL_SortField"; +$SortOrderVar = "EmailsL_SortOrder"; +$DefaultSortField = "UserName"; +$PerPageVar = "Perpage_EmailsL"; +$CurrentPageVar = "Page_EmailsL"; +$CurrentFilterVar = "EmailsL_View"; + +$ListForm = "emaillistform"; +$CheckClass = "UserChecks"; + +/* ------------------------------------- Configure the toolbar ------------------------------------------- */ +$objListToolBar = new clsToolBar(); + +$objListToolBar->Set("section",$section); +$objListToolBar->Set("load_menu_func",""); +$objListToolBar->Set("CheckClass",$CheckClass); +$objListToolBar->Set("CheckForm",$ListForm); + +$listImages = array(); + //$img, $alt, $link, $onMouseOver, $onMouseOut, $onClick + +$objListToolBar->Add("log_refresh", "la_ToolTip_Refresh","#","swap('log_refresh','toolbar/tool_refresh_f2.gif');", + "swap('log_refresh', 'toolbar/tool_refresh.gif');","window.location.reload(true);", + "tool_refresh.gif"); + +$objListToolBar->Add("log_reset","la_ToolTip_Reset","#", "swap('log_reset','toolbar/tool_disconnect_f2.gif');", + "swap('log_reset', 'toolbar/tool_disconnect.gif');","$CheckClass.check_submit('email_log', 'm_purge_email_log');", + "tool_disconnect.gif",TRUE,TRUE); + +//$listImages[] = "$CheckClass.addImage('log_reset','$imagesURL/toolbar/tool_disconnect.gif','$imagesURL/toolbar/tool_disconnect_f3.gif',1);\n "; +//$listImages[] = "$CheckClass.addImage('log_reset','$imagesURL/toolbar/tool_disconnect.gif','$imagesURL/toolbar/tool_disconnect_f3.gif',1);\n "; + +$objListToolBar->Add("divider"); + +$objListToolBar->Add("user_print", "la_ToolTip_Print","#","swap('user_print','toolbar/tool_print_f2.gif');", + "swap('user_print', 'toolbar/tool_print.gif');","window.print();","tool_print.gif"); + +$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); +$objListToolBar->AddToInitScript("fwLoadMenus();"); + +/* ----------------------------------------- Set the View Filter ---------------------------------------- */ + +/* bit place holders for category view menu */ +/*$Bit_Active=1; +$Bit_Inactive=2; +$Bit_Guest=4; +$Bit_All = 7; + +$FilterLabels = array(); + +$FilterLabels[0] = admin_language("la_Text_Active"); +$FilterLabels[1] = admin_language("la_Text_Expired"); +$FilterLabels[2] = admin_language("la_Text_Guest"); +*/ +if($_GET["resetpage"]==1) + $objSession->SetVariable("Page_EmailsL","1"); + +/* determine current view menu settings */ +$SessionView = $objConfig->Get("EmailsL_View"); + +if(!is_numeric($SessionView)) +{ + $SessionView = $Bit_All; //Set all bits ON + $SessionFilter = ""; +} + +/*$filter = array(); +$status=array(); + +if($SessionView & $Bit_Active) +{ + $status[] = 1; +} +if($SessionView & Bit_Inactive) +{ + $status[] = 0; +} + + +if(count($status>0)) +{ + $filter[] = "us.Status IN (".join($status,",").")"; +} + + +if(!($SessionView & $Bit_Guest)) + $filter[] = "p.Login IS NOT NULL"; + +$SessionFilter = join(" AND ",$filter); +*/ + +$order = $objConfig->Get("EmailsL_SortOrder"); +$SearchWords = $objSession->GetVariable("EmailsLSearchWord"); +if(strlen($SearchWords)) +{ + $where = $objSession->AdminSearchWhereClause($SearchWords); +} +else + $where = ""; + +if(strlen($SessionFilter)>0) +{ + if(strlen($where)) + $where.= " AND "; + $where.=$SessionFilter; +} + +//echo $where; + +/*$sql = "SELECT us.*,if (p.Login IS NULL,'".admin_language("la_Text_Guest")."',p.Login) as UserName, "; +$sql .="if(g.Name IS NULL,'".admin_language("la_Text_GuestUsers")."',g.Name) as GroupName, "; +$sql .="ELT(us.Status+1,'".admin_language("la_Text_Expired")."','".admin_language("la_Text_Active")."') as SessionStatus, "; +$sql .="FROM_UNIXTIME(us.LastAccessed,'%m-%d-%Y') as DateCreated "; +$sql .="FROM ".GetTablePrefix()."UserSession "; +$sql .=" as us LEFT JOIN ".GetTablePrefix()."PortalUser as p USING (PortalUserId) "; +$sql .="LEFT JOIN ".GetTablePrefix()."UserGroup as u ON (p.PortalUserId=u.PortalUserId AND u.PrimaryGroup=1) "; +$sql .="LEFT JOIN ".GetTablePrefix()."PortalGroup as g ON (u.GroupId=g.GroupId) "; +$sql .= " WHERE us.Status = 1 "; +*/ +$sql = "SELECT EmailLogId, fromuser, addressto, subject, event, FROM_UNIXTIME(timestamp,'%m-%d-%Y %H:%i:%s') as time_sent FROM ".GetTablePrefix()."EmailLog"; + +if(strlen($where)) { + $sql .= "AND ".$where; +} + +$orderBy = trim($objConfig->Get("EmailsL_SortField")." ".$objConfig->Get("EmailsL_SortOrder")); +if(strlen($orderBy)) + $sql .=" ORDER BY ".$orderBy; + +//$sql .=" ".GetLimitSQL($objSession->GetVariable("Page_Sessionlist"),$objConfig->Get("Perpage_Sessionlist")); + +if($objSession->HasSystemPermission("DEBUG.LIST")) + echo htmlentities($sql,ENT_NOQUOTES)."
\n"; +$objListView = new clsListView($objListToolBar); +$objListView->CurrentPageVar = "Page_EmailsL"; +$objListView->PerPageVar = "Perpage_EmailsL"; + +$objUsers->Query_Item( $sql, $objListView->GetLimitSQL() ); +$itemcount = TableCount(GetTablePrefix()."UserSession", $where,0); + +$objListView->SetListItems($objUsers); +$objListView->IdField = "EmailLogId"; +$objListView->PageLinkTemplate = $pathtoroot.$admin."/templates/user_page_link.tpl"; + +$objListView->ColumnHeaders->Add("fromuser",admin_language("la_prompt_FromUsername"),1,0,$order,"width=\"35%\"","EmailsL_SortField","EmailsL_SortOrder","UserName"); +$objListView->ColumnHeaders->Add("addressto",admin_language("la_prompt_AddressTo"),1,0,$order,"width=\"20%\"","EmailsL_SortField","EmailsL_SortOrder","GroupName"); +$objListView->ColumnHeaders->Add("subject",admin_language("la_prompt_Subject"),1,0,$order,"width=\"10%\"","EmailsL_SortField","EmailsL_SortOrder","SessionStatus"); +$objListView->ColumnHeaders->Add("event",admin_language("la_prompt_Event"),1,0,$order,"width=\"15%\"","EmailsL_SortField","EmailsL_SortOrder","IPAddress"); +$objListView->ColumnHeaders->Add("time_sent",admin_language("la_prompt_SentOn"),1,0,$order,"width=\"20%\"","EmailsL_SortField","EmailsL_SortOrder","time_sent"); +$objListView->ColumnHeaders->SetSort($objConfig->Get("EmailsL_SortField"),$order); + +$objListView->PrintToolBar = FALSE; +$objListView->SearchBar = TRUE; +$objListView->SearchKeywords = $SearchWords; +$objListView->SearchAction="m_emaillog_search"; +$objListView->CheckboxName = "itemlist[]"; +$objListView->TotalItemCount = $itemcount; + + $objListView->ConfigureViewMenu($SortFieldVar,$SortOrderVar,$DefaultSortField, + $CurrentFilterVar,$SessionView,$Bit_All); + + foreach($FilterLabels as $Bit=>$Label) + { + $objListView->AddViewMenuFilter($Label,$Bit); + } + +$title = admin_language("la_Show_EmailLog")." (".$objUsers->NumItems().")"; +$h = "\n\n\n"; +int_header($objListToolBar,NULL, $title,NULL,$h); +?> +
+PrintList(); +?> + +
+ + +
+ + + + +
+
+ + +
+ + + + +