| Author | 
                
                  Topic   | 
                
              
              
                | 
                 DavidRhodes 
                Senior Member 
                     
                 
                
                United Kingdom 
                1222 Posts  | 
                
                  
                    
                      
                       Posted - 10 March 2003 :  13:43:11
                        
                      
  | 
                     
                    
                       Requires Private Messages Mod
  Seen this done a few times before so thought i'd share my version of it. Basically, if you have 1 message you will be promted (OK/Cancel) to view the message instantly or if you have more than 1 it will take you to your inbox.
  Create a new ASP file calles inc_pm_alert.asp, add the following
 <%
if strDBNTUserName <> "" Then 
	if pmcount = 1 then 
		strSql = "SELECT " & strMemberTablePrefix & "MEMBERS.MEMBER_ID, " & strMemberTablePrefix & "MEMBERS.M_NAME, " & strTablePrefix & "PM.M_ID, " & strTablePrefix & "PM.M_TO, " & strTablePrefix & "PM.M_SUBJECT, " & strTablePrefix & "PM.M_SENT, " & strTablePrefix & "PM.M_FROM, " & strTablePrefix & "PM.M_READ "
		strSql = strSql & " FROM " & strMemberTablePrefix & "MEMBERS , " & strTablePrefix & "PM "
		strSql = strSql & " WHERE " & strMemberTablePrefix & "MEMBERS.M_NAME = '" & strDBNTUserName & "'"
		strSql = strSql & " AND " & strMemberTablePrefix & "MEMBERS.MEMBER_ID = " & strTablePrefix & "PM.M_TO "
		strSql = strSql & " ORDER BY " & strTablePrefix & "PM.M_SENT DESC" 
		Set rsMessage = my_Conn.Execute(strSql)
		%>		
		<script language=javascript>
		if (window.print) {
			if (getCookie('ShowMsgBox') != 'false'){
				agree = confirm('You have a new Private Message!\nWould you like to view it now ?');
				if (agree) {window.open('pm_pop_read.asp?id=<% =rsMessage("M_ID") %>','_blank','width=490,height=340,top=75,left=220,scrollbars=yes')}
				else {setCookie('ShowMsgBox', 'false','','','','')}
			}
		}
		</script>
		<%
		Set rsMessage = Nothing
	elseif pmcount > 1 then 
		%>		
		<script language=javascript>
		if (window.print) {
			if (getCookie('ShowMsgBox') != 'false'){
				agree = confirm('You have <%=pmcount%> new Private Messages!\nWould you like to go to your inbox now ?');
				if (agree) {window.location.href = 'pm_view.asp?view=inbox'; setCookie('ShowMsgBox', 'false','','','','')}
				else {setCookie('ShowMsgBox', 'false','','','','')}
			}
		}
		</script>
		<%
	end if
end if
%>
  add this to inc_footer.asp above my_Conn.close
 %>
<!--#INCLUDE FILE="inc_pm_alert.asp" -->
<% 
  add these JavaScript functions between the HEAD tags of inc_header.asp, sorry I can't be more exact with line numbers but i've extracted my js to a .js file.
 
 function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}
function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}
  cookies are required in the event that you click cancel on the popup, the cookie prevents the popup occuring on subsequent pages
 
   | 
                     
                    
                        The UK MkIVs Forum | 
                     
                   
                 | 
              
              
                | 
                 PeeWee.Inc 
                Senior Member 
                     
                 
                
                United Kingdom 
                1893 Posts  | 
                
                  
                    
                      
                       Posted - 10 March 2003 :  13:59:16
                        
                        
                      
  | 
                     
                    
                       
<%
function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}
function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}
%>
  how long is the cookie stored for? | 
                     
                    
                        De Priofundus Calmo Ad Te Damine | 
                     
                    
                        | 
                     
                   
                 | 
              
              
                | 
                 DavidRhodes 
                Senior Member 
                     
                 
                
                United Kingdom 
                1222 Posts  | 
                
                  
                 | 
              
              
                | 
                 Jag24 
                Junior Member 
                   
                 
                
                182 Posts  | 
                
                  
                    
                      
                       Posted - 18 March 2003 :  20:47:05
                        
                        
                      
  | 
                     
                    
                       Looks like a great idea,  I was looking for something along this line.  HeaderFile
  Any ideas where I should place the code in this header file?
  | 
                     
                    
                        | 
                     
                   
                 | 
              
              
                | 
                 DavidRhodes 
                Senior Member 
                     
                 
                
                United Kingdom 
                1222 Posts  | 
                
                  
                    
                      
                       Posted - 19 March 2003 :  05:54:32
                        
                      
  | 
                     
                    
                      |  Best to put it in the footer as if you have a message a javascript pop-up appears, this will stop the rest of the HTML rendering until you click 'OK'. | 
                     
                    
                        The UK MkIVs Forum | 
                     
                    
                        | 
                     
                   
                 | 
              
              
                | 
                 forumnewbee 
                Starting Member 
                 
                 
                
                Netherlands 
                42 Posts  | 
                
                  
                    
                      
                       Posted - 19 March 2003 :  10:56:02
                        
                        
                      
  | 
                     
                    
                       quote: add these JavaScript functions between the HEAD tags of inc_header.asp
  
  where exactly is that ? sorry asp newbee here.
  Greetz | 
                     
                    
                        Body & Fitness Forum | 
                     
                    
                        | 
                     
                   
                 | 
              
              
                | 
                 forumnewbee 
                Starting Member 
                 
                 
                
                Netherlands 
                42 Posts  | 
                
                  
                 | 
              
              
                | 
                 forumnewbee 
                Starting Member 
                 
                 
                
                Netherlands 
                42 Posts  | 
                
                  
                 | 
              
              
                | 
                 Ez4arab 
                Junior Member 
                   
                 
                
                479 Posts  | 
                
                  
                    
                      
                       Posted - 21 March 2003 :  03:52:17
                        
                        
                      
  | 
                     
                    
                       after this  function openMiniPoll(url) { 	popupWin = window.open(url,'new_page','width=200,height=400,top=75,left=220') }
  | 
                     
                    
                        Ez4arab web site Ez4arab | | 
                     
                    
                        | 
                     
                   
                 | 
              
              
                | 
                 RodVera 
                Starting Member 
                 
                 
                
                Chile 
                2 Posts  | 
                
                  
                    
                      
                       Posted - 21 March 2003 :  18:34:24
                        
                        
                      
  | 
                     
                    
                       Hey, nice work on this one. I have a question, how do i set the cookie to expire, lets say in 5 minutes. I tried 
  setCookie('ShowMsgBox', 'false','300','','','')
  but got javascript errors. Pls help. | 
                     
                    
                        | 
                     
                   
                 | 
              
              
                | 
                 forumnewbee 
                Starting Member 
                 
                 
                
                Netherlands 
                42 Posts  | 
                
                  
                    
                      
                       Posted - 26 March 2003 :  20:17:17
                        
                        
                      
  | 
                     
                    
                       quote: Originally posted by Ez4arab
  after this  function openMiniPoll(url) { 	popupWin = window.open(url,'new_page','width=200,height=400,top=75,left=220') }
 
 
  
  Can not find that part in inc_header.asp :( | 
                     
                    
                        Body & Fitness Forum | 
                     
                    
                        | 
                     
                   
                 | 
              
              
                | 
                 DavidRhodes 
                Senior Member 
                     
                 
                
                United Kingdom 
                1222 Posts  | 
                
                  
                    
                      
                       Posted - 27 March 2003 :  11:31:25
                        
                      
  | 
                     
                    
                       quote: Originally posted by RodVera
  Hey, nice work on this one. I have a question, how do i set the cookie to expire, lets say in 5 minutes. I tried 
  setCookie('ShowMsgBox', 'false','300','','','')
  but got javascript errors. Pls help.
 
  
  you need to use a valid date, i don't think seconds will work | 
                     
                    
                        The UK MkIVs Forum | 
                     
                    
                        | 
                     
                   
                 | 
              
              
                | 
                 forumnewbee 
                Starting Member 
                 
                 
                
                Netherlands 
                42 Posts  | 
                
                  
                    
                      
                       Posted - 28 March 2003 :  12:11:56
                        
                        
                      
  | 
                     
                    
                       can someone plz post a link where this mod is working ? I wanna test it :D
  Greetz | 
                     
                    
                        Body & Fitness Forum | 
                     
                    
                        | 
                     
                   
                 | 
              
              
                | 
                 DavidRhodes 
                Senior Member 
                     
                 
                
                United Kingdom 
                1222 Posts  | 
                
                  
                 | 
              
              
                | 
                 forumnewbee 
                Starting Member 
                 
                 
                
                Netherlands 
                42 Posts  | 
                
                  
                    
                      
                       Posted - 29 March 2003 :  06:43:52
                        
                        
                      
  | 
                     
                    
                       quote: Originally posted by DavidRhodes
  It's on my site, link is below
 
  
  I register there bro member name 'Smalluser' and tested the PM alert it looks great really !!!!!!!!!!!!
  I can not get it running on mu forum :( can you plz mail the neccesary asp's so I can look into them ? so I can edit mine asp's.
  admin@body-fitness.nl
  Greetz | 
                     
                    
                        Body & Fitness Forum | 
                     
                    
                        | 
                     
                   
                 | 
              
              
                | 
                 LeeC 
                Starting Member 
                 
                 
                
                36 Posts  | 
                
                  
                    
                      
                       Posted - 31 March 2003 :  17:44:47
                        
                        
                      
  | 
                     
                    
                       Went ahead and converted the javascript inc_header.asp portion to response.writes (Hope you don't mind David)
  Find the section:
 
Response.Write	"<script language=""JavaScript"" type=""text/javascript"">" & vbNewLine & _
		"<!-- hide from JavaScript-challenged browsers" & vbNewLine & _ 
  And above:
 
		"// done hiding -->" & vbNewLine & _
		"</script>" & vbNewLine & _
 
  Insert the following:
 
		"// ################## PM Alert ##################" & vbNewLine & _
		"function setCookie(name, value, expires, path, domain, secure) {" & vbNewLine & _
		"  var curCookie = name + ""="" + escape(value) +" & vbNewLine & _
		"      ((expires) ? ""; expires="" + expires.toGMTString() : """") +" & vbNewLine & _
		"      ((path) ? ""; path="" + path : """") +" & vbNewLine & _
		"      ((domain) ? ""; domain="" + domain : """") +" & vbNewLine & _
		"      ((secure) ? ""; secure"" : """");" & vbNewLine & _
		"  document.cookie = curCookie;" & vbNewLine & _
		"}" & vbNewLine & _
		"function getCookie(name) {" & vbNewLine & _
		"  var dc = document.cookie;" & vbNewLine & _
		"  var prefix = name + ""="";" & vbNewLine & _
		"  var begin = dc.indexOf(""; "" + prefix);" & vbNewLine & _
		"  if (begin == -1) {" & vbNewLine & _
		"    begin = dc.indexOf(prefix);" & vbNewLine & _
		"    if (begin != 0) return null;" & vbNewLine & _
		"  } else" & vbNewLine & _
		"    begin += 2;" & vbNewLine & _
		"  var end = document.cookie.indexOf("";"", begin);" & vbNewLine & _
		"  if (end == -1)" & vbNewLine & _
		"    end = dc.length;" & vbNewLine & _
		"  return unescape(dc.substring(begin + prefix.length, end));" & vbNewLine & _
		"}" & vbNewLine & _
		"// #############################################" & vbNewLine & _
 
  | 
                     
                    
                        Oh WTF!com Convergence - an MMORPG guild .rdw. a CS clan GotFrag? - Your online eSports resource
  urK?!? | 
                     
                    
                       Edited by - LeeC on 31 March 2003  17:45:53 | 
                     
                    
                        | 
                     
                   
                 | 
              
              
                
                
                  Topic   | 
                  |