mirror of
https://github.com/vichan-devel/vichan.git
synced 2024-11-27 17:00:52 +01:00
Only store video URLs in database, instead of the generated player HTML.
This commit is contained in:
parent
0ba40a8fc2
commit
30dc892786
@ -241,6 +241,29 @@ function secure_link($href) {
|
||||
return $href . '/' . make_secure_link_token($href);
|
||||
}
|
||||
|
||||
function embed_html($link) {
|
||||
global $config;
|
||||
|
||||
foreach ($config['embedding'] as $embed) {
|
||||
if ($html = preg_replace($embed[0], $embed[1], $link)) {
|
||||
if ($html == $link)
|
||||
continue; // Nope
|
||||
|
||||
$html = str_replace('%%tb_width%%', $config['embed_width'], $html);
|
||||
$html = str_replace('%%tb_height%%', $config['embed_height'], $html);
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
|
||||
if ($link[0] == '<') {
|
||||
// Prior to v0.9.6-dev-8, HTML code for embedding was stored in the database instead of the link.
|
||||
return $link;
|
||||
}
|
||||
|
||||
return 'Embedding error.';
|
||||
}
|
||||
|
||||
class Post {
|
||||
public function __construct($id, $thread, $subject, $email, $name, $trip, $capcode, $body, $time, $thumb, $thumbx, $thumby, $file, $filex, $filey, $filesize, $filename, $ip, $embed, $root=null, $mod=false) {
|
||||
global $config;
|
||||
@ -269,6 +292,9 @@ class Post {
|
||||
$this->root = $root;
|
||||
$this->mod = $mod;
|
||||
|
||||
if ($this->embed)
|
||||
$this->embed = embed_html($this->embed);
|
||||
|
||||
if ($this->mod)
|
||||
// Fix internal links
|
||||
// Very complicated regex
|
||||
@ -365,6 +391,9 @@ class Thread {
|
||||
$this->mod = $mod;
|
||||
$this->hr = $hr;
|
||||
|
||||
if ($this->embed)
|
||||
$this->embed = embed_html($this->embed);
|
||||
|
||||
if ($this->mod)
|
||||
// Fix internal links
|
||||
// Very complicated regex
|
||||
|
17
post.php
17
post.php
@ -243,19 +243,10 @@ if (isset($_POST['delete'])) {
|
||||
// yep; validate it
|
||||
$value = $_POST['embed'];
|
||||
foreach ($config['embedding'] as &$embed) {
|
||||
if ($html = preg_replace($embed[0], $embed[1], $value)) {
|
||||
if ($html == $value) {
|
||||
// Nope.
|
||||
continue;
|
||||
}
|
||||
|
||||
// Width and height
|
||||
$html = str_replace('%%tb_width%%', $config['embed_width'], $html);
|
||||
$html = str_replace('%%tb_height%%', $config['embed_height'], $html);
|
||||
|
||||
// Validated. It works.
|
||||
$post['embed'] = $html;
|
||||
// This looks messy right now, I know. I'll work on a better alternative later.
|
||||
if (preg_match($embed[0], $value)) {
|
||||
// Valid link
|
||||
$post['embed'] = $value;
|
||||
// This is bad, lol.
|
||||
$post['no_longer_require_an_image_for_op'] = true;
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user