Published post to lbry network

This commit is contained in:
Paul Kirby 2018-10-12 02:42:40 -05:00
parent c4c818b820
commit 8bc336952d
5 changed files with 84 additions and 18 deletions

View file

@ -80,6 +80,35 @@ class LBRY_Daemon
return $result->result; return $result->result;
} }
/**
* Publishes a post to the LBRY Network
* @param [type] $name [description]
* @param [type] $bid [description]
* @param [type] $filepath [description]
* @param [type] $title [description]
* @param [type] $description [description]
* @param [type] $language [description]
* @return [type] [description]
*/
public function publish($name, $bid, $filepath, $title, $description, $language, $channel)
{
// TODO: Bring thumbnails into the mix
$result = $this->request(
'publish',
array(
'name' => $name,
'bid' => $bid,
'file_path' => $filepath,
'title' => $title,
'description' => $description,
'language' => $language,
'channel_name' => $channel
)
);
$this->check_for_errors($result);
return $result;
}
/** /**
* Sends a cURL request to the LBRY Daemon * Sends a cURL request to the LBRY Daemon
* @param string $method The method to call on the LBRY API * @param string $method The method to call on the LBRY API

View file

@ -22,18 +22,22 @@ class LBRY_Network_Parser
)); ));
} }
public function convert_to_markdown($post_id) /**
* Converts a post into markdown.
* @param WP_Post $post The post to be converted
* @return string
*/
public function convert_to_markdown($post)
{ {
$post = get_post($post_id); // $title = '<h1>' . $post->post_title . '</h1>';
$title = '<h1>' . $post->post_title . '</h1>'; //
// $featured_image = get_the_post_thumbnail($post);
$featured_image = get_the_post_thumbnail($post); //
// $content = $title;
$content = $title; // if ($featured_image) {
if ($featured_image) { // $content .= $featured_image . '<br />';
$content .= $featured_image . '<br />'; // }
} $content = apply_filters('the_content', $post->post_content);
$content .= apply_filters('the_content', get_post($post_id)->post_content);
$converted = $this->converter->convert($content); $converted = $this->converter->convert($content);
return $converted; return $converted;

View file

@ -21,8 +21,41 @@ class LBRY_Network_Publisher
*/ */
public function publish($post, $channels) public function publish($post, $channels)
{ {
$name = $post->post_name; // Leave if nothing to publish to
if (!$channels) {
return; return;
}
// Get converted markdown into a file
$filepath = LBRY_ABSPATH . 'tmp/' . $post->post_name . time() . '.md';
$file = fopen($filepath, 'w');
$converted = LBRY()->network->parser->convert_to_markdown($post);
$write_status = $file && fwrite($file, $converted);
fclose($file);
// TODO: Catch relative exceptions if necessary
try {
// If everything went well with the conversion, carry on
if ($write_status) {
$featured_image = get_the_post_thumbnail($post);
$name = $post->post_name;
$bid = get_option(LBRY_SETTINGS)[LBRY_LBC_PUBLISH];
$title = $post->post_title;
$language = substr(get_locale(), 0, 2);
$license = get_option(LBRY_SETTINGS)[LBRY_LICENSE];
// TODO: See if we can grab from yoast or a default?
$description = $post->post_title;
// TODO: Bring thumbnails into the mix
// $thumbnail = $featured_image ? $featured_image : null;
foreach ($channels as $channel) {
LBRY()->daemon->publish($name, $bid, $filepath, $title, $description, $language, $channel);
}
}
} finally {
// Delete the temporary markdown file
unlink($filepath);
}
} }
} }

View file

@ -66,6 +66,7 @@ class LBRYPress
spl_autoload_register(array($this, 'lbry_autoload_register')); spl_autoload_register(array($this, 'lbry_autoload_register'));
$this->init(); $this->init();
$this->init_hooks(); $this->init_hooks();
error_log("language: " . get_locale());
} }
/** /**

View file

@ -1,8 +1,7 @@
<?php <?php
$LBRY = LBRY(); $LBRY = LBRY();
$unnatributed = (object) array( $unnatributed = (object) array(
'name' => 'Unattributed', 'name' => 'unattributed',
'permanent_url' => 'unattributed'
); );
$channels = LBRY()->daemon->channel_list(); $channels = LBRY()->daemon->channel_list();
array_unshift($channels, $unnatributed); array_unshift($channels, $unnatributed);
@ -15,8 +14,8 @@ $cur_channels = get_post_meta($post->ID, 'lbry_channels');
<?php foreach ($channels as $channel): ?> <?php foreach ($channels as $channel): ?>
<li> <li>
<label class="selectit"> <label class="selectit">
<input type="checkbox" name="lbry_channels[]" value="<?= $channel->permanent_url ?>" <input type="checkbox" name="lbry_channels[]" value="<?= $channel->name ?>"
<?php if (in_array($channel->permanent_url, $cur_channels)): ?> <?php if (in_array($channel->name, $cur_channels)): ?>
checked="true" checked="true"
<?php endif; ?> <?php endif; ?>
> >