From b96d6c015b8090ee2ec56f320821fe962f821c6f Mon Sep 17 00:00:00 2001 From: Friendika Date: Sun, 6 Feb 2011 19:15:20 -0800 Subject: [PATCH] fix contact photo updates - a result of baseurl being wrong for cmdline processes --- boot.php | 40 +++++++++++++++++++++++++++++----------- include/poller.php | 1 - update.php | 16 +++++++++++++++- 3 files changed, 44 insertions(+), 13 deletions(-) diff --git a/boot.php b/boot.php index ae6d534d6..5327688dd 100644 --- a/boot.php +++ b/boot.php @@ -2,7 +2,7 @@ set_time_limit(0); -define ( 'BUILD_ID', 1036 ); +define ( 'BUILD_ID', 1037 ); define ( 'FRIENDIKA_VERSION', '2.10.0905' ); define ( 'DFRN_PROTOCOL_VERSION', '2.1' ); @@ -215,9 +215,19 @@ class App { $this->scheme = ((isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'])) ? 'https' : 'http' ); - if(x($_SERVER,'SERVER_NAME')) + if(x($_SERVER,'SERVER_NAME')) { $this->hostname = $_SERVER['SERVER_NAME']; + /** + * Figure out if we are running at the top of a domain + * or in a sub-directory and adjust accordingly + */ + + $path = trim(dirname($_SERVER['SCRIPT_NAME']),'/\\'); + if(isset($path) && strlen($path) && ($path != $this->path)) + $this->path = $path; + } + set_include_path("include/$this->hostname" . PATH_SEPARATOR . 'include' . PATH_SEPARATOR . '.' ); if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=") @@ -225,14 +235,6 @@ class App { if(x($_GET,'q')) $this->cmd = trim($_GET['q'],'/\\'); - /** - * Figure out if we are running at the top of a domain - * or in a sub-directory and adjust accordingly - */ - - $path = trim(dirname($_SERVER['SCRIPT_NAME']),'/\\'); - if(isset($path) && strlen($path) && ($path != $this->path)) - $this->path = $path; /** @@ -295,8 +297,20 @@ class App { } function set_baseurl($url) { + $parsed = parse_url($url); + $this->baseurl = $url; - $this->hostname = basename($url); + + if($parsed) { + $this->scheme = $parsed['scheme']; + + $this->hostname = $parsed['host']; + if($parsed['port']) + $this->hostname .= ':' . $parsed['port']; + if($parsed['path']) + $this->path = trim($parsed['path'],'\\/'); + } + } function get_hostname() { @@ -406,8 +420,12 @@ function system_unavailable() { if(! function_exists('check_config')) { function check_config(&$a) { + load_config('system'); + if(! x($_SERVER,'SERVER_NAME')) + return; + $build = get_config('system','build'); if(! x($build)) $build = set_config('system','build',BUILD_ID); diff --git a/include/poller.php b/include/poller.php index 1d88fe447..66df080a9 100644 --- a/include/poller.php +++ b/include/poller.php @@ -28,7 +28,6 @@ function poller_run($argv, $argc){ // run queue delivery process in the background $php_path = ((x($a->config,'php_path') && strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php'); - //proc_close(proc_open("\"$php_path\" \"include/queue.php\" &", array(), $foo)); proc_run($php_path,"include/queue.php"); // clear old cache diff --git a/update.php b/update.php index 2ca008cda..e51e8ac33 100644 --- a/update.php +++ b/update.php @@ -348,4 +348,18 @@ function update_1035() { q("ALTER TABLE `contact` ADD `success_update` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `last-update` "); -} \ No newline at end of file +} + +function update_1036() { + + $r = dbq("SELECT * FROM `contact` WHERE `network` = 'dfrn' && `photo` LIKE '%include/photo%' "); + if(count($r)) { + foreach($r as $rr) { + q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s' WHERE `id` = %d LIMIT 1", + dbesc(str_replace('include/photo','photo',$rr['photo'])), + dbesc(str_replace('include/photo','photo',$rr['thumb'])), + dbesc(str_replace('include/photo','photo',$rr['micro'])), + intval($rr['id'])); + } + } +}