diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/gprobe.php | 60 | ||||
-rw-r--r-- | include/plugin.php | 12 |
2 files changed, 71 insertions, 1 deletions
diff --git a/include/gprobe.php b/include/gprobe.php new file mode 100644 index 000000000..26254ad28 --- /dev/null +++ b/include/gprobe.php @@ -0,0 +1,60 @@ +<?php + +require_once("boot.php"); +require_once('include/Scrape.php'); + +function gprobe_run($argv, $argc){ + global $a, $db; + + if(is_null($a)) { + $a = new App; + } + + if(is_null($db)) { + @include(".htconfig.php"); + require_once("dba.php"); + $db = new dba($db_host, $db_user, $db_pass, $db_data); + unset($db_host, $db_user, $db_pass, $db_data); + }; + + require_once('include/session.php'); + require_once('include/datetime.php'); + + load_config('config'); + load_config('system'); + + $a->set_baseurl(get_config('system','url')); + + load_hooks(); + + if($argc != 2) + return; + + $url = hex2bin($argv[1]); + + $r = q("select * from gcontact where nurl = '%s' limit 1", + dbesc(normalise_link($url)) + ); + + if(count($r)) + return; + + $arr = probe_url($url); + + if(count($arr) && x($arr,'network') && $arr['network'] === NETWORK_DFRN) { + q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`) + values ( '%s', '%s', '%s', '%s') ", + dbesc($arr['name']), + dbesc($arr['url']), + dbesc(normalise_link($arr['url'])), + dbesc($arr['photo']) + ); + } + + return; +} + +if (array_search(__file__,get_included_files())===0){ + gprobe_run($argv,$argc); + killme(); +} diff --git a/include/plugin.php b/include/plugin.php index 8196e8756..4ff78a8b4 100644 --- a/include/plugin.php +++ b/include/plugin.php @@ -5,7 +5,7 @@ if (! function_exists('uninstall_plugin')){ function uninstall_plugin($plugin){ logger("Addons: uninstalling " . $plugin); - q("DELETE FROM `addon` WHERE `name` = '%s' LIMIT 1", + q("DELETE FROM `addon` WHERE `name` = '%s' ", dbesc($plugin) ); @@ -37,6 +37,16 @@ function install_plugin($plugin) { intval($t), $plugin_admin ); + + // we can add the following with the previous SQL + // once most site tables have been updated. + // This way the system won't fall over dead during the update. + + if(file_exists('addon/' . $plugin . '/.hidden')) { + q("update addon set hidden = 1 where name = '%s' limit 1", + dbesc($plugin) + ); + } return true; } else { |