Bundle := CACertsToBundle([]*tls.Certificate{current})
			bundle, count, err := MergeCABundle(current, givenBundle, 2*time.Minute)
			Expect(err).ToNot(HaveOccurred())
			Expect(count).To(Equal(1))
			Expect(bundle).To(Equal(expectBundle))
		})

		It("should ensure that the current CA is not added over and over again", func() {
			now := time.Now()
			current := NewSelfSignedCert(now, now.Add(1*time.Hour))
			given := []*tls.Certificate{
				NewSelfSignedCert(now.Add(-20*time.Minute), now.Add(1*time.Hour)),
				current,
				current,
			}
			givenBundle := CACertsToBundle(given)
			expectBundle := CACertsToBundle([]*tls.Certificate{current, given[0]})
			bundle, count, err := MergeCABundle(current, givenBundle, 2*time.Minute)
			Expect(err).ToNot(HaveOccurred())
			Expect(count).To(Equal(2))
			Expect(bundle).To(Equal(expectBundle))
		})

		It("should be protected against misuse by cropping big arrays", func() {
			now := time.Now()
			current := NewSelfSignedCert(now, now.Add(1*time.Hour))
			given := []*tls.Certificate{}
			for i := 1; i < 20; i++ {
				given = append(given, NewSelfSignedCert(now.Add(-1*time.Minute), now.Add(1*time.Hour)))
			}
			givenBundle := CACertsToBundle(given)
			_, count, err := MergeCABundle(current, givenBundle, 2*time.Minute)
			Expect(err).ToNot(HaveOccurred())
			Expect(count).To(Equal(11))
		})

		It("should immediately suggest a rotation if the cert is not signed by the provided CA", func() {
			now := time.Now()
			current := NewSelfSignedCert(now, now.Add(1*time.Hour))
			ca := NewSelfSignedCert(now, now.Add(1*time.Hour))
			renewal := &v1.Duration{Duration: 4 * time.Hour}
			deadline := NextRotationDeadline(current, ca, renewal, nil)
			Expect(deadline.Before(time.Now())).To(BeTrue())
		})

		It("should set notBefore on the certificate to notBefore value of the CA certificate ", func() {
			duration := &v1.Duration{Duration: 5 * time.Hour}
			caSecret := NewCACertSecret("test")
			Expect(PopulateSecretWithCertificate(caSecret, nil, duration)).To(Succeed())
			caCrt, err := LoadCertificates(caSecret)
			Expect(err).NotTo(HaveOccurred())
			crtSecret := NewCertSecrets("test", "test")[0]
			Expect(PopulateSecretWithCertificate(crtSecret, caCrt, duration)).To(Succeed())
			crt, err := LoadCertificates(crtSecret)
			Expect(err).NotTo(HaveOccurred())
			Expect(crt.Leaf.NotBefore).To(Equal(caCrt.Leaf.NotBefore))
		})

		table.DescribeTable("should set the notAfter on the certificate according to the supplied duration", func(caDuration time.Duration) {
			crtDuration := &v1.Duration{Duration: 2 * time.Hour}
			caSecret := NewCACertSecret("test")
			now := time.Now()
			Expect(PopulateSecretWithCertificate(caSecret, nil, &v1.Duration{Duration: caDuration})).To(Succeed())
			caCrt, err := LoadCertificates(caSecret)
			Expect(err).NotTo(HaveOccurred())
			crtSecret := NewCertSecrets("test", "test")[0]
			Expect(PopulateSecretWithCertificate(crtSecret, caCrt, crtDuration)).To(Succeed())
			crt, err := LoadCertificates(crtSecret)
			Expect(err).NotTo(HaveOccurred())

			Expect(crt.Leaf.NotAfter.Unix()).To(BeNumerically("==", now.Add(crtDuration.Duration).Unix(), 10))
		},Basketball icon Shaquille O'Neal has lost the fight to save his marriage - his wife Shaunie has filed for a legal separation, two years after the sportsman first started divorce proceedings.
O'Neal split from his spouse in September 2007 and accused Shaunie of being secretive about her assets. In his divorce petition, he said, "The marriage... is irretrievably broken".
The couple reunited in August 2008 and vowed to work through its problems, but the star's attempts have failed to impress Shaunie and she filed new papers in Los Angeles County Superior Court on Monday.
According to Tmz.com, Shaunie has moved her and their four young kids out of their shared home in Florida and relocated to California. She is seeking spousal and child support as well as legal and physical custody of their children. They also have a kid each from previous relationships.
The couple would have celebrated its seventh wedding anniversary next month.<commit_before><?php
// (c) Copyright 2002-2011 by authors of the Tiki Wiki CMS Groupware Project
// 
// All Rights Reserved. See copyright.txt for details and a complete list of authors.
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
// $Id$

$section ='mytiki';
include_once ('tiki-setup.php');
include_once('lib/reportslib.php');

$access->check_user($user);
$access->check_feature('feature_user_watches');

if ($prefs['feature_user_watches_translations']) {
	$languages = $tikilib->list_languages();
	$smarty->assign_by_ref('languages', $languages);
}

require_once('lib/notifications/notificationlib.php');

$notification_types = $notificationlib->get_global_watch_types(true);
if ($prefs['feature_user_watches_translations'] == 'y') {
	$notification_types['wiki_page_in_lang_created'] = array(
		'label' => tra('A new page is created in a language'),
		'type' => 'wiki page',
		'url' => '' 
	);
}
if ( $prefs['feature_user_watches_languages'] == 'y') {
	$notification_types['category_changed_in_lang'] = array(
		'label' => tra('Category change in a language'),
		'type' => '',
		'url' => '' 
	);
}

$smarty->assign('add_options', $notification_types);
if (isset($_POST['langwatch'])) {
	foreach($languages as $lang) if ($_POST['langwatch'] == $lang['value']) {
		$langwatch = $lang;
		break;
	}
} else {
	$langwatch = null;
}

if ($prefs['feature_categories']) {
	include_once ('lib/categories/categlib.php');
	$categories = $categlib->list_categs();
} else {
	$categories = array();
}

if ( isset($_REQUEST['categwatch']) ) {
	$selected_categ = null;
	foreach( $categories as $categ ) {
		if ( $_REQUEST['categwatch'] == $categ['categId'] ) {
			$selected_categ = $categ;
			break;
		}
	}
}

if (isset($_REQUEST['id'])) {
	if ($tiki_p_admin_notifications!= 'y' && $user!= $tikilib->get_user_notification($_REQUEST['id'])) {
		$smarty->assign('errortype', 401);
		$smarty->assign('msg', tra("Permission denied"));
		$smarty->display("error.tpl");
		die;
	}
	$access->check_authenticity(tra('Remove the notification email'));
	$error = $tikilib->remove_user_watch_by_id($_REQUEST['id']);
	$smarty->assign('remove_user_watch_error',!$error);
}

if (isset($_REQUEST["add"])) {
	if (isset($_REQUEST['event