]> git.mxchange.org Git - friendica.git/commitdiff
Avoid SQL errors because of existing entries
authorMichael Vogel <icarus@dabo.de>
Tue, 3 May 2016 17:20:58 +0000 (19:20 +0200)
committerMichael Vogel <icarus@dabo.de>
Tue, 3 May 2016 17:20:58 +0000 (19:20 +0200)
include/oembed.php
mod/parse_url.php

index b1770f68903408034053997dff8a0495081d89aa..c362ab45e6516fd31c9a0078a9067a6f5c12f6f0 100755 (executable)
@@ -75,10 +75,13 @@ function oembed_fetch_url($embedurl, $no_rich_type = false){
                else {  //save in cache
                        $j = json_decode($txt);
                        if ($j->type != "error")
-                               q("INSERT INTO `oembed` (`url`, `content`, `created`) VALUES ('%s', '%s', '%s')",
-                                       dbesc(normalise_link($embedurl)), dbesc($txt), dbesc(datetime_convert()));
+                               q("INSERT INTO `oembed` (`url`, `content`, `created`) VALUES ('%s', '%s', '%s')
+                                       ON DUPLICATE KEY UPDATE `content` = '%s', `created` = '%s'",
+                                       dbesc(normalise_link($embedurl)),
+                                       dbesc($txt), dbesc(datetime_convert()),
+                                       dbesc($txt), dbesc(datetime_convert()));
 
-                       Cache::set($a->videowidth . $embedurl,$txt, CACHE_DAY);
+                       Cache::set($a->videowidth.$embedurl,$txt, CACHE_DAY);
                }
        }
 
index 6a1fc110106ef8f566d599b758b38919a939699f..df5436b6261add605a703567f225906ea827a004 100644 (file)
@@ -72,8 +72,11 @@ function parseurl_getsiteinfo_cached($url, $no_guessing = false, $do_oembed = tr
 
        $data = parseurl_getsiteinfo($url, $no_guessing, $do_oembed);
 
-       q("INSERT INTO `parsed_url` (`url`, `guessing`, `oembed`, `content`, `created`) VALUES ('%s', %d, %d, '%s', '%s')",
-               dbesc(normalise_link($url)), intval(!$no_guessing), intval($do_oembed), dbesc(serialize($data)), dbesc(datetime_convert()));
+       q("INSERT INTO `parsed_url` (`url`, `guessing`, `oembed`, `content`, `created`) VALUES ('%s', %d, %d, '%s', '%s')
+                ON DUPLICATE KEY UPDATE `content` = '%s', `created` = '%s'",
+               dbesc(normalise_link($url)), intval(!$no_guessing), intval($do_oembed),
+               dbesc(serialize($data)), dbesc(datetime_convert()),
+               dbesc(serialize($data)), dbesc(datetime_convert()));
 
        return $data;
 }