diff --git a/controller/Actions.class.php b/controller/Actions.class.php index eb7146e1..7f54a6fa 100644 --- a/controller/Actions.class.php +++ b/controller/Actions.class.php @@ -7,6 +7,11 @@ */ class Actions { + public static function param($key, $default = null) + { + return isset($_POST[$key]) ? $_POST[$key] : (isset($_GET[$key]) ? $_GET[$key] : $default); + } + //this is dumb protected static function returnError($error) { diff --git a/controller/Controller.class.php b/controller/Controller.class.php index 6234d09d..d682f145 100644 --- a/controller/Controller.class.php +++ b/controller/Controller.class.php @@ -75,7 +75,10 @@ class Controller case '/dl/lbry_setup.sh': return static::redirect('/get', 301); case '/art': - return static::redirect('/what'); + return static::redirect('/what', 301); + case '/why': + case '/feedback': + return static::redirect('/learn', 301); } $newsPattern = '#^' . ContentActions::URL_NEWS . '(/|$)#'; diff --git a/controller/action/DownloadActions.class.php b/controller/action/DownloadActions.class.php index 68d2eae5..d3a94430 100644 --- a/controller/action/DownloadActions.class.php +++ b/controller/action/DownloadActions.class.php @@ -66,8 +66,8 @@ class DownloadActions extends Actions public static function executeSignup() { - $email = isset($_GET['email']) ? $_GET['email'] : (isset($_POST['email']) ? $_POST['email'] : null); - $code = isset($_GET['code']) ? $_GET['code'] : (isset($_POST['code']) ? $_POST['code'] : null); + $email = static::param('email'); + $code = static::param('code'); if (!$email || !filter_var($email, FILTER_VALIDATE_EMAIL)) { @@ -123,6 +123,14 @@ class DownloadActions extends Actions ]; } + public static function prepareSignupPartial(array $vars) + { + return $vars + [ + 'allowInviteCode' => true, + 'referralCode' => static::param('r', '') + ]; + } + public static function subscribeToPrefinery($email, $inviteCode = null, $referrerId = null) { $apiKey = Config::get('prefinery_key'); diff --git a/controller/action/MailActions.class.php b/controller/action/MailActions.class.php index eafabcd7..6897eea9 100644 --- a/controller/action/MailActions.class.php +++ b/controller/action/MailActions.class.php @@ -59,7 +59,7 @@ class MailActions extends Actions return true; } - public static function prepareJoinList(array $vars) + public static function prepareJoinListPartial(array $vars) { $vars['listSig'] = md5(serialize($vars)); $vars += ['btnClass' => 'btn-primary', 'returnUrl' => $_SERVER['REQUEST_URI']]; diff --git a/controller/action/NavActions.class.php b/controller/action/NavActions.class.php index ae9a2f57..b8a3e109 100644 --- a/controller/action/NavActions.class.php +++ b/controller/action/NavActions.class.php @@ -19,9 +19,16 @@ class NavActions extends Actions return static::$navUri ?: $_SERVER['REQUEST_URI']; } - public static function prepareGlobalItems(array $vars) + public static function prepareGlobalItemsPartial(array $vars) { $vars += ['selectedItem' => static::getNavUri()]; return $vars; } + + public static function prepareLearnFooterPartial(array $vars) + { + return $vars + [ + 'isDark' => true + ]; + } } \ No newline at end of file diff --git a/posts/news/46-lbry-at-porcfest-first-public-screening-film-via-blockchain.md b/posts/news/46-lbry-at-porcfest-first-public-screening-film-via-blockchain.md index cc89971c..75ab9f99 100644 --- a/posts/news/46-lbry-at-porcfest-first-public-screening-film-via-blockchain.md +++ b/posts/news/46-lbry-at-porcfest-first-public-screening-film-via-blockchain.md @@ -4,11 +4,11 @@ title: 'History Is Made - First Public Film Screenings via Blockchain at PorcFes date: '2016-06-30 00:09:00' --- -Yes, the rumors are true. Last week, a major independent Hollywood film was publicly screened via blockchain – for the first time in history! +Yes, the rumors are true. Last week, a major independent Hollywood film was publicly screened via blockchain – for the first time in history! -LBRY took its blockchain out for a test run at [PorcFest XIII](http://porcfest.com/), and we’re delighted to announce it was a resounding success. Even more so because the screening also marked the private reveal of our new and very exciting media partner, the most well-regarded independent film company out there. +LBRY took its blockchain out for a test run at [PorcFest XIII](http://porcfest.com/), and we’re delighted to announce it was a resounding success. Even more so because the screening also marked the private reveal of our new and very exciting media partner, the most well-regarded independent film company out there. -The majority of the [LBRY team](https://lbry.io/team) attended PorcFest, which was the perfect event to spread the word of our platform. +The majority of the [LBRY team](https://lbry.io/team) attended PorcFest, which was the perfect event to spread the word of our platform.  @@ -22,26 +22,11 @@ In addition to the screening, Jeremy delivered a well-attended talk entitled, Want to know more about the excellent films having their blockchain premiere on LBRY? Well, join our mailing list with the form below and keep an eye on your inbox this holiday weekend for a BIG announcement. Got your fireworks ready? -If the suspense is killing you, then go ahead and start mining LBRY credits (LBC) today! Our blockchain is live and LBC can be mined right now via CPU. [Learn more here](https://lbry.io/news/lbry-blockchain-live-mine-lbc-now). +If the suspense is killing you, then go ahead and start mining LBRY credits (LBC) today! Our blockchain is live and LBC can be mined right now via CPU. [Learn more here](https://lbry.io/news/lbry-blockchain-live-mine-lbc-now). **PorcFest Media Mentions:** Look at that! We received our first international coverage thanks to our appearance at PorcFest. * [Au festival des libertariens: revolvers, bitcoins et blockchain](http://rue89.nouvelobs.com/2016/06/27/festival-libertariens-revolvers-bitcoins-blockchains-264478), *L'Obs*, June 27th -* [Technology and Choice #08, Porcfest Potpourri](https://letstalkbitcoin.com/blog/post/technology-and-choice-08-porcfest-potpourri), *Let's Talk Bitcoin*, June 29th - -**Join LBRY's Mailing List:** - -
+* [Technology and Choice #08, Porcfest Potpourri](https://letstalkbitcoin.com/blog/post/technology-and-choice-08-porcfest-potpourri), *Let's Talk Bitcoin*, June 29th \ No newline at end of file diff --git a/posts/news/47-beta-live-declare-independence-big-media.md b/posts/news/47-beta-live-declare-independence-big-media.md index 46d6a8da..83a9e5f1 100644 --- a/posts/news/47-beta-live-declare-independence-big-media.md +++ b/posts/news/47-beta-live-declare-independence-big-media.md @@ -12,7 +12,7 @@ date: '2016-07-04 00:00:01' **LBRY is proud to continue this tradition by announcing the beta release of our LBRY app and live blockchain this July 4th.** This time, the old order is Big Media – the major record labels, book publishers, and movie studios that have managed to cling to their fiefdoms despite the potential of the internet to connect independent artists directly to their fans. -It’s expensive to store and serve a bunch of content, so the market is dominated by the likes of Google’s Youtube, Apple’s iTunes, and Amazon’s Kindle Store. By combining several new open-source technologies and key innovations, LBRY is able to cut out the middlemen. The result is a platform that no one controls but everyone can access – just like the internet itself. +It’s expensive to store and serve a bunch of content, so the market is dominated by the likes of Google’s Youtube, Apple’s iTunes, and Amazon’s Kindle Store. By combining several new open-source technologies and key innovations, LBRY is able to cut out the middlemen. The result is a platform that no one controls but everyone can access – just like the internet itself. With LBRY, content creators – be they filmmakers, musicians, writers, or software developers – are empowered to set their own price and release their works to the world with a few clicks of the mouse. There are no ads, no corporate censors, and LBRY takes no portion of your income. For consumers, it means there is finally an alternative to the big media stores and the murky world of BitTorrent – which doesn’t have a payment system and therefore is run on goodwill. @@ -20,14 +20,14 @@ The LBRY app we're releasing today is the first of its kind – a media marketpl Indie production houses have seen the potential in LBRY. **[Oscilloscope Laboratories](http://www.oscilloscope.net/) and [Emergent Order](http://emergentorder.com/) signed on as featured content partners for today’s launch.** So right from the start, beta users will be treated to the following premium films: -**It’s A Disaster
** +**It’s A Disaster
** *lbry://itsadisaster
*  *The sleeper hit dark comedy, starring David Cross and Julia Stiles, about four couples gathering for a regular brunch when they receive news of a disaster just outside the door. The film is considered a model of indie success.* -**Fight of the Century: Keynes vs. Hayek Rap Battle
** +**Fight of the Century: Keynes vs. Hayek Rap Battle
** *lbry://keynesvhayek
*  @@ -44,29 +44,6 @@ In addition to watching these films and other pieces already uploaded to LBRY, t LBRY is a key component of Web 3.0, a new internet infrastructure that is secure, open-source, and natively decentralized. The company is self-financed and has assembled a [stellar team](https://lbry.io/team) of creatives and technologists. -**Stay Up-to-Date on LBRY Developments** - -* [Like us on Facebook](https://www.facebook.com/lbryio) -* [Follow us on Twitter](https://twitter.com/lbryio) -* [Join us on Reddit](https://www.reddit.com/r/lbry) -* [Collaborate on Slack](http://slack.lbry.io/) - -**Join LBRY's Mailing List:** - - - - diff --git a/view/template/content/faq.php b/view/template/content/faq.php index c649e740..745a42b6 100644 --- a/view/template/content/faq.php +++ b/view/template/content/faq.php @@ -1,5 +1,5 @@ - false]) ?> + false]) ?>LBRY is currently in invite only mode. Enter your email to join the waitlist, or your email and invite code for access.
- - - (function(){ - var form = $('#signup-form'), - codeRadioInputs = form.find('input[name="code_select"]'); - codeRadioInputs.change(function() { - var selectedInput = codeRadioInputs.filter(':checked'), - choice = selectedInput.val(), - hasChoice = selectedInput.length, - hasCode = choice == 'yes'; - - form.find('.has-code')[hasChoice && hasCode ? 'show' : 'hide'](); - form.find('.no-code')[hasChoice && !hasCode ? 'show' : 'hide'](); - if (!hasCode) - { - form.find('input[name="code"]').val(''); - } - }).change(); - - form.show(); - })(); - +- - | -- - | - */ ?> -
- + |
@@ -30,7 +21,7 @@
-
+
-
+
diff --git a/view/template/page/goals.php b/view/template/page/goals.php
index b8d7a5f1..91892f9b 100644
--- a/view/template/page/goals.php
+++ b/view/template/page/goals.php
@@ -1,6 +1,6 @@
- false]) ?>
+ false]) ?>
Page Not Founddiff --git a/view/template/page/docs.php b/view/template/page/docs.php deleted file mode 100644 index e2b632d0..00000000 --- a/view/template/page/docs.php +++ /dev/null @@ -1,65 +0,0 @@ - - false]) ?> -
-
-Docs-Layer 1: Protocol-While the protocol is one comprehensive set of rules, it is easier to understand as two parts. -Part A: The LBRY Blockchain-A blockchain, or distributed ledger is the key innovation behind the Bitcoin network. Blockchains solved the very complicated technological problem of having a bunch of distributed, disparate entities all agree on a rivalrous state of affairs (like how much money they owe each other). - -Like Bitcoin, the LBRY blockchain maintain balances -- in this case, balances of LBC, LBRY’s unit of credit. More importantly, the LBRY blockchain also provides a decentralized lookup and metadata storage system. The LBRY blockchain supports a specific set of commands that allows anyone to bid (in LBC) to control a LBRY name, which is a lot like a domain name. Whoever controls a name gets to describe what it contains, what it costs to access, who to pay, and where to find it. These names are sold in a continuous running auction. We will talk more about this system a little later on. - -If you’re a programmer, you might recognize the LBRY blockchain as a key-value store. Each key, or name, corresponds to a value, or a metadata entry. Whichever party or parties bid the most LBC gets to control the metadata returned by a key lookup. - -Here is a sample key-value entry in the LBRY blockchain. Here, wonderfullife is the key, and the rest of the description is the value. -
-
-
-
-
- Other than the usage of the LBRY blockchain to store names and metadata, there are only minor differences between the blockchains of LBRY and Bitcoin, and the changes are generally consensus improvements. We’ve buffed the hashing algorithm, smoothed the block reward function, increased the block size, increased the total number of credits, and prepared for offchain settlement. - -The LBRY blockchain simply maintains LBC balances and a content namespace/catalogue. The next part, LBRYnet, specifies what to do with this data. To compare to the existing web, the blockchain is like the domain system (it maintains a listing of what is available), while the next piece makes it possible to actually fetch and pay for content. - - -Part B: The Data Network (LBRYNet)-LBRYNet is the layer that makes the LBRY blockchain useful beyond a simple payment system. It says what to do with the information available in the LBRY blockchain, how to issue payments, how to look up a content identifier, and so on. - -To use the LBRY network, a user’s computer needs the capacity to speak LBRY. That layer is LBRYNet. Just as your computer has a library that enables it to understand HTTP, DNS, and other languages and protocols, LBRYNet is the piece of software that allows your computer to understand how to interact with the LBRY network. - -To understand what role LBRYNet plays, let’s drill a little more into a sample user interaction. Once a user has affirmed access and purchase, such as in step 5 of our Sample Use above, the following happens: - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -39,4 +39,4 @@
@@ -50,7 +50,7 @@
- 'Go',
'listId' => Mailchimp::LIST_GENERAL_ID,
'mergeFields' => ['CLI' => 'No'],
diff --git a/view/template/page/join-list.php b/view/template/page/join-list.php
index f74403ba..b9317183 100644
--- a/view/template/page/join-list.php
+++ b/view/template/page/join-list.php
@@ -1,6 +1,6 @@
- false ]) ?>
+ false ]) ?>
*/ ?>
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/view/template/page/press-kit.php b/view/template/page/press-kit.php
index 4d8cb095..b52d4bec 100644
--- a/view/template/page/press-kit.php
+++ b/view/template/page/press-kit.php
@@ -1,7 +1,7 @@
- false]) ?>
+ false]) ?>
@@ -9,7 +9,7 @@
- 'Subscribe', 'returnUrl' => '/join-list', 'meta' => true, @@ -23,4 +23,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ![]() Puts on jargon hat. -- LBRY is a decentralized, censorship-resistant, open-source, peer-to-peer information marketplace and discovery protocol. - -Removes jargon hat. -- LBRY is a new way for people to publish and share content with each other. - -- Our goal is to provide a single box that allows anyone anywhere to find and purchase digital content from anyone else. - -
@@ -121,4 +121,4 @@
diff --git a/view/template/page/publish.php b/view/template/page/publish.php
index 1a17a464..da6a468b 100644
--- a/view/template/page/publish.php
+++ b/view/template/page/publish.php
@@ -1,6 +1,6 @@
- false]) ?>
+ false]) ?>
@@ -44,4 +44,4 @@
width="760" height="1200" frameborder="0" marginheight="0" marginwidth="0">Loading...
The Team@@ -52,6 +52,6 @@
-
-
-
- A revolution in accessing and publishing information.-
-
-
-
-
-
-
- - Hosts earn credits for providing bandwidth and disk space. --
-
-
-
-
- - Miners earn credits for securing balances and metadata. --
-
-
-
-
- - Patrons spend credits to access content without gatekeepers. --
-
- What is LBRY?-
-
- LBRY allows anyone to publish content to a location like this: -
Others can access this resource, either for free or for credits. Let's look at an example: -
-
-
-
-
- If BitTorrent + BitCoin Had a Baby-
-
-
-
-
- Decentralized Metadata-Information about content is embedded in a blockchain, eliminating centralized failure points. Metadata and data are completely decoupled so that hosts never see metadata and miners never see data. -
-
-
- Marketized Data-Transfer-Patrons request content for free or offer credits for faster speeds or access. Hosts share or sell surplus bandwidth and disk space. -
-
-
- Memorable URIs-
- Publishers can choose friendly resource indicators like
-
-
-
-
- Payments to Publishers-Publishers may embed an address to receive payment for data. Publishers can also create assurance contracts? for new content. -
-
-
- Improved Privacy-LBRY uses novel techniques to protect publishers, providers, and consumers. - Hosts only have small portions of an encrypted file with no information of the contents. - -
-
-
- Designed for Developers-LBRY is designed to allow others to create applications powered by it’s distributed, robust data store. -Art in the Internet Age@@ -239,9 +240,9 @@Build our dream with us. Download LBRY at lbry.io/get.
-
-
-
-
-
- -- J. Cole, Note to Self - Why?
-
- The World We Live In-Annual internet video traffic is approximately 500 exabytes (500,000,000,000 GB)1. - Every second, over 10,000 hours of video are streamed. - The technical term for the quantity of videos people watch every year is a million jillion. You know this. - -What you may not know: video distribution is fundamentally flawed. -- The fatal flaw of existing systems is their centralized, top-down design. The consequences: - -
Similar issues of economics and experience exist for consumers and producers of information of all kinds (e.g. news, facts), not just videos. - -LBRY solves these problems and throws in some other sweet innovations just for funsies. -
-
-
-
-
-
- -- Aaron Swartz -
-
-
-An Alternative-LBRY avoids the mistakes of centralization and middlemen. It says: -
What LBRY Isn't-LBRY's fully decentralized nature makes restricting content impossible. Since LBRY also aims to unseat gigantic, established media players, - we fear it may attract undeserved legal attention. So we'd like to be clear from day one: -- LBRY is not about facilitating piracy. - LBRY is about creating a network where creators and patrons can directly interact without relying on anyone in the middle. We've made choices - about publisher identities and how addresses are reserved that are specifically designed to combat undue profiteering. - |