Browse Source

add banner to opt in to html content change

pull/30/head
Aaron Parecki 9 years ago
parent
commit
2bb18a66be
5 changed files with 72 additions and 2 deletions
  1. +18
    -0
      controllers/controllers.php
  2. +8
    -2
      controllers/editor.php
  3. +12
    -0
      public/editor/editor.js
  4. +26
    -0
      public/editor/style.css
  5. +8
    -0
      views/editor.php

+ 18
- 0
controllers/controllers.php View File

@ -271,6 +271,24 @@ $app->get('/settings', function() use($app) {
} }
}); });
$app->post('/settings/html-content', function() use($app) {
if($user=require_login($app)) {
$params = $app->request()->params();
$user->micropub_optin_html_content = $params['html'] ? 1 : 0;
$user->save();
$app->response()->body(json_encode(array(
'html' => $user->micropub_optin_html_content
)));
}
});
$app->get('/settings/html-content', function() use($app) {
if($user=require_login($app)) {
$app->response()->body(json_encode(array(
'html' => $user->micropub_optin_html_content
)));
}
});
$app->get('/favorite-popup', function() use($app) { $app->get('/favorite-popup', function() use($app) {
if($user=require_login($app)) { if($user=require_login($app)) {
$params = $app->request()->params(); $params = $app->request()->params();

+ 8
- 2
controllers/editor.php View File

@ -11,10 +11,16 @@ $app->post('/editor/publish', function() use($app) {
if($user=require_login($app)) { if($user=require_login($app)) {
$params = $app->request()->params(); $params = $app->request()->params();
$content = $params['body'];
if($user->micropub_optin_html_content) {
$content = ['html' => $params['body']];
}
$micropub_request = array( $micropub_request = array(
'h' => 'entry', 'h' => 'entry',
'name' => $params['name'], 'name' => $params['name'],
'content' => $params['body']
'content' => $content
); );
$r = micropub_post_for_user($user, $micropub_request); $r = micropub_post_for_user($user, $micropub_request);
@ -62,7 +68,7 @@ $app->post('/editor/test-login', function() use($app) {
}); });
$app->get('/appcache.manifest', function() use($app) { $app->get('/appcache.manifest', function() use($app) {
$content = partial('partials/appcache');
$content = partial('-partials/appcache');
$app->response()['Content-type'] = 'text/cache-manifest'; $app->response()['Content-type'] = 'text/cache-manifest';
$app->response()->body($content); $app->response()->body($content);

+ 12
- 0
public/editor/editor.js View File

@ -89,6 +89,18 @@ $(function() {
}); });
}); });
$("#micropub-html-btn").click(function(){
$.post('/settings/html-content', {
html: 1
}, function(data){
});
});
$.getJSON('/settings/html-content', function(data){
if(data.html == '0') {
$('.micropub-html-warning').show();
}
});
}); });
function reset_page() { function reset_page() {

+ 26
- 0
public/editor/style.css View File

@ -22,6 +22,32 @@ h1, h2, h3, h4, h5, h6, th, td, caption { font-weight:normal; }
img { border: 0; } img { border: 0; }
.micropub-html-warning {
max-width: 600px;
margin-left: auto;
margin-right: auto;
margin-top: 68px;
margin-bottom: -80px;
font-size: 12px;
font-family: sans-serif;
line-height: 16px;
background: #fcf8e3;
border: 1px #faebcc solid;
}
.micropub-html-warning div {
padding: 10px 20px;
}
.micropub-html-warning button {
display: block;
}
#micropub-html-btn {
border-radius: 6px;
padding: 0 12px;
height: 28px;
background: #e4f8fa;
float: right;
}
/* ************************************** */ /* ************************************** */
/* Toolbar */ /* Toolbar */

+ 8
- 0
views/editor.php View File

@ -53,6 +53,14 @@
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<div class="micropub-html-warning hidden"><div>
<button class="btn btn-default" id="micropub-html-btn">Upgrade me!</button>
<b>Upcoming change!</b>
The Micropub spec now requires HTML content be sent as a nested object, <code>content[html]=&lt;b&gt;example&lt;/b&gt;</code>.
You can <a href="http://indiewebcamp.com/Micropub-brainstorming#HTML_Escaping">read more about the change here</a>.
When you are ready to receive the content as an object, click the button to switch.
</div></div>
<div class="publish-dropdown hidden"> <div class="publish-dropdown hidden">
<div class="arrow"></div> <div class="arrow"></div>
<div class="dropdown-content action-publish"> <div class="dropdown-content action-publish">

Loading…
Cancel
Save