The
Production Details and
Trivia pages have been expanded yet again. On the former, I've gone (way too?) in-depth on the Pendry font used for the titles and with an explanation of 80's video tech. Feedback was given during the test phase, and both these subjects now have a
Read More button that expands the texts only if you want to. So now nothing stands in your way to just enjoy the
Bartons facts on those pages and leave the font- and technobabble perfectly hidden! Well mostly hidden anyway.
The
Broadcast history page has been updated with short clips of the various programmes that
Bartons was a part of (around the world). Some clips actually feature some
Bartons footage, but most do not.
Finally, fellow
Bartons fan Boubekeur from Algeria managed to identify which book Elly uses to initiate the
Eggs in
The Barton League of Bird Lovers. That information now has a spot on the
Trivia page. In the future, I might do a page about props, so this could come in very handy. Thanks Boubekeur!
Changes due to feedbackAs mentioned above, some entries on the
Production Details page are a bit long and too in-depth for some people's liking (I understand, really!). On those longer entries, most of the text is now hidden behind a "read more" link. Clicking that link expands that entry, moving everything below downwards. You can also collapse the entry again by clicking the "Read less" link that appears when you expand an entry. Oh, and the links aren't always called that, as you'll notice. :)
Also new, and you can't miss it, is the
Enter here button on the front page. It points to a landing page containing an overview that's identical to the menu, but is more easily recognisable to new users. I'm struggling a bit to make people notice the menu button as you've probably guessed by now; I hope this helps new visitors to find their way around the site.
What's in store for 2022?First of all, I'm hoping to be able to offer
more interviews. I'm not sure if that will work out yet, but fingers crossed!
The site has a few pages that are growing too big. The Production Details and Trivia pages are in reality just one page (even though they appear as seperate entries in the menu). I'm planning to give
the trivia it's own page this year. That requires some work, as the trivia page is linked to
a lot on the other pages of BotW. Every Trivia-box contains a link to it for example. The Photos page is another example: last month's update made that page a bit slow and I'm thinking of splitting it in two.
CommentsStack stores comments and ratings within a flat-file plain text file, which acts as your database. A new comments datafile has been generated for you. Please reload this webpage to complete the setup. You may need to reload the page twice.', 'name_missing' => 'Please provide your name.', 'rating_missing' => 'Please provide a rating.', 'reviewtitle_missing' => 'Please provide a rating.', //'url_invalid' => 'Invalid URL.', 'message_missing' => 'Please enter your message.', 'math_invalid' => 'Wrong maths answer.', 'spammer' => 'Spammer test failed.', 'max_length_name' => 'The name supplied is too long. Please shorten it.', //'max_length_url' => 'Maximum character length for guest URL is ' . $max_length_url, '$max_length_reviewtitle' => 'The review title is too long. Please shorten it.', 'max_length_message' => 'Maximum character length for guest message is ' . $max_length_message, 'no_content' => 'Be the first to comment!' ); $cookie_name = "commentstack-001"; $cookie_value = "submitted"; // END CONFIGURATION // Set default timezone to adjust the timestamp. // => http://www.php.net/manual/en/function.date-default-timezone-set.php date_default_timezone_set($time_zone); // Functions to create and/or update the content of the TXT file (our database) function create_or_update_file($file_path, $data) { $handle = fopen($file_path, 'w') or die('Cannot open file: ' . $file_path); fwrite($handle, $data); } // Filter HTML outputs. // The rest will appear as plain HTML entities to prevent XSS. // => http://en.wikipedia.org/wiki/Cross-site_scripting function filter_html($data) { return preg_replace( array( '/<(\/?)(b|blockquote|br|em|i|ins|mark|q|strong|u)>/i', // Allowed HTML tags '/<center>/', // Deprecated
', '
', '', ' ', ' ', '$6' // Unlink all links in message content! ), $_POST['message']); $user_comments = htmlentities($user_comments, ENT_QUOTES, 'UTF-8'); // [2] } else { $error .= " "; } // Check for character length limit if(strlen($name) > $max_length_name) $error .= " "; //if(strlen($url) > $max_length_url) $error .= " "; if(strlen($reviewtitle) > $max_length_reviewtitle) $error .= " "; if(strlen($user_comments) > $max_length_message) $error .= " "; // If all data entered by guest is valid, insert new data! if($error === "" ) { // Main database $new_data = $name . "\n" . $rating . "\n" . $reviewtitle . "\n" . $user_comments . "\n" . $timestamp; if( ! empty($old_data)) { create_or_update_file($database . '.txt', $new_data . "\n\n==\n" . $old_data); // Prepend data } else { create_or_update_file($database . '.txt', $new_data); // Insert data } // Ratings database $new_ratings_data = $rating . "\n"; if( ! empty($old_ratings_data)) { create_or_update_file($database_ratings . '.txt', $new_ratings_data . $old_ratings_data); // Prepend data } else { create_or_update_file($database_ratings . '.txt', $new_ratings_data); // Insert data } // Send email notification, if enabled $to = 'info@bartonsontheweb.nl'; $subject = 'New comment posted at bartonsontheweb.nl'; $message = "A new comment has been posted to https://www.bartonsontheweb.nl/./"; $message .= "
"; $message .= "
$name
"; $message .= "$rating
"; $message .= "$reviewtitle
"; $message .= "$user_comments
"; $message .= "$timestamp
"; // Email header information $header = "From: info@bartonsonheweb.nl\r\n"; $header .= "Reply-To: info@bartonsontheweb.nl\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: text/html; charset=UTF-8\r\n"; $retval = mail ($to,$subject,$message,$header); if( $retval == true ) { // Email sent } else{ // Problem with email sending } } else { // else, print the error messages. echo $error; } } } // [3] $_SESSION['guest_name'] = isset($_POST['name']) ? $_POST['name'] : ""; $_SESSION['guest_rating'] = isset($_POST['rating']) ? $_POST['rating'] : ""; //$_SESSION['guest_url'] = isset($_POST['url']) ? $_POST['url'] : "http://"; $_SESSION['guest_reviewtitle'] = isset($_POST['reviewtitle']) ? $_POST['reviewtitle'] : ""; $_SESSION['guest_message'] = isset($_POST['message']) && $error != "" ? htmlentities($_POST['message'], ENT_QUOTES, 'UTF-8') : ""; // ---------------------------------------------------------------------------------------- // [1]. Prevent guest to type too many line break symbols. // People usually do these thing to make their SPAM messages looks striking. // [2]. Convert all HTML tags into HTML entities. This is done thoroughly for safety. // We can revert back the escaped HTML into normal HTML tags later via `filter_html()` // [3]. Save the form data into session. So if something goes wrong, the data entered // by guest will still be stored in the form after submitting. // ---------------------------------------------------------------------------------------- // Testing... // echo $math . ' = ' . $_SESSION['math']; /** * Show the existing data. */ $data = file_get_contents($database . '.txt'); $current_page = isset($_GET['page']) ? $_GET['page'] : 1; $nav = ""; if( ! empty($data)) { $data = explode("\n\n==\n", $data); $total_pages = ceil(count($data) / $per_page); // Create navigation if the number of pages is more than 1. if($total_pages > 1) { for($i = 0; $i < $total_pages; $i++) { if($current_page == ($i + 1)) { $nav .= "\n"; echo " "; echo " "; echo " "; echo " "; echo " "; echo " \n
\n"; echo " "; echo " "; echo " "; echo " "; echo " "; echo " \n