← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~raoul-snyman/openlp/website into lp:openlp/website

 

Raoul Snyman has proposed merging lp:~raoul-snyman/openlp/website into lp:openlp/website.

Requested reviews:
  Tomas Groth (tomasgroth)

For more details, see:
https://code.launchpad.net/~raoul-snyman/openlp/website/+merge/274191

Add some more cover images, make the contact us form send an e-mail to the support system, add a donate page.
-- 
Your team OpenLP Core is subscribed to branch lp:openlp/website.
=== modified file 'blog/almost-there-openlp-216-release-candidate-3.rst'
--- blog/almost-there-openlp-216-release-candidate-3.rst	2015-08-30 20:18:34 +0000
+++ blog/almost-there-openlp-216-release-candidate-3.rst	2015-10-12 22:09:03 +0000
@@ -68,5 +68,8 @@
 
 `Download Now! <http://openlp.org/en/download#development>`_
 
+[ Image Credit: `Road Ends 300 Ft. f/4 by Atomic Taco`_ ]
+
 .. |OpenLP Translations| image:: /pictures/openlp-22-translations.png
+.. _Road Ends 300 Ft. f/4 by Atomic Taco: https://www.flickr.com/photos/atomictaco/5409578523/
 

=== modified file 'blog/android-2-alpha-release-through-google-play-store.rst'
--- blog/android-2-alpha-release-through-google-play-store.rst	2015-08-03 20:40:10 +0000
+++ blog/android-2-alpha-release-through-google-play-store.rst	2015-10-12 22:09:03 +0000
@@ -1,4 +1,4 @@
-.. title: Android 2 -(Alpha) Release through Google Play Store
+.. title: Android 2 (Alpha Release) through Google Play Store
 .. slug: 2015/06/05/android-2-alpha-release-through-google-play-store
 .. date: 2015-06-05 17:06:57 UTC
 .. tags:
@@ -29,4 +29,7 @@
 
 The new version can be found at the `Google Play Store`_.
 
+[ Image Credit: `Android Lineup - Beige by Rob Bulmahn`_ ]
+
 .. _Google Play Store: https://play.google.com/store/apps/details?id=org.openlp.android2
+.. _Android Lineup - Beige by Rob Bulmahn: https://www.flickr.com/photos/rbulmahn/6180104944/

=== modified file 'blog/getting-closer-stable-release-version-215.rst'
--- blog/getting-closer-stable-release-version-215.rst	2015-08-03 20:40:10 +0000
+++ blog/getting-closer-stable-release-version-215.rst	2015-10-12 22:09:03 +0000
@@ -6,6 +6,7 @@
 .. link:
 .. description:
 .. type: text
+.. previewimage: /cover-images/getting-closer-stable-release-version-215.jpg
 
    So we do not lose heart. Though our outer self is wasting away, our inner self is being renewed day by day. For this light momentary affliction is preparing for us an eternal weight of glory beyond all comparison,  as we look not to the things that are seen but to the things that are unseen. For the things that are seen are transient, but the things that are unseen are eternal.
 
@@ -27,5 +28,7 @@
 * #1449041 Main vebview doesn't mirror PowerPoint when using a single-screen setup
 * #1449064 Transitions happens in the same slide
 
+[ Image Credit: `Stables by Larry Ewing`_ ]
+
 .. _Download: http://openlp.org/download
-
+.. _Stables by Larry Ewing: https://www.flickr.com/photos/lewing/3510479166/

=== modified file 'blog/video-visual-history-openlp-2x.rst'
--- blog/video-visual-history-openlp-2x.rst	2015-07-18 19:03:00 +0000
+++ blog/video-visual-history-openlp-2x.rst	2015-10-12 22:09:03 +0000
@@ -5,7 +5,7 @@
 .. link:
 .. description:
 .. type: text
-.. previewimage: /cover-images/video-visual-history-openlp-2x.jpg
+.. previewimage: /cover-images/video-visual-history-openlp-2x.png
 
 Ever wanted to know how many developers work on OpenLP, or when OpenLP started, or even how many are working on the code
 at the same time? Well, now you can see this and more with the video above.
@@ -25,7 +25,7 @@
 .. youtube:: 77a2iNvmvts
    :height: 315
    :width: 560
-   
+
 .. raw:: html
 
-   </div>
\ No newline at end of file
+   </div>

=== modified file 'conf.py'
--- conf.py	2015-08-28 22:03:21 +0000
+++ conf.py	2015-10-12 22:09:03 +0000
@@ -676,6 +676,10 @@
         #<link href="css/style.css" rel="stylesheet">
         #<link href="css/custom.css" rel="stylesheet">
 #"""
+EXTRA_HEAD_DATA = """
+<script src='https://www.google.com/recaptcha/api.js'></script>
+"""
+
 # Google Analytics or whatever else you use. Added to the bottom of <body>
 # in the default template (base.tmpl).
 # (translatable)

=== added file 'files/contact-us.php'
--- files/contact-us.php	1970-01-01 00:00:00 +0000
+++ files/contact-us.php	2015-10-12 22:09:03 +0000
@@ -0,0 +1,78 @@
+<?php
+ini_set("include_path", '/home/openlp/php:' . ini_get("include_path") );
+
+require_once('Services/JSON.php');
+require_once('Mail.php');
+
+function redirect($url, $status_code = 303)
+{
+   header('Location: ' . $url, true, $status_code);
+   die();
+}
+
+// Validate that this isn't spam
+$remote_ip = '';
+if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
+    $remote_ip = end(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']));
+}
+else {
+    $remote_ip = $_SERVER['REMOTE_ADDR'];
+}
+
+// Set up parameters
+$url = 'https://www.google.com/recaptcha/api/siteverify';
+$fields = array(
+    'secret' => '6Lc7Hg4TAAAAAP7o80vkVc9rwBXAeo9PlN3Q7khh',
+    'response' => $_POST['g-recaptcha-response'],
+    'remoteip', $remote_ip
+);
+$fields_string = http_build_query($fields);
+
+// Open connection
+$ch = curl_init();
+
+// Set the url, number of POST vars, POST data
+curl_setopt($ch, CURLOPT_URL, $url);
+curl_setopt($ch, CURLOPT_POST, count($fields));
+curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
+curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+
+// Execute post
+$result = curl_exec($ch);
+
+// Close connection
+curl_close($ch);
+
+// Parse response
+if ($result !== false && $result !== true) {
+    $json = new Services_JSON();
+    $api_response = $json->decode($result);
+    if ($api_response->success !== true) {
+        error_log('Error from verification: ' . print_r($api_response, true));
+        redirect('https://openlp.org/?m=0#support');
+    }
+}
+else {
+    error_log('Got an error code: ' . $response_status);
+    redirect('https://openlp.org/?m=0#support');
+}
+
+// Get everything together
+$headers['From'] = $_POST['name'] . ' <' . $_POST['email'] . '>';
+$headers['To'] = 'support@xxxxxxxxxx';
+$headers['Subject'] = $_POST['subject'];
+$body = $_POST['message'];
+$recipients = 'support@xxxxxxxxxx';
+if ($_POST['me-too']) {
+    $recipients .= ',' . $_POST['email'];
+}
+
+// Create the mail object using the Mail::factory method
+$mail_object =& Mail::factory('mail');
+$result = $mail_object->send($recipients, $headers, $body);
+if ($result !== true) {
+    error_log(print_r($result, true));
+    redirect('https://openlp.org/?m=0#support');
+}
+
+redirect('https://openlp.org/?m=1#support');

=== added file 'files/cover-images/donate.jpg'
Binary files files/cover-images/donate.jpg	1970-01-01 00:00:00 +0000 and files/cover-images/donate.jpg	2015-10-12 22:09:03 +0000 differ
=== added file 'files/cover-images/getting-closer-stable-release-version-215.jpg'
Binary files files/cover-images/getting-closer-stable-release-version-215.jpg	1970-01-01 00:00:00 +0000 and files/cover-images/getting-closer-stable-release-version-215.jpg	2015-10-12 22:09:03 +0000 differ
=== added file 'files/cover-images/video-visual-history-openlp-2x.png'
Binary files files/cover-images/video-visual-history-openlp-2x.png	1970-01-01 00:00:00 +0000 and files/cover-images/video-visual-history-openlp-2x.png	2015-10-12 22:09:03 +0000 differ
=== added file 'files/cover-images/want-openlp-in-your-language.jpg'
Binary files files/cover-images/want-openlp-in-your-language.jpg	1970-01-01 00:00:00 +0000 and files/cover-images/want-openlp-in-your-language.jpg	2015-10-12 22:09:03 +0000 differ
=== added file 'pages/donate.rst'
--- pages/donate.rst	1970-01-01 00:00:00 +0000
+++ pages/donate.rst	2015-10-12 22:09:03 +0000
@@ -0,0 +1,62 @@
+.. title: Donate to OpenLP
+.. slug: donate
+.. date: 2015-10-03 20:31:32 UTC
+.. type: text
+.. previewimage: /cover-images/donate.jpg
+
+Like most other voluntary open source projects, OpenLP has no income and is
+entirely funded by the personal funds of the developers. We have a number of
+fixed costs, like server hosting, domain names, and the like. If you'd like to
+help us out, please consider donating to our cause.
+
+There are two types of donation:
+
+1. Once-off donations
+2. Regular donations
+
+Once-off Donations
+^^^^^^^^^^^^^^^^^^
+Once-off donations are gratefully accepted. Donations can be made via PayPal.
+To send a once-off donatation to OpenLP, send an e-mail via our `contact form`_
+and we will reply with the Paypal address.
+
+Regular Donations
+^^^^^^^^^^^^^^^^^
+While once-off donations are nice, regular donations are much more useful to us.
+They help to cover our month-to-month costs. We use `Gratipay`_ for automated
+regular donations. Gratipay works on a weekly schedule, so calculate what you
+want to donate on a monthly basis and basically divide it by 4. Gratipay works
+through PayPal, so all you need is a PayPal account.
+
+Set up your donation by clicking on the badge below.
+
+.. raw:: html
+
+    <script data-gratipay-username="openlp" src="//grtp.co/v1.js" async></script>
+
+Monthly Costs
+^^^^^^^^^^^^^
+Here's a breakdown of our regular costs:
+
+1. $20/month for a `VPS from Linode.com`_, which we'd like to upgrade to the
+   next level, which will cost us $40/month.
+2. $10/month for a `backup service`_, also from Linode.com.
+3. $17/year for our main domain, `openlp.org`_. See `Gandi.net's pricing page`_
+   for information on domain name costs.
+4. $35/year for our developer domain, `openlp.io`_.
+
+This comes to roughly $8 per week. To be able to upgrade to the next level, we
+will need roughly $12.50 per week.
+
+
+[ Image Credit: `Oak Street Blues`_ ]
+
+.. _contact form: /#support
+.. _Gratipay: https://gratipay.com/
+.. _VPS from Linode.com: https://www.linode.com/pricing
+.. _backup service: https://www.linode.com/backups
+.. _Gandi.net's pricing page: https://www.gandi.net/domain/price/info
+.. _openlp.org: https://openlp.org/
+.. _openlp.io: https://openlp.io/
+.. _Oak Street Blues: https://www.flickr.com/photos/jamesvela/16914677777/
+

=== modified file 'themes/openlp2v2/assets/css/custom.css'
--- themes/openlp2v2/assets/css/custom.css	2015-08-30 20:18:34 +0000
+++ themes/openlp2v2/assets/css/custom.css	2015-10-12 22:09:03 +0000
@@ -291,3 +291,26 @@
 .lead {
     font-size: 1.4em;
 }
+
+.scrollToTop {
+    width: 20px;
+    height: 20px;
+    opacity: 0.5;
+    position: fixed;
+    bottom: 20px;
+    right: 30px;
+}
+
+.scrollToTop a {
+    text-decoration: none;
+}
+
+.checkbox input[type="checkbox"] {
+    margin-top: 0;
+}
+
+.checkbox > label {
+    color: #888;
+    font-size: 14px;
+    line-height: 1.42857;
+}
\ No newline at end of file

=== modified file 'themes/openlp2v2/assets/js/custom.js'
--- themes/openlp2v2/assets/js/custom.js	2015-07-11 21:57:10 +0000
+++ themes/openlp2v2/assets/js/custom.js	2015-10-12 22:09:03 +0000
@@ -15,4 +15,22 @@
         $("#download-section > div > div").hide().removeClass("hidden");
         $("#download-section > div > div." + target).show();
     });
-});
\ No newline at end of file
+    $(".scrollToTop a").on('click', function(e) {
+       e.preventDefault();
+       $('html, body').animate({scrollTop: 0}, 300);
+    });
+    var queryParams = location.search.slice(1).split("&");
+    var params = {};
+    queryParams.forEach(function (value) {
+        var parts = value.split("=");
+        params[parts[0]] = parts[1];
+    });
+    if (params.hasOwnProperty("m")) {
+        if (params.m == 1) {
+            $("#success-alert").removeClass("hidden");
+        }
+        else if (params.m == 0) {
+            $("#error-alert").removeClass("hidden");
+        }
+    }
+});

=== modified file 'themes/openlp2v2/templates/base.tmpl'
--- themes/openlp2v2/templates/base.tmpl	2015-08-30 20:18:34 +0000
+++ themes/openlp2v2/templates/base.tmpl	2015-10-12 22:09:03 +0000
@@ -12,7 +12,7 @@
 % if permalink is not UNDEFINED and permalink == u'/index.html':
         <%include file="front_page.html"/>
 % else:
-        <div class="scrollToTop"><i class="icon-up-open-big"></i></div>
+        <div class="scrollToTop"><a href="#" title="Scroll to top"><i class="fa fa-fw fa-arrow-up fa-lg"></i></a></div>
         <header class="header fixed clearfix navbar navbar-fixed-top">
             <div class="container">
                 <div class="row">
@@ -48,7 +48,11 @@
                                                 <li><a href="/#testimonials">Testimonials</a></li>
                                                 <li><a href="/#support">Support</a></li>
                                                 <li><a href="https://forums.openlp.org/";>Forums</a></li>
+% if permalink.startswith(u'/blog'):
                                                 <li class="active"><a href="/blog/">Blog</a></li>
+% else:
+                                                <li><a href="/blog/">Blog</a></li>
+% endif
                                             </ul>
                                         </div>
                                     </div>
@@ -95,8 +99,9 @@
                     <div class="row">
                         <div class="col-md-12">
                             <p class="text-center">
-                                Copyright &copy; 2004-2015 OpenLP Developers. Theme based on <a href="http://htmlcoder.me/worthy-free-bootstrap-template";>Worthy</a> by HTML Coder
-                                <script data-gratipay-username="OpenLP" src="//grtp.co/v1.js" async></script>
+                                Copyright &copy; 2004-2015 OpenLP Developers |
+                                Theme based on <a href="http://htmlcoder.me/worthy-free-bootstrap-template";>Worthy</a> by HTML Coder |
+                                <i class="fa fa-fw fa-money"></i> <a href="/donate">Donate to OpenLP</a>
                             </p>
                         </div>
                     </div>

=== modified file 'themes/openlp2v2/templates/front_page.html'
--- themes/openlp2v2/templates/front_page.html	2015-08-28 20:09:12 +0000
+++ themes/openlp2v2/templates/front_page.html	2015-10-12 22:09:03 +0000
@@ -1,4 +1,4 @@
-        <div class="scrollToTop"><i class="icon-up-open-big"></i></div>
+        <div class="scrollToTop"><a href="#" title="Scroll to top"><i class="fa fa-fw fa-arrow-up fa-lg"></i></a></div>
         <header class="header fixed clearfix navbar navbar-fixed-top">
             <div class="container">
                 <div class="row">
@@ -232,21 +232,21 @@
                             <p>Select a platform from the options above</p>
                         </div>
                         <div class="windows hidden">
-                            <h4>OpenLP 2.1.5 for Windows 7 and higher</h4>
-                            <p>OpenLP-2.1.5-setup.exe</p>
+                            <h4>OpenLP 2.2 for Windows 7 and higher</h4>
+                            <p>OpenLP-2.2-setup.exe</p>
                             <p>
-                                <a href="download.openlp.org/2.1.5/OpenLP-2.1.5-setup.exe" class="btn btn-success"><i class="fa fa-fw fa-download"></i> Direct Download</a>
-                                <a href="download.openlp.org/2.1.5/OpenLP-2.1.5-setup.exe.torrent" class="btn btn-warning"><i class="fa fa-fw fa-cloud-download"></i> BitTorrent</a>
-                                <a href="download.openlp.org/2.1.5/OpenLP-2.1.5-setup.exe.torrent" class="btn btn-danger"><i class="fa fa-fw fa-magnet fa-flip-vertical"></i> Magnet</a>
+                                <a href="https://get.openlp.org/2.2/OpenLP-2.2-setup.exe"; class="btn btn-success"><i class="fa fa-fw fa-download"></i> Direct Download</a>
+                                <a href="https://get.openlp.org/2.2/OpenLP-2.2-setup.exe.torrent"; class="btn btn-warning"><i class="fa fa-fw fa-cloud-download"></i> BitTorrent</a>
+                                <a href="https://get.openlp.org/2.2/OpenLP-2.2-setup.exe.torrent"; class="btn btn-danger"><i class="fa fa-fw fa-magnet fa-flip-vertical"></i> Magnet</a>
                             </p>
                         </div>
                         <div class="macosx hidden">
                             <h4>OpenLP for Mac OS X 10.8 and higher</h4>
-                            <p>OpenLP-2.1.5.dmg</p>
+                            <p>OpenLP-2.2.dmg</p>
                             <p>
-                                <a href="download.openlp.org/2.1.5/OpenLP-2.1.5.dmg" class="btn btn-success"><i class="fa fa-fw fa-download"></i> Direct Download</a>
-                                <a href="download.openlp.org/2.1.5/OpenLP-2.1.5.dmg.torrent" class="btn btn-warning"><i class="fa fa-fw fa-cloud-download"></i> BitTorrent</a>
-                                <a href="download.openlp.org/2.1.5/OpenLP-2.1.5.dmg.torrent" class="btn btn-danger"><i class="fa fa-fw fa-magnet fa-flip-vertical"></i> Magnet</a>
+                                <a href="https://get.openlp.org/2.2/OpenLP-2.2.dmg"; class="btn btn-success"><i class="fa fa-fw fa-download"></i> Direct Download</a>
+                                <a href="https://get.openlp.org/2.2/OpenLP-2.2.dmg.torrent"; class="btn btn-warning"><i class="fa fa-fw fa-cloud-download"></i> BitTorrent</a>
+                                <a href="https://get.openlp.org/2.2/OpenLP-2.2.dmg.torrent"; class="btn btn-danger"><i class="fa fa-fw fa-magnet fa-flip-vertical"></i> Magnet</a>
                             </p>
                         </div>
                         <div class="linux hidden">
@@ -261,10 +261,10 @@
                             </p>
                         </div>
                         <div class="source hidden">
-                            <h4>OpenLP 2.1.5 Source Code</h4>
-                            <p>OpenLP-2.1.5.tar.gz</p>
+                            <h4>OpenLP 2.2 Source Code</h4>
+                            <p>OpenLP-2.2.tar.gz</p>
                             <p>
-                                <a href="download.openlp.org/2.1.5/OpenLP-2.1.5.tar.gz" class="btn btn-success"><i class="fa fa-fw fa-download"></i> Direct Download</a>
+                                <a href="https://get.openlp.org/2.2/OpenLP-2.2.tar.gz"; class="btn btn-success"><i class="fa fa-fw fa-download"></i> Direct Download</a>
                             </p>
                         </div>
                     </div>
@@ -386,11 +386,12 @@
                             <div class="footer-content">
                                 <p class="large">OpenLP is not developed by a company, but by a group of volunteers who dedicate part of their spare time to developing this application. Please be patient if we do not answer immediately.</p>
                                 <ul class="list-icons">
-                                    <li><i class="fa fa-book pr-10"></i> Manual: <a href="http://manual.openlp.org/";>manual.openlp.org</a></li>
-                                    <li><i class="fa fa-pencil-square-o pr-10"></i> Wiki: <a href="http://wiki.openlp.org/";>wiki.openlp.org</a></li>
-                                    <li><i class="fa fa-envelope-o pr-10"></i> E-mail: support(at)openlp.org</li>
-                                    <li><i class="fa fa-comments pr-10"></i> IRC Channel: <a href="http://webchat.freenode.net/?randomnick=1&amp;channels=openlp&amp;prompt=1&amp;uio=d4";>#openlp on Freenode.net</a></li>
-                                    <li><i class="fa fa-wrench pr-10"></i> Developer Central: <a href="https://openlp.io/";>openlp.io</a></li>
+                                    <li><i class="fa fa-fw fa-book pr-10"></i> Manual: <a href="http://manual.openlp.org/";>manual.openlp.org</a></li>
+                                    <li><i class="fa fa-fw fa-pencil-square-o pr-10"></i> Wiki: <a href="http://wiki.openlp.org/";>wiki.openlp.org</a></li>
+                                    <li><i class="fa fa-fw fa-envelope-o pr-10"></i> E-mail: support(at)openlp.org</li>
+                                    <li><i class="fa fa-fw fa-comments pr-10"></i> IRC Channel: <a href="http://webchat.freenode.net/?randomnick=1&amp;channels=openlp&amp;prompt=1&amp;uio=d4";>#openlp on Freenode.net</a></li>
+                                    <li><i class="fa fa-fw fa-wrench pr-10"></i> Developer Central: <a href="https://openlp.io/";>openlp.io</a></li>
+                                    <li><i class="fa fa-fw fa-money pr-10"></i> Donate: <a href="/donate">find out more</a></li>
                                 </ul>
                                 <ul class="social-links">
                                     <li class="googleplus"><a target="_blank" href="https://plus.google.com/b/117120749304988900189/117120749304988900189"; title="Follow us on Google+"><i class="fa fa-google-plus-square"></i></a></li>
@@ -404,21 +405,41 @@
                         </div>
                         <div class="col-sm-6">
                             <div class="footer-content">
-                                <form role="form" id="footer-form">
+                                <div id="success-alert" class="hidden alert alert-success" role="alert">
+                                    <i class="fa fa-fw fa-check"></i> Your message has been sent! We'll get back to you as soon as we can.
+                                </div>
+                                <div id="error-alert" class="hidden alert alert-danger" role="alert">
+                                    <i class="fa fa-fw fa-exclamation-triangle"></i> Oh dear! Something went wrong while sending your message.
+                                </div>
+                                <form role="form" id="footer-form" method="post" action="/contact-us.php">
                                     <div class="form-group has-feedback">
-                                        <label class="sr-only" for="name2">Name</label>
-                                        <input type="text" class="form-control" id="name2" placeholder="Name" name="name2" required>
+                                        <label class="sr-only" for="name">Name</label>
+                                        <input type="text" class="form-control" id="name" placeholder="Name" name="name" required>
                                         <i class="fa fa-user form-control-feedback"></i>
                                     </div>
                                     <div class="form-group has-feedback">
-                                        <label class="sr-only" for="email2">Email address</label>
-                                        <input type="email" class="form-control" id="email2" placeholder="Enter email" name="email2" required>
+                                        <label class="sr-only" for="email">Email address</label>
+                                        <input type="email" class="form-control" id="email" placeholder="E-mail address" name="email" required>
                                         <i class="fa fa-envelope form-control-feedback"></i>
                                     </div>
                                     <div class="form-group has-feedback">
-                                        <label class="sr-only" for="message2">Message</label>
-                                        <textarea class="form-control" rows="8" id="message2" placeholder="Message" name="message2" required></textarea>
+                                        <label class="sr-only" for="subject">Subject</label>
+                                        <input type="text" class="form-control" id="subject" placeholder="Subject" name="subject" required>
+                                        <i class="fa fa-comment form-control-feedback"></i>
+                                    </div>
+                                    <div class="form-group has-feedback">
+                                        <label class="sr-only" for="message">Message</label>
+                                        <textarea class="form-control" rows="8" id="message" placeholder="Message" name="message" required></textarea>
                                         <i class="fa fa-pencil form-control-feedback"></i>
+                                        <span class="help-text">Please include the version of OpenLP you're using, and which operating system you have installed.</span>
+                                    </div>
+                                    <div class="checkbox has-feedback">
+                                        <label>
+                                            <input type="checkbox" name="me-too" value="1">&nbsp;&nbsp;Send me a copy
+                                        </label>
+                                    </div>
+                                    <div class="form-group has-feedback">
+                                        <div class="g-recaptcha" data-sitekey="6Lc7Hg4TAAAAALVlRY_kP29PpAFkF90UW1dVDgJR"></div>
                                     </div>
                                     <input type="submit" value="Send" class="btn btn-default">
                                 </form>
@@ -431,7 +452,11 @@
                 <div class="container">
                     <div class="row">
                         <div class="col-md-12">
-                            <p class="text-center">Copyright &copy; 2004-2015 OpenLP Developers. Theme based on <a href="http://htmlcoder.me/worthy-free-bootstrap-template";>Worthy</a> by HTML Coder</p>
+                            <p class="text-center">
+                                Copyright &copy; 2004-2015 OpenLP Developers |
+                                Theme based on <a href="http://htmlcoder.me/worthy-free-bootstrap-template";>Worthy</a> by HTML Coder |
+                                <i class="fa fa-fw fa-money"></i> <a href="/donate">Donate to OpenLP</a>
+                            </p>
                         </div>
                     </div>
                 </div>


Follow ups