make URL analyzer save new info on URLs
This commit is contained in:
parent
34ce75c71d
commit
c0d03fc279
@ -85,7 +85,7 @@ class File extends Memcached_DataObject
|
|||||||
return $x;
|
return $x;
|
||||||
}
|
}
|
||||||
|
|
||||||
function processNew($given_url, $notice_id) {
|
function processNew($given_url, $notice_id=null) {
|
||||||
if (empty($given_url)) return -1; // error, no url to process
|
if (empty($given_url)) return -1; // error, no url to process
|
||||||
$given_url = File_redirection::_canonUrl($given_url);
|
$given_url = File_redirection::_canonUrl($given_url);
|
||||||
if (empty($given_url)) return -1; // error, no url to process
|
if (empty($given_url)) return -1; // error, no url to process
|
||||||
@ -96,7 +96,7 @@ class File extends Memcached_DataObject
|
|||||||
$redir_data = File_redirection::where($given_url);
|
$redir_data = File_redirection::where($given_url);
|
||||||
$redir_url = $redir_data['url'];
|
$redir_url = $redir_data['url'];
|
||||||
// TODO: max field length
|
// TODO: max field length
|
||||||
if ($redir_url === $given_url || strlen($redir_url) > 255) {
|
if ($redir_url === $given_url || strlen($redir_url) > 255) {
|
||||||
$x = File::saveNew($redir_data, $given_url);
|
$x = File::saveNew($redir_data, $given_url);
|
||||||
$file_id = $x->id;
|
$file_id = $x->id;
|
||||||
} else {
|
} else {
|
||||||
@ -119,7 +119,9 @@ class File extends Memcached_DataObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
File_to_post::processNew($file_id, $notice_id);
|
if (!empty($notice_id)) {
|
||||||
|
File_to_post::processNew($file_id, $notice_id);
|
||||||
|
}
|
||||||
return $x;
|
return $x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
21
lib/util.php
21
lib/util.php
@ -520,7 +520,7 @@ function common_linkify($url) {
|
|||||||
// functions
|
// functions
|
||||||
$url = htmlspecialchars_decode($url);
|
$url = htmlspecialchars_decode($url);
|
||||||
|
|
||||||
if(strpos($url, '@')!==false && strpos($url, ':')===false){
|
if(strpos($url, '@') !== false && strpos($url, ':') === false) {
|
||||||
//url is an email address without the mailto: protocol
|
//url is an email address without the mailto: protocol
|
||||||
return XMLStringer::estring('a', array('href' => "mailto:$url", 'rel' => 'external'), $url);
|
return XMLStringer::estring('a', array('href' => "mailto:$url", 'rel' => 'external'), $url);
|
||||||
}
|
}
|
||||||
@ -544,19 +544,24 @@ function common_linkify($url) {
|
|||||||
|
|
||||||
// Check to see whether this is a known "attachment" URL.
|
// Check to see whether this is a known "attachment" URL.
|
||||||
|
|
||||||
$localfile = File::staticGet('url', $longurl);
|
$f = File::staticGet('url', $longurl);
|
||||||
|
|
||||||
if (!empty($localfile)) {
|
if (empty($f)) {
|
||||||
if (isset($localfile->filename)) {
|
// XXX: this writes to the database. :<
|
||||||
|
$f = File::processNew($longurl);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($f)) {
|
||||||
|
if (isset($f->filename)) {
|
||||||
$is_attachment = true;
|
$is_attachment = true;
|
||||||
$attachment_id = $localfile->id;
|
$attachment_id = $f->id;
|
||||||
} else { // if it has OEmbed info, it's an attachment, too
|
} else { // if it has OEmbed info, it's an attachment, too
|
||||||
$foe = File_oembed::staticGet('file_id', $localfile->id);
|
$foe = File_oembed::staticGet('file_id', $f->id);
|
||||||
if (!empty($foe)) {
|
if (!empty($foe)) {
|
||||||
$is_attachment = true;
|
$is_attachment = true;
|
||||||
$attachment_id = $localfile->id;
|
$attachment_id = $f->id;
|
||||||
|
|
||||||
$thumb = File_thumbnail::staticGet('file_id', $localfile->id);
|
$thumb = File_thumbnail::staticGet('file_id', $f->id);
|
||||||
if (!empty($thumb)) {
|
if (!empty($thumb)) {
|
||||||
$has_thumb = true;
|
$has_thumb = true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user