time = time(); $this->startSession(); } /** * startSession - Performs all the actions necessary to * initialize this session object. Tries to determine if the * the user has logged in already, and sets the variables * accordingly. Also takes advantage of this page load to * update the active visitors tables. */ function startSession(){ global $database; //The database connection session_start(); //Tell PHP to start the session /* Determine if user is logged in */ $this->logged_in = $this->checkLogin(); /** * Set guest value to users not logged in, and update * active guests table accordingly. */ if(!$this->logged_in){ $this->username = $_SESSION['username'] = GUEST_NAME; $this->userlevel = GUEST_LEVEL; $database->addActiveGuest($_SERVER['REMOTE_ADDR'], $this->time); } /* Update users last active timestamp */ else{ $database->addActiveUser($this->username, $this->time); } /* Remove inactive visitors from database */ $database->removeInactiveUsers(); $database->removeInactiveGuests(); /* Set referrer page */ if(isset($_SESSION['url'])){ $this->referrer = $_SESSION['url']; }else{ $this->referrer = "/"; } /* Set current url */ $this->url = $_SESSION['url'] = $_SERVER['PHP_SELF']; } /** * checkLogin - Checks if the user has already previously * logged in, and a session with the user has already been * established. Also checks to see if user has been remembered. * If so, the database is queried to make sure of the user's * authenticity. Returns true if the user has logged in. */ function checkLogin(){ global $database; //The database connection /* Check if user has been remembered */ if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookid'])){ $this->username = $_SESSION['username'] = $_COOKIE['cookname']; $this->userid = $_SESSION['userid'] = $_COOKIE['cookid']; } /* Username and userid have been set and not guest */ if(isset($_SESSION['username']) && isset($_SESSION['userid']) && $_SESSION['username'] != GUEST_NAME){ /* Confirm that username and userid are valid */ if($database->confirmUserID($_SESSION['username'], $_SESSION['userid']) != 0){ /* Variables are incorrect, user not logged in */ unset($_SESSION['username']); unset($_SESSION['userid']); return false; } /* User is logged in, set class variables */ $this->userinfo = $database->getUserInfo($_SESSION['username']); $this->username = $this->userinfo['username']; $this->userid = $this->userinfo['userid']; $this->userlevel = $this->userinfo['userlevel']; return true; } /* User not logged in */ else{ return false; } } /** * login - The user has submitted his username and password * through the login form, this function checks the authenticity * of that information in the database and creates the session. * Effectively logging in the user if all goes well. */ function login($subuser, $subpass, $subremember){ global $database, $form; //The database and form object /* Username error checking */ $field = "user"; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ $form->setError($field, "* Username not entered"); } else{ /* Check if username is not alphanumeric */ if(!eregi("^([0-9a-z])*$", $subuser)){ $form->setError($field, "* only letters and numbers allowed and no spaces"); } } /* Password error checking */ $field = "pass"; //Use field name for password if(!$subpass){ $form->setError($field, "* Password not entered"); } /* Return if form errors exist */ if($form->num_errors > 0){ return false; } /* Checks that username is in database and password is correct */ $subuser = stripslashes($subuser); $result = $database->confirmUserPass($subuser, md5($subpass)); /* Check error codes */ if($result == 1){ $field = "user"; $form->setError($field, "* Username not found"); } else if($result == 2){ $field = "pass"; $form->setError($field, "* Invalid password"); } /* Return if form errors exist */ if($form->num_errors > 0){ return false; } /* Username and password correct, register session variables */ $this->userinfo = $database->getUserInfo($subuser); $this->username = $_SESSION['username'] = $this->userinfo['username']; $this->userid = $_SESSION['userid'] = $this->generateRandID(); $this->userlevel = $this->userinfo['userlevel']; /* Insert userid into database and update active users table */ $database->updateUserField($this->username, "userid", $this->userid); $database->addActiveUser($this->username, $this->time); $database->removeActiveGuest($_SERVER['REMOTE_ADDR']); /** * This is the cool part: the user has requested that we remember that * he's logged in, so we set two cookies. One to hold his username, * and one to hold his random value userid. It expires by the time * specified in constants.php. Now, next time he comes to our site, we will * log him in automatically, but only if he didn't log out before he left. */ if($subremember){ setcookie("cookname", $this->username, time()+COOKIE_EXPIRE, COOKIE_PATH); setcookie("cookid", $this->userid, time()+COOKIE_EXPIRE, COOKIE_PATH); } /* Login completed successfully */ return true; } /** * logout - Gets called when the user wants to be logged out of the * website. It deletes any cookies that were stored on the users * computer as a result of him wanting to be remembered, and also * unsets session variables and demotes his user level to guest. */ function logout(){ global $database; //The database connection /** * Delete cookies - the time must be in the past, * so just negate what you added when creating the * cookie. */ if(isset($_COOKIE['cookname']) && isset($_COOKIE['cookid'])){ setcookie("cookname", "", time()-COOKIE_EXPIRE, COOKIE_PATH); setcookie("cookid", "", time()-COOKIE_EXPIRE, COOKIE_PATH); } /* Unset PHP session variables */ unset($_SESSION['username']); unset($_SESSION['userid']); /* Reflect fact that user has logged out */ $this->logged_in = false; /** * Remove from active users table and add to * active guests tables. */ $database->removeActiveUser($this->username); $database->addActiveGuest($_SERVER['REMOTE_ADDR'], $this->time); /* Set user level to guest */ $this->username = GUEST_NAME; $this->userlevel = GUEST_LEVEL; } /** * register - Gets called when the user has just submitted the * registration form. Determines if there were any errors with * the entry fields, if so, it records the errors and returns * 1. If no errors were found, it registers the new user and * returns 0. Returns 2 if registration failed. */ function register($subuser, $subpass, $subemail){ global $database, $form, $mailer; //The database, form and mailer object /* Username error checking */ $field = "user"; //Use field name for username if(!$subuser || strlen($subuser = trim($subuser)) == 0){ $form->setError($field, "* Username not entered"); } else{ /* Spruce up username, check length */ $subuser = stripslashes($subuser); if(strlen($subuser) < 5){ $form->setError($field, "* Username below 5 characters"); } else if(strlen($subuser) > 30){ $form->setError($field, "* Username above 30 characters"); } /* Check if username is not alphanumeric */ else if(!eregi("^([0-9a-z])+$", $subuser)){ $form->setError($field, "* * only letters and numbers allowed and no spaces"); } /* Check if username is reserved */ else if(strcasecmp($subuser, GUEST_NAME) == 0){ $form->setError($field, "* Username reserved word"); } /* Check if username is already in use */ else if($database->usernameTaken($subuser)){ $form->setError($field, "* Username already in use"); } /* Check if username is banned */ else if($database->usernameBanned($subuser)){ $form->setError($field, "* Username banned"); } } /* Password error checking */ $field = "pass"; //Use field name for password if(!$subpass){ $form->setError($field, "* Password not entered"); } else{ /* Spruce up password and check length*/ $subpass = stripslashes($subpass); if(strlen($subpass) < 4){ $form->setError($field, "* Password too short"); } /* Check if password is not alphanumeric */ else if(!eregi("^([0-9a-z])+$", ($subpass = trim($subpass)))){ $form->setError($field, "* * only letters and numbers allowed and no spaces"); } /** * Note: I trimmed the password only after I checked the length * because if you fill the password field up with spaces * it looks like a lot more characters than 4, so it looks * kind of stupid to report "password too short". */ } /* Email error checking */ $field = "email"; //Use field name for email if(!$subemail || strlen($subemail = trim($subemail)) == 0){ $form->setError($field, "* Email not entered"); } else{ /* Check if valid email address */ $regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*" ."@[a-z0-9-]+(\.[a-z0-9-]{1,})*" ."\.([a-z]{2,}){1}$"; if(!eregi($regex,$subemail)){ $form->setError($field, "* Email invalid"); } $subemail = stripslashes($subemail); } /* Errors exist, have user correct them */ if($form->num_errors > 0){ return 1; //Errors with form } /* No errors, add the new account to the */ else{ if($database->addNewUser($subuser, md5($subpass), $subemail)){ if(EMAIL_WELCOME){ $mailer->sendWelcome($subuser,$subemail,$subpass); } return 0; //New user added succesfully }else{ return 2; //Registration attempt failed } } } /** * editAccount - Attempts to edit the user's account information * including the password, which it first makes sure is correct * if entered, if so and the new password is in the right * format, the change is made. All other fields are changed * automatically. */ function editAccount($subcurpass, $subnewpass, $subemail){ global $database, $form; //The database and form object /* New password entered */ if($subnewpass){ /* Current Password error checking */ $field = "curpass"; //Use field name for current password if(!$subcurpass){ $form->setError($field, "* Current Password not entered"); } else{ /* Check if password too short or is not alphanumeric */ $subcurpass = stripslashes($subcurpass); if(strlen($subcurpass) < 4 || !eregi("^([0-9a-z])+$", ($subcurpass = trim($subcurpass)))){ $form->setError($field, "* Current Password incorrect"); } /* Password entered is incorrect */ if($database->confirmUserPass($this->username,md5($subcurpass)) != 0){ $form->setError($field, "* Current Password incorrect"); } } /* New Password error checking */ $field = "newpass"; //Use field name for new password /* Spruce up password and check length*/ $subpass = stripslashes($subnewpass); if(strlen($subnewpass) < 4){ $form->setError($field, "* New Password too short"); } /* Check if password is not alphanumeric */ else if(!eregi("^([0-9a-z])+$", ($subnewpass = trim($subnewpass)))){ $form->setError($field, "* New Password not alphanumeric"); } } /* Change password attempted */ else if($subcurpass){ /* New Password error reporting */ $field = "newpass"; //Use field name for new password $form->setError($field, "* New Password not entered"); } /* Email error checking */ $field = "email"; //Use field name for email if($subemail && strlen($subemail = trim($subemail)) > 0){ /* Check if valid email address */ $regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*" ."@[a-z0-9-]+(\.[a-z0-9-]{1,})*" ."\.([a-z]{2,}){1}$"; if(!eregi($regex,$subemail)){ $form->setError($field, "* Email invalid"); } $subemail = stripslashes($subemail); } /* Errors exist, have user correct them */ if($form->num_errors > 0){ return false; //Errors with form } /* Update password since there were no errors */ if($subcurpass && $subnewpass){ $database->updateUserField($this->username,"password",md5($subnewpass)); } /* Change Email */ if($subemail){ $database->updateUserField($this->username,"email",$subemail); } /* Success! */ return true; } /** * isAdmin - Returns true if currently logged in user is * an administrator, false otherwise. */ function isAdmin(){ return ($this->userlevel == ADMIN_LEVEL || $this->username == ADMIN_NAME); } /** * generateRandID - Generates a string made up of randomized * letters (lower and upper case) and digits and returns * the md5 hash of it to be used as a userid. */ function generateRandID(){ return md5($this->generateRandStr(16)); } /** * generateRandStr - Generates a string made up of randomized * letters (lower and upper case) and digits, the length * is a specified parameter. */ function generateRandStr($length){ $randstr = ""; for($i=0; $i<$length; $i++){ $randnum = mt_rand(0,61); if($randnum < 10){ $randstr .= chr($randnum+48); }else if($randnum < 36){ $randstr .= chr($randnum+55); }else{ $randstr .= chr($randnum+61); } } return $randstr; } }; /** * Initialize session object - This must be initialized before * the form object because the form uses session variables, * which cannot be accessed unless the session has started. */ $session = new Session; /* Initialize form object */ $form = new Form; ?> Ricky Gervais... Obviously. " ."" .""; $forminput = "" ."" ."" . ""; if($session->logged_in){ $toptagline ="" ."" .""; $forminput = ""; } else{ /** * User not logged in, display the login form. * If user has already tried to login, but errors were * found, display the total number of errors. * If errors occurred, they will be displayed. */ if($form->num_errors > 0){ $errorline = ""; } } $membersline = "There are ".$database->getNumMembers()." members signed up to Ricky Gervais.Com - ". $database->num_active_users ." are signed in now and there are " . $database->num_active_guests. " people just visiting"; ?>
  RICKY GERVAIS
I'm not worried about a backlash ... ... I could do with losing a few fans


THE REAL reason I shouldn't be famous," explains Ricky Gervais, Pumas up on the table, flashing a tigerish grin, "is that everything I do is such an acquired taste." He is talking backstage at the Hammersmith Apollo, towards the end of a national tour, in the course of which he will have performed to half a million people. Not only has Britain acquired a taste for Gervais, it seems to have a bottomless appetite for the man and his work.

"I don't know why we got the figures we did for The Office and Extras," he continues, shaking his head. "Just think of the things we deal with - paedophilia in the Catholic church, disability and racism. It's not My Family. So it's weird that I became a household name."

The front of the Apollo is plastered with billboards of Gervais, bequiffed and grinning, Elvis in Wonderland, but his dressing room is a study in anonymity. The impression is that he arrives, performs, and leaves as soon as possible for home and his girlfriend, Jane Fallon.

At 46, he is arguably the most acclaimed and popular comedian in the world, and so it's unsurprising that during live performances and chat-show appearances, he comes across as arrogant. Yet this, he insists, is just a persona. It's "Ricky Gervais" rather than Ricky Gervais. He certainly couldn't be less starry in the flesh. He suits his blank dressing room. Everything about him is everymanish and mundane except his talent and achievements - the Baftas, Golden Globes and Emmys that attest to his success in Britain and America.

Gervais's live show is called Fame. He appears on stage wearing a crown and performs in front of his name spelled out in giant lights. "Too much?" he asks with a 100-watt twinkle. The stage set also includes a giant Emmy. This has been constructed with a shelf to hold a can of lager and a copy of a paper containing news of Gervais's new home in Hampstead. During the show he feigns outrage at inaccurate reporting - how dare they write his house cost £2.5 million? It was a million more than that.

Celebrity appalled Gervais before he became well-known. Ironically, his own fame came about as a result of The Office, which sent up his character David Brent's desperate quest for validation via television. The last time I interviewed him, in 2004, he hated being famous, but now feels differently. He seems to be revelling in what fame has meant - reaching a level of success that gives him complete creative freedom and puts him out of range of his critics. "I'm big enough now to stand up and go, Come on then and let's have a go,'" he says. "Before, with the press, I was timid and thought, Oh, like me.' But now I don't give a f*** whether you like me or not."

In truth, he has had a great run of critical acclaim. Only in recent months have there been the beginnings of a backlash. In July, at the Concert For Diana in Wembley Stadium, Gervais suffered an apparent humiliation when he was unexpectedly forced to fill time before Elton John came on stage, and, seeming unable to ad lib, resorted to performing David Brent's famous dance from The Office. Then, in August, his show at Edinburgh Castle was criticised for the price of the tickets - £37.50.

"I thought that was a shame because for the past seven years I've never done anything for the money," says Gervais. "I've made more than most, but that wasn't my aim." He avoids potential big-earners such as adverts, panel shows, corporate performances and merchandise, regarding these as somehow impure. "So, I thought it was a little unjust. And the money all went to charity anyway, but that's irrelevant." He seems almost embarrassed to have muttered this last point, though keen to defend himself.

"Yeah, I didn't want people thinking I was greedy." The Diana concert then - what happened? He says his stand-up tour had just sold out and therefore he didn't want to perform any of that material in front of such a massive television audience; it would have meant that when people came to his shows they would already have heard some of the jokes.

But how did it feel on stage? "I didn't give a f***. I was just laughing. I gave them the dance and then I came off. I didn't think anything of it."

Well, he looked very ill at ease. "It honestly didn't feel uncomfortable," he insists. "The crowd absolutely loved me doing the dance. That was an example of one journalist going, He was terrible at the Diana concert. Now I can say The Office was rubbish, he's not a stand-up, and this is the end of his career.' The week he wrote that, I got nominated for four Emmys, I sold 100,000 DVDs in America, and signed up for two Hollywood films. It's ridiculous. It made no difference at all."

If there is a genuine backlash, Gervais welcomes it. He thinks that so many people like him, it's impossible that all of them really get what he's all about. "I've got to whittle a few fans away. I'm bigger than I should have been." He is elitist in his tastes, and therefore the idea of being a mainstream star sits oddly with him. So he's quite keen on the idea of fairweather fans beginning to mutter that he's not funny any more. "All my heroes went through a bad patch and 10 years later people went, Oh f***ing hell, they're great.'" he explains. "There's something in me that likes Ali losing the title and then winning it back. He's The Greatest because he lost the title. No-one talks about the people who weren't defeated."

So is his time as comedy's reigning champ coming to an end?

He laughs. "No, no, I don't think I've lost the title. But at least people are punching me in the face a bit now."

Gervais would also be happy to lose some public support because he is concerned about people misunderstanding the persona he adopts on stage; he doesn't want the applause of bigots who believe that he validates their prejudices. He sees himself as part of an alternative comedy tradition that includes Alf Garnett and Al Murray Pub Landlord - reactionary characters we are supposed to laugh at rather than with. So the point of Gervais's live act, beyond simply being funny, is to satirise prejudice.

However, one crucial difference between Gervais and the likes of the Pub Landlord is that it's not immediately obvious Gervais is playing a character. On stage he uses his own name, clothes, voice and mannerisms. He also, at times, seems to speak from the heart. It's inconsistent and confusing. So how exactly is he signalling to the audience that he doesn't mean what he says?

"Uh, because it is so extreme," he explains. "I mean even the 1970s comedians wouldn't touch on the really taboo subjects I do - children with cancer, starving people, jokes about rape and paedophilia. It's the extremities I go to and how wrong I am that's laughable. Do you see what I mean?"

I do, though I'm not convinced that the best way to attack prejudice is to adopt its vocabulary and values and take it to extremes. There's no doubt, though, that he has thought long and hard about this. For instance, he has a bit in his act where he talks about ME, the disabling illness sometimes known as chronic fatigue syndrome. Gervais remarks that you never see Africans with ME, a joke that seems to endorse the incorrect and not uncommon belief that the condition is something made up by lazy Westerners who don't have any real problems. The joke has been in Gervais's act for a while, but he now qualifies it by saying that ME is real, that he used to think it was psychosomatic but now realises it's physiological.

This change has come about because his gig at the Glasgow Royal Concert Hall in January this year was attended by Ciara MacLaverty, an ME sufferer, and her boyfriend, Francis Macdonald. They were offended by the joke and Macdonald wrote to complain. Gervais emailed back, explaining about his stage persona, and in subsequent emails stating that, as a result of Macdonald's letter, he had tempered the routine a little. "I didn't want to get the wrong laugh'," he wrote.

Gervais, an incredibly busy megastar, took the time to respond to a complaint and took it seriously. That's impressive. Isn't it the case, though, that making jokes based on prejudice, however ironically intended, contributes to a culture where such things can be said?

"I'm not racist and homophobic and I don't want anyone to think I am," he insists. "When it comes to it I'm quite educated and middle-class. I want people to be relaxed about my stuff. It's safe. It's tested. Though I haven't done a survey of my fans, I think most people get it. I think they know the difference between Extras and Love Thy Neighbour."

He mulls this over then continues: "The important thing is to be as funny as you can and still be able to sleep at night. I think it was David Baddiel who said, Comedy is your conscience taking a day off.' It's not. My conscience never takes a day off. I can defend every joke I do."

It's not clear why he bothers with live comedy at all. His act is scripted and he doesn't get any adrenaline rush from being on stage. The thrill came when he thought of the jokes in the first place. Though undeniably funny, what he's doing is actually more like comic acting than true stand-up.

Occasionally, though, a particular gig will excite him. Madison Square Garden for instance. He made his US live debut at the New York venue in May. Acclaim in the US means a lot to Gervais. He feels accepted by a culture he has always admired.

Now the giants of US comedy whose work he loves - Matt Groening, Christopher Guest, Larry David - regard him as a peer. "If your heroes like you, you're doing something right."

What does it do to the ego, though? For many years, Gervais has been routinely described as a genius. What effect does that have?

"None. Absolutely none. I've always known how good I was." He laughs at this like a sea lion barking for a fish, before insisting it was a joke.

Confidence is all very well, but doesn't he agree that anxiety and self-doubt can actually help creative people work? "I think I do," he nods. "You've got to be your own harshest critic. You must never let yourself off. And I know there are people waiting. They can't wait for the Extras special to fail. They can't wait for the Fame DVD to fail. They can't wait for it."

And how does that make him feel? "It's irrelevant. If any of those things fail for any reason, either artistically or commercially, them laughing won't make me more upset."

As he continues to explain how much his work means to him, he gets louder and speaks more quickly and his voice rises almost to a shriek. His friend, the comedian Robin Ince, once said Gervais has "supernova emotions" and it is easy to see what he meant.

"This has never been a career," Gervais says. "The thing for me is what I've got to get off my chest today and how I'm going to do it. This sounds pretentious, like I'm a tortured artist, and I understand that TV is a very lowly art, but even with the lowliest art you have to be consumed by it. The point of any art is to make a connection with people you'll never meet, and to me what's important is how strong the connection is with those people."

Success, he says, isn't exciting unless you believe in what you are doing and have worked hard. "Winning the pools is successful but not gratifying. And I don't want to think I've won the pools. I want to think I've built a wall." He stares at his palms in agonised wonder as if they were calloused from his labours. "Metaphorical blisters, obviously. I don't want to f***ing touch a brick. Have you felt them? They're heavy."

This analogy comes naturally. His late father Jerry was a labourer, his mother Eva a dinner lady, and Gervais has a lot of respect for their life of toil. What values has he inherited from his parents? "Uh, work hard. If you work hard and provide for your family, you can have a laugh and a drink. Duty and reward. Which I blew by not having a job and pursuing a career as a pop star."

In the early 1980s, Gervais sang with the unsuccessful group Seona Dancing, and regards that period as a painful but important lesson in artistic failure. "I got it f***ing wrong with music," he says, still cross with himself. "I should have wanted to be a musician rather than a pop star." It was a mistake he wouldn't repeat. When he and writing partner Stephen Merchant came to make The Office, they prioritised quality rather than popular appeal.

How did his parents feel, though, about his attempted pop career? Were they disappointed that he should pursue such a thing? "No, I think they were worried. But no-one said anything because I never borrowed a penny from anyone. Even when I was on the dole, not earning anything, I never went overdrawn. That was the rule - if you want to live on lentils in a skip then that's your business; don't borrow any money though."

Gervais was born in 1961 and grew up in Reading. "I always knew there was something outside Reading," he says. "I always knew I'd go to university and that I'd live in London. I can't think of a good metaphor. Hang on." He screws up his eyes, cogs whirring. "Yeah - I was a tadpole, but I knew I'd get back-legs."

Was he an outsider? "I never felt apart. I loved school. But I just thought that I knew the truth. I knew that people went to church and got married and had kids and lived next door to their mum. But I knew that I'd never do that, and I knew that there wasn't a God, and I knew that art was cool. I knew all these things but I didn't act differently. You didn't walk around in a beret going, Wasn't Oscar Wilde a genius?' I talked like everyone else and did all the normal things but I, uh, listened to Bob Dylan and liked Turner paintings. I'd take a clock apart to see how it worked."

He sensed that he was more intelligent than his peers. At school, he was particularly keen on biology, and eventually chose to study the subject at University College, London, before switching to philosophy.

"I loved nature and wanted to know everything about it. I was fascinated by how a beetle's wings came out. I was just in awe of the world from the age of five. I liked how things happened. I liked what a story did to me. I liked what a chord did. It's that little feeling at the back of your throat. And so I suppose, intuitively and subliminally, I knew that making a connection was the point."

This is an aspect of Gervais that the public rarely sees - the serious and soulful man who believes in the transformative power of the imagination. "At the moment, I'm obsessed with painting," he says. "I've done about 30. It does something to my brain. A colour makes me feel funny. I get a little lump in my throat, and I don't know why. Same with a joke." He sighs. "Some people are embarrassed or don't realise they've got a creative instinct. But art is so fundamental, isn't it?"

Journalists often expect artistic people, comedians especially, to be neurotic. Tony Hancock remains the paradigm. But Gervais says he isn't at all angsty. He is driven, not by an attempt to escape sadness in his life, but by pursuing happiness through his work - and what makes him happiest is creating television comedies which function as perfectly as a beetle's wing or a clock that keeps precise time. "I think because I started late, and there's a finite amount of time that I've got left in life, I don't want to fill it with things I'm not proud of."

He has a number of projects on the go at the moment.

British audiences will see him next in the feature-length Christmas special of Extras. Before that, Gervais will be in New York, playing the lead in a film called Ghost Town, and he has also signed up to co-write, direct and star in another US production, This Side Of The Truth.

A thoroughly domestic animal, he would rather not be away in America. He derives a great deal of pleasure from sitting at home, drinking wine with the cat on his lap, watching reality television. Yet, on a deeper level, he is driven to create.

It's a compulsion, right?

"I feel I do need to do this," he nods, "although obviously I wouldn't have died if I hadn't done The Office. I think everyone has to do something artistic. They need to create something. They need to be able to say, That was mine.' Even if it's gardening. I'd be happy with that. When this is all over, I'll be happy with gardening. And I'll want to do the best f***ing shrubbery in the world. Ricky Gervais unleashes a howler monkey laugh. "That's your headline: I want to do the best f***ing shrubbery in the world.' You don't need to read on."

 




Sign up now and you'll have full access to the site and get the odd email from Ricky when he's got something to tell you.

" ."sign up | forgotten your password?

Already signed up? Sign in here...

username:value("user")."\">".$form->error("user")."
password:value("pass")."\">".$form->error("pass")."

Hello, " .$session->username .". You're signed in.

" ."username\">my details | " ."edit details"; if($session->isAdmin()){ $toptagline = $toptagline." | admin"; } $toptagline = $toptagline." | sign off
".$form->num_errors." error(s) found