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;
}
/**
* 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
* @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>';
$featured_image = get_the_post_thumbnail($post);
$content = $title;
if ($featured_image) {
$content .= $featured_image . '<br />';
}
$content .= apply_filters('the_content', get_post($post_id)->post_content);
// $title = '<h1>' . $post->post_title . '</h1>';
//
// $featured_image = get_the_post_thumbnail($post);
//
// $content = $title;
// if ($featured_image) {
// $content .= $featured_image . '<br />';
// }
$content = apply_filters('the_content', $post->post_content);
$converted = $this->converter->convert($content);
return $converted;

View file

@ -21,8 +21,41 @@ class LBRY_Network_Publisher
*/
public function publish($post, $channels)
{
$name = $post->post_name;
// Leave if nothing to publish to
if (!$channels) {
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'));
$this->init();
$this->init_hooks();
error_log("language: " . get_locale());
}
/**

View file

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