Solved

Add an alert banner to a SharePoint site

Posted on 2011-09-12
10
1,108 Views
Last Modified: 2012-05-12
I have a task to add an alert banner to a SharePoint 2007 site that would prompt a user to accept a disclaimer before they are allowed into a site. What would be the best way to accomplish this?
0
Comment
Question by:Tec-Futures
  • 5
  • 4
10 Comments
 
LVL 3

Expert Comment

by:dyuburg
ID: 36522625
0
 
LVL 9

Expert Comment

by:Tehzar
ID: 36522763
Hi Lanzowallace,

This solution is based on Content Editor Web part, it wors for both versions of SharePoint:

http://phase2.com/blog/?p=1242
0
 
LVL 1

Author Comment

by:Tec-Futures
ID: 36524184
The phase2 examples does not work. The logic is what I am looking for but the code is buggy and does not work. Were you able to make it work?
0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 
LVL 9

Expert Comment

by:Tehzar
ID: 36524205
It did work for me, let me find it and i'll post it for you.
0
 
LVL 1

Author Comment

by:Tec-Futures
ID: 36529553
Tehzar ,
Were you able to find your working code?
0
 
LVL 9

Accepted Solution

by:
Tehzar earned 500 total points
ID: 36529944
Be sure to delete your browser cache and close the browser/reopen it.  

Also, sometimes when you copy paste code in, it reformats the apostrophes into quotes (so be sure to check that)
<script type=”text/javascript” language=”javascript”>

var agreement = GetCookie();

//checks for cookie and displays disclaimer alert if new user

if(agreement==''){

var decision = confirm('DISCLAIMER or Message GOES HERE');

if(decision == true){

//writes a cookie

var expiredays = 365;

var exdate=new Date()

exdate.setDate(exdate.getDate()+expiredays)

document.cookie='cookiename'+ '=' +escape('Agree To Disclaimer')+

((expiredays==null) ? '' : '; expires='+exdate.toGMTString())

}

else{

location.href='/_layouts/SignOut.aspx';

}

}

//gets the Cookie if it exists

function GetCookie(){

if (document.cookie.length>0){

c_name = 'cookiename';

c_start=document.cookie.indexOf(c_name + '=')

if (c_start!=-1)

{

c_start=c_start + c_name.length+1

c_end=document.cookie.indexOf(';',c_start)

if (c_end==-1) c_end=document.cookie.length

return agreement = unescape(document.cookie.substring(c_start,c_end))

}

}

return '';

}

</script>

Open in new window

0
 
LVL 1

Author Comment

by:Tec-Futures
ID: 36545200
Tehzar,
The code you provided works perfectly. The only piece left is how to make the cookie expire after the browser close. The current expiration is set for 365. After reading a few blogs I found a few entries that said leave the expire date blank and it will expire when the browser is closed.

When I tried to mod the code to leave expire date blank it does not create a cookie for the current session. I would like the cookie to exist only for the current session and any pages accessed during that session.  Currently the popup keep repeating every time I leave the homepage and come back within the active session. The cookie should be good for the active session only and re-prompt the user to accept the disclaimer when he or she returns to the page.

Thank you for your response.
0
 
LVL 9

Expert Comment

by:Tehzar
ID: 36545690
try setting the expiration to -1

Please let me know if this works out, if not, I'll rework it tonight.  HTH!

Cheers,

ZaR
0
 
LVL 1

Author Comment

by:Tec-Futures
ID: 36548218
Tehzar:,
No -1 did not work. the cookie is not generated.
0
 
LVL 1

Author Comment

by:Tec-Futures
ID: 36548524
Tehzar,
I just tried removing = 365 and left var expiredays ; and it seems to be working fine. I will post it today and let you know if the code works.
0

Featured Post

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Work Over Net is a new and very powerful collaboration product. With its new easy interface it is becoming very competitive to other similar products like webex and office interactive. WON 2010 have the standard business tools needed for multi-offic…
When installing SharePoint 2010 RTM I came across a strange error, I was getting timeouts during the installation. I searched the web and found the best solution to be found here (http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010genera…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…

813 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now