diff --git a/controller/Controller.class.php b/controller/Controller.class.php
index 6eeba686..3918526e 100644
--- a/controller/Controller.class.php
+++ b/controller/Controller.class.php
@@ -111,7 +111,6 @@ class Controller
$router->get(['/', 'home'], 'ContentActions::executeHome');
$router->get(['/get', 'get'], 'DownloadActions::executeGet');
- $router->get(['/getrubin', 'getrubin'], 'DownloadActions::executeGet');
foreach (array_keys(OS::getAll()) as $os) {
$router->get(['/' . $os, 'get-' . $os], 'DownloadActions::executeGet');
@@ -132,20 +131,8 @@ class Controller
$router->any('/dmca', 'ReportActions::executeDmca');
$router->any('/dmca/{claimid}', 'ReportActions::executeDmcaWithClaimId');
- $router->get('/escapeyoutube', 'AcquisitionActions::executeYouTube');
- $router->get('/escapeyoutubeiframe', 'AcquisitionActions::executeYouTubeIframe');
-
- $router->post('/youtube/edit', 'AcquisitionActions::executeYoutubeEdit');
- $router->post('/youtube/token', 'AcquisitionActions::executeYoutubeToken');
$router->any('/youtube/status/{token}', 'AcquisitionActions::executeYoutubeStatus');
- $router->any('/youtube/status', 'AcquisitionActions::executeRedirectYoutube');
$router->any('/youtube', 'AcquisitionActions::executeYouTube');
- $router->get('/youtube/{version}', 'AcquisitionActions::executeYouTube');
-
- $router->get('/verify/{token}', 'AcquisitionActions::executeVerify');
- $router->get('/verify', 'AcquisitionActions::executeAutoVerify');
-
- $router->get('/follow/{claim}', 'AcquisitionActions::executeFollowCampaign');
$router->get('/i18n/get/{project}/{resource}/{language}.json', 'i18nActions::executeServeTranslationFile');
diff --git a/controller/Request.class.php b/controller/Request.class.php
index 9efacd2a..3736145c 100644
--- a/controller/Request.class.php
+++ b/controller/Request.class.php
@@ -146,9 +146,4 @@ class Request
return preg_match('/(' . join('|', $bots) . ')/i', static::getUserAgent());
}
- //Method that encode html tags to special character
- public static function encodeStringFromUser($string)
- {
- return htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
- }
}
diff --git a/controller/Session.class.php b/controller/Session.class.php
index 1fdbeb81..fda8433e 100644
--- a/controller/Session.class.php
+++ b/controller/Session.class.php
@@ -3,7 +3,6 @@
class Session
{
const KEY_LIST_SUB_ERROR = 'list_error',
- KEY_YOUTUBE_SYNC_ERROR = 'youtube_sync_error',
KEY_USER_CULTURE = 'user_culture';
const NAMESPACE_DEFAULT = 'default',
diff --git a/controller/action/AcquisitionActions.class.php b/controller/action/AcquisitionActions.class.php
index 1114a66b..d9c2ec62 100644
--- a/controller/action/AcquisitionActions.class.php
+++ b/controller/action/AcquisitionActions.class.php
@@ -2,130 +2,18 @@
class AcquisitionActions extends Actions
{
- protected static $isYouTubeDisabled = false;
-
- public static function isYouTubeSyncEnabled()
+ public static function executeYouTube()
{
- return !static::$isYouTubeDisabled;
- }
-
- public static function executeFollowCampaign(string $claimName)
- {
- $claim = ChainQuery::findChannelClaim($claimName);
-
- if (!$claim || !$claim['source_url']) {
- Controller::redirect('/');
- }
-
- $title = $claim['title'] ?: $claim['name'];
- $coverUrl = $claim['source_url'];
- return ['acquisition/follow_campaign', [
- 'claim' => $claim,
- 'claimCount' => ChainQuery::countClaimsInChannel($claim['claim_id']),
- 'title' => $title,
- 'coverUrl' => $coverUrl,
- ]];
- }
-
- public static function executeYouTubeIframe()
- {
- return ['acquisition/youtubeiframe', ['_no_layout' => true]];
- }
-
- public static function executeYouTube(string $version = '')
- {
- $errorMessage = Request::getParam('error_message', '');
-
- if (Session::getFlash(Session::KEY_YOUTUBE_SYNC_ERROR)) {
- $errorMessage = Session::getFlash(Session::KEY_YOUTUBE_SYNC_ERROR);
- }
-
- return ['acquisition/youtube', [
- 'reward' => LBRY::youtubeReward(),
- 'error_message' => $errorMessage
- ]];
- }
-
- public static function executeVerify(string $token)
- {
- Response::disableHttpCache();
- return ['acquisition/verify', ['token' => $token]];
- }
-
- public static function executeAutoVerify()
- {
- Response::disableHttpCache();
- return ['acquisition/auto-verify'];
- }
-
- public static function executeYoutubeToken()
- {
- Response::disableHttpCache();
- $channelName = Request::encodeStringFromUser($_POST['desired_lbry_channel_name']);
- $immediateSync = (boolean)$_POST['immediate_sync'];
-
- if ($channelName && $channelName[0] !== "@") {
- $channelName = '@' . $channelName;
- }
-
- $token = LBRY::connectYoutube($channelName, $immediateSync);
-
- if ($token['success'] && $token['data']) {
- Controller::redirect($token['data']);
- } else {
- Session::setFlash(Session::KEY_YOUTUBE_SYNC_ERROR, $token['error'] ?? "An unknown error occured.");
- Controller::redirect('/youtube');
- }
+ return ['acquisition/youtube'];
}
+ /*
+ * this is disabled, but kept around because users still access these URLs from emails
+ *
+ * it should be left as long as meaningful traffic exists to it in analytics
+ */
public static function executeYoutubeStatus(string $token)
{
- Response::disableHttpCache();
- $data = null;
-
- if (!static::$isYouTubeDisabled) {
- $data = LBRY::statusYoutube($token);
-
- if (!$data['success']) {
- Session::setFlash(Session::KEY_YOUTUBE_SYNC_ERROR, $data['error'] ?? "Error fetching your sync status.");
- Controller::redirect('/youtube');
- }
- }
-
- return ['acquisition/youtube_status', [
- 'token' => $token,
- 'is_disabled' => static::$isYouTubeDisabled,
- 'status_token' => $data,
- 'error_message' => Session::getFlash(Session::KEY_YOUTUBE_SYNC_ERROR)
- ]];
- }
-
- public static function actionYoutubeEdit($status_token, $channel_name, $email, $sync_consent)
- {
- $current_value = LBRY::statusYoutube($status_token);
- if ($current_value['data']['email'] == $email) {
- if ($channel_name === null && $sync_consent === false) {
- return Controller::redirect("/youtube/status/". $status_token);
- }
- $status = LBRY::editYoutube($status_token, $channel_name, null, $sync_consent);
- } else {
- $status = LBRY::editYoutube($status_token, $channel_name, $email, $sync_consent);
- }
- if ($status['success'] == false) {
- Session::setFlash(Session::KEY_YOUTUBE_SYNC_ERROR, $status['error']);
- Controller::redirect("/youtube/status/". $status_token);
- } else {
- Controller::redirect("/youtube/status/" . $status_token);
- }
- }
-
- public static function executeYoutubeEdit()
- {
- return ['acquisition/youtube_edit'];
- }
-
- public static function executeRedirectYoutube()
- {
- return ['acquisition/youtube_status_redirect'];
+ return ['acquisition/youtube_status'];
}
}
diff --git a/data/redirect/permanent.yaml b/data/redirect/permanent.yaml
index 10397909..3fd43770 100644
--- a/data/redirect/permanent.yaml
+++ b/data/redirect/permanent.yaml
@@ -50,6 +50,7 @@
/lbry-linux-latest.deb: /get
/lbry-osx-latest.dmg: /get
/news/get: /get
+/getrubin: /get
# Mailing List
/join-list: /list/subscribe
@@ -141,3 +142,7 @@
/block-explorer: https://explorer.lbry.com/
/shop: https://shop.lbry.com/
+# Legacy YouTube Sync
+/escapeyoutube: /youtube
+/escapeyoutubeiframe: /youtube
+/youtube/status: /youtube
diff --git a/lib/thirdparty/ChainQuery.class.php b/lib/thirdparty/ChainQuery.class.php
deleted file mode 100644
index d135dc5e..00000000
--- a/lib/thirdparty/ChainQuery.class.php
+++ /dev/null
@@ -1,32 +0,0 @@
-prepare("SELECT * FROM claim c WHERE c.name = ? AND c.bid_state = ?");
- $stmt->execute([$claimName, "controlling"]);
- return $stmt->fetch();
- }
-
- public static function countClaimsInChannel($claimId)
- {
- $stmt = static::getInstance()->prepare("SELECT COUNT(*) FROM claim c WHERE c.publisher_id = ?");
- $stmt->execute([$claimId]);
- $result = $stmt->fetch();
- return $result[0] ?? 0;
- }
-}
diff --git a/lib/thirdparty/LBRY.class.php b/lib/thirdparty/LBRY.class.php
index 0cf28ca2..b9a213fa 100644
--- a/lib/thirdparty/LBRY.class.php
+++ b/lib/thirdparty/LBRY.class.php
@@ -1,6 +1,5 @@
3600, //one hour
- 'json_response' => true
- ]);
- return $response['data']['lbc_usd'] ?? 0;
- }
-
public static function listTags($authToken)
{
$response = Curl::get(static::getApiUrl('/tag/list'), ['auth_token' => $authToken], ['json_response' => true]);
@@ -53,56 +43,6 @@ class LBRY
return Curl::post(static::getApiUrl('/user/unsubscribe'), ['email' => $email], ['json_response' => true, 'timeout' => static::DEFAULT_TIMEOUT]);
}
- public static function connectYoutube($channel_name, $immediateSync = false)
- {
- // Uncomment next line for production and comment other return
- return Curl::post(static::getApiUrl('/yt/new'), [ 'desired_lbry_channel_name' => $channel_name, 'immediate_sync' => $immediateSync, 'type' => 'sync' ], [ 'json_response' => true, 'timeout' => static::DEFAULT_TIMEOUT ]);
-
- // Uncomment next line for development and comment other return (this also requires the testnet API)
- // return Curl::post(static::getApiUrl('/yt/new'), [
- // 'desired_lbry_channel_name' => $channel_name,
- // 'immediate_sync' => $immediateSync,
- // 'return_url' => 'http://localhost:8000/youtube/status/',
- // 'type' => 'sync'
- // ], [
- // 'json_response' => true
- // ]);
- }
-
- // Check the sync status
- public static function statusYoutube($status_token)
- {
- return Curl::get(static::getApiUrl('/yt/status'), ['status_token' => $status_token], ['json_response' => true, 'timeout' => static::DEFAULT_TIMEOUT]);
- }
-
- public static function youtubeReward()
- {
- return CurlWithCache::post(static::getApiUrl('/yt/rewards'), [], ['cache' => 3600, 'json_response' => true, 'timeout' => static::DEFAULT_TIMEOUT]);
- }
-
- public static function editYouTube($status_token, $channel_name, $email, $sync_consent)
- {
- $postParams = array('status_token' => $status_token);
-
- if ($email) {
- $postParams['new_email'] = $email;
- }
-
- if ($sync_consent) {
- if ($sync_consent === 0) {
- $sync_consent = null;
- }
-
- $postParams['sync_consent'] = $sync_consent;
- }
-
- if ($channel_name) {
- $postParams['new_preferred_channel'] = $channel_name;
- }
-
- return Curl::post(static::getApiUrl("/yt/update"), $postParams, ['json_response' => true, 'timeout' => static::DEFAULT_TIMEOUT]);
- }
-
public static function logWebVisitor($site, $visitorID, $IPAddress)
{
if (IS_PRODUCTION) {
diff --git a/view/template/acquisition/auto-verify.php b/view/template/acquisition/auto-verify.php
deleted file mode 100644
index 1d4ac17b..00000000
--- a/view/template/acquisition/auto-verify.php
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
- Verify Your Identity
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Click the captcha to continue...
-
-
-
-
-
-
-
-
-
There was an error, try again. Please make sure you are clicking the latest verification email. You can also resend the verification from your app, and click on that new email. Contact help@lbry.com if this keeps happening.
-
-
-
-
Success! Your email is now verified. Please switch back to the application or site you started verification.
-
-
-
-
-
-
diff --git a/view/template/acquisition/follow_campaign.php b/view/template/acquisition/follow_campaign.php
deleted file mode 100644
index 23dbdcb1..00000000
--- a/view/template/acquisition/follow_campaign.php
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
-
Watch
- On a platform that shares your values.
-
-
-
-
-
-
-
-
-
Predatory platforms like Facebook and YouTube abuse users, censor creators, enforce rules arbitrarily, and spy on everything you do.
-
-
-
LBRY is a user-controlled, open-source platform that stands for user freedom and personal choice. It has videos from .
-
-
-
-
-
-
-
Step 1: Download LBRY
-
LBRY is an open-source application available on Windows, macOS, Linux, and Android, with iOS coming soon.
-
-
- 'primary'])?>
-
show all platforms
-
-
-
-
-
-
-
Step 2: Search and Follow
-
Type in the search bar and then click Follow.
-
-
-
-
If you provide your email address, you'll be notified about every new video.
-
-
-
-
-
-
Step 3 (Optional): Support
-
Use the Tip button to support and help others discover this content.
-
If you verify your account, you'll receive free credits that you can send to or other creators.
-
Having trouble? Read the rewards FAQ for help.
-
-
-
-
-
-
-
-
-
Step 4: Enjoy Peace of Mind
-
When you watch on LBRY, you're watching via a platform that is open-source, user-controlled, and censorship-resistant.
-
Unlike other platforms, it is literally impossible for LBRY to put it's thumb on the scales.
-
So what are you waiting for? Try LBRY today!
-
-
- 'primary'])?>
-
show all platforms
-
-
-
-
-
-
diff --git a/view/template/acquisition/verify.php b/view/template/acquisition/verify.php
deleted file mode 100644
index 4a946658..00000000
--- a/view/template/acquisition/verify.php
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
- Verify Your Identity
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Click the captcha to continue...
-
-
-
-
-
-
Now click the magic link below to verify your identity in app...
-
-
Magic Link
-
When prompted, open the link with LBRY Browser on Android or LBRY on Desktop. Does the magic link not work? Not on the same device as the app? Paste this (very long) piece of text into the verification screen of the app to confirm your identity.
-
-
-
-
-
-
-
diff --git a/view/template/acquisition/youtube.php b/view/template/acquisition/youtube.php
index 9dd8e1d8..a2e9a28d 100644
--- a/view/template/acquisition/youtube.php
+++ b/view/template/acquisition/youtube.php
@@ -1,19 +1,10 @@
@@ -43,225 +34,34 @@
LBRY × YouTube Sync
- Get your YouTube videos in front of the LBRY audience
- Claim your channel now
-
-
-
-
-
- " . "The following error occurred: ". $error_message . " For support please send an email to
hello@lbry.com ." . "";
- endif;?>
-
-
LBRY channel name is either not valid (only letters, numbers and - allowed, no spaces) or your input is blank
-
-
Connect with your fans while earning rewards
-
-
-
-
- The YouTube Program is paused for maintenance. Enter your email address and we will notify you as soon as it returns.
- If you have over 10K subs on YouTube, please
use this form for a manual sync request.
-
- 'youtube_sync_paused',
- 'submitLabel' => 'Get Started',
- 'hideDisclaimer' => true,
- 'largeInput' => true,
- 'btnClass' => 'btn-alt btn-large',
- ]) ?>
-
-
- This will verify you are an active YouTuber. Channel names cannot be changed once chosen, please be extra careful. Additional instructions will be emailed to you after you verify your email on the next page.
- Learn more
-
-
-
-
-
-
-
Join great creators already on LBRY
-
Audiences range from 1,000+ to 10,000,000+ people. The videos below are from creators who have synced their content to LBRY.
-
-
-
-
-
- @3Blue1Brown
-
-
-
-
-
- @CasuallyExplained
-
-
-
-
-
- @ColinsLastStand
-
-
-
-
-
-
-
-
What you earn
+
Keep your channel safe. Reach an audience of millions.
-
-
-
- Current YouTube Subscribers
- LBRY Credits/Year
- USD Value 1 LBC =
-
-
+
Claim your channel now
+
+
-
- $rewardAmt): ?>
-
-
- LBC
-
-
-
-
-
-
- Table shows yearly awards but rewards are distributed monthly. Monthly reward will be one-twelfth the above amount. These reward amounts may change at LBRY Inc.'s discretion.
-
- */ ?>
-
- For Views
-
- Receive up to 2 LBC ( ) per view from verified lbry.tv accounts. This requires at least 500 subs and original content. Learn more.
- These reward amounts may change at LBRY Inc.'s discretion.
+
+
+
Sync Your YouTube Channel
+
+ YouTube channel sync is now a feature of odysee.com , the most popular way to access LBRY.
+
+ Just sign up at Odysee and you'll be prompted to sync your channel when you join.
+ It takes under a minute -- take back control and begin earning!
+
+
+ Go to Odysee.com
+
+
-
- For Building on LBRY
-
-
You receive additional rewards for building an audience, starting with your first follower and continuing at various tiers.
-
-
-
-
-
-
Getting on LBRY is easy
-
When you claim your channel your most recent 1,000 YouTube videos will be automatically copied to your LBRY channel.
-
-
- Claim your channel
- Authorize your content
- Users watch your content on LBRY
-
-
-
-
-
-
-
1
-
Claim your channel
-
-
-
-
2
-
Authorize your content
-
-
-
-
3
-
Users watch your content on LBRY
-
-
-
-
-
-
-
-
Sync & earn
-
LBRY offers a single-click sync process for existing YouTubers.
-
-
-
-
- Sync now
-
-
-
-
-
-
-
Human available
-
Questions, problems, or feedback? A real human is available.
-
-
-
-
-
-
-
- Tom Zarebczan
- Community Leader
- tom@lbry.com
-
-
+
diff --git a/view/template/acquisition/youtube_edit.php b/view/template/acquisition/youtube_edit.php
deleted file mode 100644
index 0cf7e2e4..00000000
--- a/view/template/acquisition/youtube_edit.php
+++ /dev/null
@@ -1,18 +0,0 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
LBRY × YouTube Sync
+ Get your YouTube videos in front of the LBRY audience
+ Claim your channel now
+
+
+
+
+
+ " . "The following error occurred: ". $error_message . " For support please send an email to
hello@lbry.com ." . "";
+ endif;?>
+
+
LBRY channel name is either not valid (only letters, numbers and - allowed, no spaces) or your input is blank
+
+
Connect with your fans while earning rewards
+
+
+
+
+ The YouTube Program is paused for maintenance. Enter your email address and we will notify you as soon as it returns.
+ If you have over 10K subs on YouTube, please
use this form for a manual sync request.
+
+ 'youtube_sync_paused',
+ 'submitLabel' => 'Get Started',
+ 'hideDisclaimer' => true,
+ 'largeInput' => true,
+ 'btnClass' => 'btn-alt btn-large',
+ ]) ?>
+
+
+ This will verify you are an active YouTuber. Channel names cannot be changed once chosen, please be extra careful. Additional instructions will be emailed to you after you verify your email on the next page.
+ Learn more
+
+
+
+
+
+
+
Join great creators already on LBRY
+
Audiences range from 1,000+ to 10,000,000+ people. The videos below are from creators who have synced their content to LBRY.
+
+
+
+
+
+ @3Blue1Brown
+
+
+
+
+
+ @CasuallyExplained
+
+
+
+
+
+ @ColinsLastStand
+
+
+
+
+
+
+
+
What you earn
+
+
+
+
+ Current YouTube Subscribers
+ LBRY Credits/Year
+ USD Value 1 LBC =
+
+
+
+
+ $rewardAmt): ?>
+
+
+ LBC
+
+
+
+
+
+
+ Table shows yearly awards but rewards are distributed monthly. Monthly reward will be one-twelfth the above amount. These reward amounts may change at LBRY Inc.'s discretion.
+
+ */ ?>
+
+ For Views
+
+
Receive up to 2 LBC ( ) per view from verified lbry.tv accounts. This requires at least 500 subs and original content. Learn more.
+ These reward amounts may change at LBRY Inc.'s discretion.
+
+
+
+ For Building on LBRY
+
+
You receive additional rewards for building an audience, starting with your first follower and continuing at various tiers.
+
+
+
+
+
+
Getting on LBRY is easy
+
When you claim your channel your most recent 1,000 YouTube videos will be automatically copied to your LBRY channel.
+
+
+ Claim your channel
+ Authorize your content
+ Users watch your content on LBRY
+
+
+
+
+
+
+
1
+
Claim your channel
+
+
+
+
2
+
Authorize your content
+
+
+
+
3
+
Users watch your content on LBRY
+
+
+
+
+
+
+
+
Sync & earn
+
LBRY offers a single-click sync process for existing YouTubers.
+
+
+
+
+ Sync now
+
+
+
+
+
+
+
Human available
+
Questions, problems, or feedback? A real human is available.
+
+
+
+
+
+
+
+ Tom Zarebczan
+ Community Leader
+ tom@lbry.com
+
+
+
+
+
diff --git a/view/template/acquisition/youtube_status.php b/view/template/acquisition/youtube_status.php
index 82f72cb3..14e229cc 100644
--- a/view/template/acquisition/youtube_status.php
+++ b/view/template/acquisition/youtube_status.php
@@ -1,232 +1,22 @@
-
-
-
-
-
-
-
-
-
-
- 0 ?>
- 0 ?>
-
-
-
-
- if (!localStorage.getItem('status_token')) {
- ga('send', 'event', 'YT Sync', '', '');
- fbq('track', 'Lead');
-
- window.google_conversion_id = 980489749;
- window.google_conversion_label = "B0ZpCIuLgV0QlazE0wM";
- window.google_remarketing_only = false;
- window.google_conversion_format = "3";
-
- var opt = new Object();
- var conv_handler = window['google_trackConversion'];
-
- opt.onload_callback = function() { };
-
- if (typeof(conv_handler) === 'function')
- conv_handler(opt);
- }
-
-
-
-
-
-
- 'error@lbry.com',
- 'subscribers' => 101,
- 'editable' => false,
- 'status' => 'failed',
- 'videos' => 1,
- 'lbry_channel_name' => '@lbry',
- 'expected_reward' => 1,
- 'has_verified_email' => true
- ] ?>
-
-
-
-
-
-
-
-
The YouTube program is down for maintenance. It will return soon.
-
Until it is back up, you cannot edit your submission. Email if you need immediate assistance.
+
+
+
+
YouTube Sync Status
-
-
-
- Your email address is set as .
- If this is not your email address, please change it below.
- If you have a LBRY Account, please use that email here so the accounts are merged.
+
+
+
+
+ The YouTube sync program has been integrated into Odysee .
-
+
+ Please sign into odysee.com using the email you joined the program with. If you accessed this page from an email, use the email address you clicked the link from.
+
+
+ If you encounter any problems, please contact help@lbry.com .
+
+
-
-
-
-
-
-
-
- Your Sync Status
- Subscribers
- Videos
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Claim channel and content
- Just one step left! Take permanent ownership of your content after it's been synced to LBRY. You'll do this by claiming it on the Channels page of lbry.tv/Desktop
-
-
-
-
Have questions, problems, or feedback? Check out the YouTube FAQ or send us an email .
-
View Terms of Service .
diff --git a/view/template/acquisition/youtube_status_redirect.php b/view/template/acquisition/youtube_status_redirect.php
deleted file mode 100644
index 544ae0df..00000000
--- a/view/template/acquisition/youtube_status_redirect.php
+++ /dev/null
@@ -1,9 +0,0 @@
-
- if (localStorage.getItem("status_token")) {
- const status_token = localStorage.getItem("status_token");
- url = "/youtube/status/" + status_token;
- $(location).attr("href", url);
- } else {
- $(location).attr("href", "/youtube");
- }
-
diff --git a/view/template/acquisition/youtubeiframe.php b/view/template/acquisition/youtubeiframe.php
deleted file mode 100644
index bacd235f..00000000
--- a/view/template/acquisition/youtubeiframe.php
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/view/template/content/roadmap.php b/view/template/content/roadmap.php
index 2421f394..5f44ab30 100644
--- a/view/template/content/roadmap.php
+++ b/view/template/content/roadmap.php
@@ -10,7 +10,7 @@
-
Top priorities, definitions of success, status, and target completion dates for key initiatives in
+
Top priorities, definitions of success, status, and target completion dates for key initiatives in
>
diff --git a/view/template/layout/basic.php b/view/template/layout/basic.php
index 669ed865..ec505c3c 100644
--- a/view/template/layout/basic.php
+++ b/view/template/layout/basic.php
@@ -57,8 +57,8 @@
-
-
+
+
@@ -68,13 +68,6 @@
-
-
-
-
-
-
-
diff --git a/web/img/icon--cctv.svg b/web/img/icon--cctv.svg
deleted file mode 100644
index b7203095..00000000
--- a/web/img/icon--cctv.svg
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/web/img/icon--clock.svg b/web/img/icon--clock.svg
deleted file mode 100644
index 40d64e4e..00000000
--- a/web/img/icon--clock.svg
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/web/img/icon--fork.svg b/web/img/icon--fork.svg
deleted file mode 100644
index 641c7573..00000000
--- a/web/img/icon--fork.svg
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/web/img/icon--smile.svg b/web/img/icon--smile.svg
deleted file mode 100644
index 2c62d165..00000000
--- a/web/img/icon--smile.svg
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/web/js/yt2/FormValidation.js b/web/js/yt2/FormValidation.js
deleted file mode 100644
index 56dbe7e4..00000000
--- a/web/js/yt2/FormValidation.js
+++ /dev/null
@@ -1,77 +0,0 @@
-var is_first_time = true;
-
-function submitEditForm() {
- $("#youtube_settings").submit(function (event) {
-
- // get value from id
- var lbry_channel_name = $.trim($('#channel-name').val());
- var email = $.trim($('#email').val());
-
- // Hide the error message
- $('#channel-name-error').hide();
- $('#email-error').hide();
-
- // If the channel name is invalid or blank stop the post request
- if (!validateLBRYName(lbry_channel_name) || lbry_channel_name === '') {
- $('#lbry_channel_name').addClass('error_form');
- $('#channel-name-error').show();
- event.preventDefault();
- }
-
- if (!validateEmail(email) || email === '') {
- $('#email').addClass('error_form');
- $('#email-error').show();
- event.preventDefault();
- }
- else if (!validateEmailIsNotGooglePlus(email)) {
- $('#email').addClass('error_form');
- if (is_first_time) {
- $('#email').addClass('error_form');
- $('#email-google-plus-error').show();
- is_first_time = false;
- event.preventDefault()
- }
- }
-
- localStorage.setItem("status_token", $.trim($('#status_token').val()));
- localStorage.setItem("lbry_channel_name_sync", $.trim($('#channel-name').val()));
- });
-}
-
-function submitDetailsForm() {
- $("#youtube_claim").submit(function (event) {
-
- // get value from id
- var lbry_channel_name = $.trim($('#lbry_channel_name').val());
-
- // Make sure that the error message are hidden before trying to validate value
- $('#lbry_error').hide();
-
- // If the lbry name is invalid or blank stop the post request
- if (!validateLBRYName(lbry_channel_name) || lbry_channel_name === '') {
- $('#lbry_channel_name').addClass('error_form');
- $('#lbry_error').show();
- event.preventDefault();
- }
- });
-}
-
-function validateEmail(email) {
- var re = /\S+@\S+\.\S+/;
- return re.test(email);
-}
-
-function validateLBRYName(lbry_channel_name) {
- var re = /^[@A-Za-z0-9-]*$/g;
- return re.test(lbry_channel_name);
-}
-
-function validateYoutubeChannelUrl(youtube_channel_url) {
- var re = /^UC[A-Za-z0-9_-]{22}$/;
- return re.test(youtube_channel_url);
-}
-
-function validateEmailIsNotGooglePlus(email) {
- var re = /^[A-Za-z0-9._%+-]+@(?!plusgoogle.com)[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/;
- return re.test(email);
-}
diff --git a/web/js/yt2/SyncStatus.js b/web/js/yt2/SyncStatus.js
deleted file mode 100644
index f5819c48..00000000
--- a/web/js/yt2/SyncStatus.js
+++ /dev/null
@@ -1,10 +0,0 @@
-$(document).ready(function () {
- var status_token = localStorage.getItem("status_token");
- var lbry_channel_name_sync = localStorage.getItem("lbry_channel_name_sync");
-
- if (status_token || lbry_channel_name_sync) {
- var url = "/youtube/status/" + status_token;
- $("#sync-status").show();
- $("#sync-status").html("Hey, " + lbry_channel_name_sync + "! " + "" + "See your channel sync status here .");
- }
-});
\ No newline at end of file
diff --git a/web/js/yt2/app.js b/web/js/yt2/app.js
index f305ff94..10298c4d 100644
--- a/web/js/yt2/app.js
+++ b/web/js/yt2/app.js
@@ -38,64 +38,10 @@ App.prototype._onLoad = function() {
this._lines.push(l);
}, this);
- // Section how
- this._how = document.getElementsByClassName("yt-how")[0];
- this._percent = 0;
- this._offset = 100;
- this._journey = this._how.getElementsByClassName("journey")[0];
- this._steps = Array.prototype.slice.call(this._how.getElementsByClassName("step"), 0);
- this._start = this._how.offsetTop - this._how.scrollTop - window.innerHeight / 2 - this._offset;
- this._end = this._start + window.innerHeight / 2;
-
- // XHR request
- this._getDataFromCoinMarketCap();
-
// Binding events
this._bindEvents();
};
-App.prototype._getDataFromCoinMarketCap = function(e) {
- this._xhr = new XMLHttpRequest();
- this._xhr.addEventListener("readystatechange", this._onReadyStateChange.bind(this), false);
- this._xhr.open("GET", "https://api.lbry.com/lbc/exchange_rate");
- this._xhr.send();
-};
-
-App.prototype._onReadyStateChange = function(e) {
- if (this._xhr.readyState === 4) {
- if (this._xhr.status === 200) {
- const response = JSON.parse(this._xhr.responseText);
- const lines = document.querySelectorAll(".lbc-to-usd");
- const price = parseFloat(response.data.lbc_usd);
-
- lines.forEach(function(line) {
- const amount = line.dataset.lbcAmount;
- const total = amount * price; //api returns per month
-
- line.innerHTML = this._addCommas(total.toFixed(2)) + " USD ";
- }, this);
-
- document.getElementsByClassName("current-value")[0].innerHTML = `$${price.toFixed(4)} USD`;
- }
- }
-};
-
-App.prototype._addCommas = function(nStr) {
- nStr += "";
-
- const rgx = /(\d+)(\d{3})/;
- const x = nStr.split(".");
- const x2 = x.length > 1 ?
- "." + x[1] :
- "";
- let x1 = x[0];
-
- while (rgx.test(x1))
- x1 = x1.replace(rgx, "$1" + "," + "$2");
-
- return x1 + x2;
-};
-
App.prototype._bindEvents = function() {
TweenMax.ticker.addEventListener("tick", this._onTick.bind(this));
this._elem.addEventListener("resize", this._onResize.bind(this), false);
@@ -247,37 +193,3 @@ Line.prototype.draw = function(from, to) {
// Let's start :)
new App();
-
-
-
-// Clicking CTAs introduces a smooth scroll to the appropriate section
-const youtubeCtas = document.querySelectorAll("[data-id='scroll-to-claim']");
-
-youtubeCtas.forEach(cta => {
- cta.onclick = () => {
- const element = document.getElementById("claim-section");
- const elementOffset = element.offsetTop - 2;
-
- window.scroll({ top: elementOffset, behavior: "smooth" });
-
- setTimeout(() => { // give the scroll time to finish before focusing
- document.getElementById("lbry_channel_name").focus();
- }, 300);
- };
-});
-
-
-
-// Scroll to error messages if they exist
-window.addEventListener("load", (event) => {
- const youtubeErrors = document.querySelectorAll(".error-block");
-
- youtubeErrors.forEach(error => {
- if (!error.hidden) {
- const errorDivOffset = error.offsetTop;
-
- window.scroll({ top: errorDivOffset });
- return;
- }
- });
-});
diff --git a/web/js/yt2/youtube_status.js b/web/js/yt2/youtube_status.js
deleted file mode 100644
index a6ad990c..00000000
--- a/web/js/yt2/youtube_status.js
+++ /dev/null
@@ -1,14 +0,0 @@
-$("#scroll_email").click(function () {
- $('html, body').animate({
- scrollTop: $("#email").offset().top
- }, 2000);
- $('#email').select();
- $("#email").focus();
-
-});
-
-$("#scroll-sync").click(function () {
- $('html, body').animate({
- scrollTop: $("#sync-consent").offset().top
- }, 2000);
-});
\ No newline at end of file
diff --git a/web/js/yt2/youtube_video.js b/web/js/yt2/youtube_video.js
deleted file mode 100644
index a7822a80..00000000
--- a/web/js/yt2/youtube_video.js
+++ /dev/null
@@ -1,10 +0,0 @@
-"use strict";
-
-
-
-function playVideo(id) {
- const video = document.getElementById(id);
-
- video.play();
- video.controls = true;
-}
diff --git a/web/scss/_layout.scss b/web/scss/_layout.scss
index 8a8de622..33a2ea75 100644
--- a/web/scss/_layout.scss
+++ b/web/scss/_layout.scss
@@ -27,9 +27,7 @@ h2,
h3,
h4,
h5 {
- &:not(.weight-light):not(.weight-normal) {
- font-weight: 600;
- }
+ font-weight: 600;
&.weight-light {
font-weight: 200;
@@ -198,10 +196,6 @@ input::placeholder {
}
}
-.align-text--center {
- text-align: center;
-}
-
.inner-wrap {
max-width: 1200px;
margin-right: auto;
diff --git a/web/scss/pages/_ancillary.scss b/web/scss/pages/_ancillary.scss
index ba9459fa..fe7e4378 100644
--- a/web/scss/pages/_ancillary.scss
+++ b/web/scss/pages/_ancillary.scss
@@ -271,29 +271,4 @@
margin-top: 1.25rem;
}
}
-
- .button {
- + h2,
- + h3 { // join-us page
- padding-top: 3.25rem;
- }
- }
-
- .inline-image-and-text {
- align-items: center;
- display: flex;
- justify-content: space-between;
- margin-bottom: 3rem;
-
- > *:not(.inline-image) {
- flex: 1;
- padding-right: 1rem;
- padding-left: 1rem;
- }
- }
-
- .inline-image {
- width: 5rem; height: 5rem;
- margin: 0; padding: 1rem;
- }
}
diff --git a/web/scss/pages/_youtube.scss b/web/scss/pages/_youtube.scss
index d5309be4..7d8c89a9 100644
--- a/web/scss/pages/_youtube.scss
+++ b/web/scss/pages/_youtube.scss
@@ -1,100 +1,5 @@
$lbry-yt-blue: mix($lbry-blue-5, $lbry-black, 50%);
-
-
-.ytsync-previews {
- display: flex;
- justify-content: space-between;
- padding-top: 1.25rem;
-
- @media (max-width: 950px) {
- flex-direction: column;
- }
-}
-
-.ytsync-preview {
- position: relative;
-
- @media (min-width: 951px) {
- width: 33%;
- }
-
- &:not(:hover) {
- &::before {
- opacity: 0;
- }
- }
-
- &:hover {
- &::before {
- opacity: 1;
- }
- }
-
- &::before {
- width: 0; height: 0;
- border-top: 2rem solid transparent;
- border-bottom: 2rem solid transparent;
- border-left: 3.5rem solid var(--lbry-white);
- content: "";
- pointer-events: none;
- position: absolute;
- top: calc(50% - 3rem);
- transition: opacity 0.2s;
- }
-
- video {
- cursor: pointer;
- margin-bottom: 0.5rem;
- }
-}
-
-.v-card {
- display: flex;
-
- figure {
- margin-bottom: 0;
- margin-right: 1.25rem;
- width: 12rem;
- }
-
- info {
- display: block;
- padding-top: 4rem;
- }
-}
-
-
-
-.error-block,
-.sync-status {
- margin: 0 auto 0.5rem; padding: 0.5rem 0.75rem;
-
- border-style: solid;
- border-width: 1px;
- font-size: 0.8rem;
-
- @media (min-width: 951px) {
- max-width: 80%;
- }
-}
-
-.error-block {
- background-color: var(--lbry-red-4);
- border-color: var(--lbry-red-5);
- color: var(--lbry-white);
-
- a {
- color: inherit !important;
- font-weight: 600;
- }
-}
-
-.sync-status {
- background-color: rgba($lbry-black, 0.05);
- border-color: var(--lbry-gray-3);
-}
-
.hero--youtube {
.shape {
width: 100%; height: 100%;
@@ -188,264 +93,3 @@ $lbry-yt-blue: mix($lbry-blue-5, $lbry-black, 50%);
}
}
}
-
-
-
-.youtube {
- &.youtube--landing {
- section {
- &:nth-child(odd) {
- background-color: rgba($lbry-black, 0.05);
- }
- }
-
- input-submit {
- margin-right: auto;
- margin-left: auto;
-
- @media (min-width: 951px) {
- max-width: 80%;
- }
- }
- }
-
- .channel {
- h2 {
- @media (min-width: 951px) {
- text-align: center;
- }
- }
- }
-
- .confirmation-steps {
- padding-top: 1rem;
-
- ul {
- display: flex;
- margin-bottom: 3rem;
-
- @media (min-width: 951px) {
- flex-direction: row;
- }
-
- @media (max-width: 950px) {
- flex-direction: column;
- }
- }
-
- li {
- @media (min-width: 951px) {
- text-align: center;
- width: 33%;
- }
-
- @media (max-width: 950px) {
- width: 100%;
-
- &:not(:last-of-type) {
- margin-bottom: 1rem;
- }
- }
-
- &:not(.disabled) {
- span {
- background-color: var(--lbry-teal-3);
- padding-top: 0.5rem;
- }
- }
-
- &.disabled {
- span {
- background-color: var(--lbry-gray-3);
- padding-top: 0.5rem;
-
- // Mobile Safari override
- @media not all and (min-resolution: 0.001dpcm) {
- font-size: 1rem;
- padding-top: 1rem;
- }
- }
- }
-
- p {
- @media (max-width: 950px) {
- display: inline-block;
- position: relative;
- top: -0.3rem;
- }
- }
-
- span {
- width: 3rem; height: 3rem;
-
- border-radius: 50%;
- color: var(--lbry-white);
- cursor: default;
- font-size: 2rem;
- line-height: 1;
- text-align: center;
-
- @media (min-width: 951px) {
- display: block;
- margin: 0 auto 0.5rem;
- }
-
- @media (max-width: 950px) {
- display: inline-block;
- margin-right: 0.5rem;
- }
- }
- }
- }
-
- section {
- &.hero {
- margin-bottom: 0;
- }
-
- &:not(.hero) {
- margin-bottom: 0;
- padding-top: 3rem;
- padding-bottom: 3rem;
- }
- }
-
- fieldset-group {
- @media (max-width: 950px) {
- flex-direction: column;
-
- fieldset-section {
- width: 100%;
- }
- }
- }
-
- checkbox-element {
- &[disabled] {
- checkbox-toggle {
- border-color: initial;
- opacity: 0.3;
- }
-
- label {
- opacity: 0.3;
-
- a {
- pointer-events: initial;
- }
- }
- }
-
- &[hidden] {
- display: none;
- }
- }
-}
-
-.yt-how {
- ol {
- @media (min-width: 951px) {
- display: none;
- }
- }
-
- .steps {
- width: 100%; height: 260px;
-
- margin-top: 80px;
- position: relative;
-
- @media (max-width: 950px) {
- display: none;
- }
-
- .journey,
- .path {
- background-position: 0 0;
- background-repeat: no-repeat;
- background-size: 752px;
- height: 287px;
- position: absolute;
- }
-
- .journey {
- top: 0; left: 0;
-
- background-image: url("../img/youtube/path-complete@2x.png");
- overflow: hidden;
- width: 120px;
- }
-
- .path {
- top: -52px; left: 0;
-
- background-image: url("../img/youtube/path@2x.png");
- width: 752px;
- }
- }
-
- .step {
- position: absolute;
-
- &.enabled {
- .circle {
- background-color: var(--lbry-gray-5);
- }
-
- .text {
- color: var(--lbry-gray-5);
- }
- }
-
- &.one {
- top: 0; left: 60px;
-
- .text {
- width: 226px;
- }
- }
-
- &.two {
- top: 160px; left: 225px;
-
- .text {
- width: 552px;
- }
- }
-
- &.three {
- top: 0; left: 550px;
-
- .text {
- width: 390px;
- }
- }
-
- .circle {
- width: 62px; height: 62px;
- top: 0; left: 0;
-
- background-color: $lbry-yt-blue;
- border-radius: 50%;
- box-shadow: 0 20px 50px 0 rgba($lbry-black, 0.15);
- color: var(--lbry-white);
- font-size: 24px;
- font-weight: 600;
- line-height: 62px;
- position: absolute;
- text-align: center;
- transition: background-color 0.4s;
- }
-
- .text {
- top: 0; left: 82px;
-
- color: $lbry-yt-blue;
- font-size: 18px;
- font-weight: 600;
- line-height: 3.4;
- position: absolute;
- transition: color 0.4s;
- }
- }
-}