aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriendika <info@friendika.com>2010-12-23 14:40:32 -0800
committerFriendika <info@friendika.com>2010-12-23 14:40:32 -0800
commitc55cb45855ede35e593f6a1ed5e5878144cf0ad0 (patch)
tree6779dd94c7bd466330839f61658a9d31170db296
parent68868fd74bbc6a6f2268b6c5467ccf9e025af011 (diff)
downloadvolse-hubzilla-c55cb45855ede35e593f6a1ed5e5878144cf0ad0.tar.gz
volse-hubzilla-c55cb45855ede35e593f6a1ed5e5878144cf0ad0.tar.bz2
volse-hubzilla-c55cb45855ede35e593f6a1ed5e5878144cf0ad0.zip
revised openid patch, added fix for Windows servers, make "is now friends with" commentable, fix settings form hook to be inside form
-rw-r--r--boot.php6
-rw-r--r--mod/dfrn_confirm.php1
-rw-r--r--mod/profile.php31
-rw-r--r--mod/settings.php18
-rw-r--r--update.php4
-rw-r--r--view/en/settings.tpl4
-rw-r--r--view/it/settings.tpl4
7 files changed, 27 insertions, 41 deletions
diff --git a/boot.php b/boot.php
index 3a6886fd1..57d69a5e1 100644
--- a/boot.php
+++ b/boot.php
@@ -2,7 +2,7 @@
set_time_limit(0);
-define ( 'BUILD_ID', 1028 );
+define ( 'BUILD_ID', 1029 );
define ( 'DFRN_PROTOCOL_VERSION', '2.0' );
define ( 'EOL', "<br />\r\n" );
@@ -211,14 +211,14 @@ class App {
if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=")
$this->query_string = substr($_SERVER['QUERY_STRING'],2);
if(x($_GET,'q'))
- $this->cmd = trim($_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']),'/');
+ $path = trim(dirname($_SERVER['SCRIPT_NAME']),'/\\');
if(isset($path) && strlen($path) && ($path != $this->path))
$this->path = $path;
diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php
index 6b9bbfe13..41e0771af 100644
--- a/mod/dfrn_confirm.php
+++ b/mod/dfrn_confirm.php
@@ -432,6 +432,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
$arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $contact['url'] . '" />' . "\n");
$arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $contact['thumb'] . '" />' . "\n");
$arr['object'] .= '</link></object>' . "\n";
+ $arr['last-child'] = 1;
$i = item_store($arr);
diff --git a/mod/profile.php b/mod/profile.php
index a5f440f43..ffc412805 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -18,38 +18,19 @@ function profile_init(&$a) {
profile_load($a,$which,$profile);
- if (!get_config('system','no_openid') && $a->profile['openid']!=""){
- if (!isset($a->profile['openidserver'])){
- logger('friendika user table must be updated. `openidserver` field is missing');
- } else {
- if ($a->profile['openidserver']==''){
- require_once('library/openid.php');
- $openid = new LightOpenID;
- $openid->identity = $a->profile['openid'];
- $a->profile['openidserver'] = $openid->discover($openid->identity);
-
- q("UPDATE `user` SET `openidserver` = '%s' WHERE `uid` = %d LIMIT 1",
- dbesc($a->profile['openidserver']),
- intval($a->profile['uid'])
- );
- }
-
-
- $a->page['htmlhead'] .= '<link rel="openid.server" href="'.$a->profile['openidserver'].'" />'. "\r\n";
- $a->page['htmlhead'] .= '<link rel="openid.delegate" href="'.$a->profile['openid'].'" />'. "\r\n";
- }
-
+ if(x($a->profile,'openidserver'))
+ $a->page['htmlhead'] .= '<link rel="openid.server" href="' . $a->profile['openidserver'] . '" />' . "\r\n";
+ if(x($a->profile,'openid')) {
+ $delegate = ((strstr($a->profile['openid'],'://')) ? $a->profile['openid'] : 'http://' . $a->profile['openid']);
+ $a->page['htmlhead'] .= '<link rel="openid.delegate" href="' . $delegate . '" />' . "\r\n";
}
-
-
$a->page['htmlhead'] .= '<meta name="dfrn-global-visibility" content="' . (($a->profile['net-publish']) ? 'true' : 'false') . '" />' . "\r\n" ;
$a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/dfrn_poll/' . $which .'" />' . "\r\n" ;
$uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->get_hostname() . (($a->path) ? '/' . $a->path : ''));
$a->page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . $a->get_baseurl() . '/xrd/?uri=' . $uri . '" />' . "\r\n";
header('Link: <' . $a->get_baseurl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false);
-
-
+
$dfrn_pages = array('request', 'confirm', 'notify', 'poll');
foreach($dfrn_pages as $dfrn)
$a->page['htmlhead'] .= "<link rel=\"dfrn-{$dfrn}\" href=\"".$a->get_baseurl()."/dfrn_{$dfrn}/{$which}\" />\r\n";
diff --git a/mod/settings.php b/mod/settings.php
index af826c53b..6eaa17ad0 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -109,12 +109,17 @@ function settings_post(&$a) {
$str_group_deny = perms2str($_POST['group_deny']);
$str_contact_deny = perms2str($_POST['contact_deny']);
- $openidserver="";
- if ($openid != $a->user['openid'] && isset($a->user['openidserver'])){
- $openidserver = ", `openidserver` = ''";
+ $openidserver = $a->user['openidserver'];
+
+ if($openid != $a->user['openid']) {
+ logger('updating openidserver');
+ require_once('library/openid.php');
+ $open_id_obj = new LightOpenID;
+ $open_id_obj->identity = $openid;
+ $openidserver = $open_id_obj->discover($open_id_obj->identity);
}
- $r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `theme` = '%s', `maxreq` = %d".$openidserver." WHERE `uid` = %d LIMIT 1",
+ $r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `theme` = '%s', `maxreq` = %d, `openidserver` = '%s' WHERE `uid` = %d LIMIT 1",
dbesc($username),
dbesc($email),
dbesc($openid),
@@ -129,6 +134,7 @@ function settings_post(&$a) {
intval($allow_location),
dbesc($theme),
intval($maxreq),
+ dbesc($openidserver),
intval(local_user())
);
if($r)
@@ -306,7 +312,9 @@ function settings_content(&$a) {
'$pagetype' => $pagetype
));
- call_hooks('settings_page',$o);
+ call_hooks('settings_form',$o);
+
+ $o .= '</form>' . "\r\n";
return $o;
diff --git a/update.php b/update.php
index 5807f1a34..d6fab4255 100644
--- a/update.php
+++ b/update.php
@@ -270,3 +270,7 @@ function update_1027() {
) ENGINE = MYISAM DEFAULT CHARSET=utf8 ");
}
+function update_1028() {
+ q("ALTER TABLE `user` ADD `openidserver` text NOT NULL AFTER `deny_gid` ");
+}
+
diff --git a/view/en/settings.tpl b/view/en/settings.tpl
index aea463742..b29398a62 100644
--- a/view/en/settings.tpl
+++ b/view/en/settings.tpl
@@ -159,7 +159,3 @@ $pagetype
</div>
-</form>
-
-
-
diff --git a/view/it/settings.tpl b/view/it/settings.tpl
index f50a2151b..eeea36dfd 100644
--- a/view/it/settings.tpl
+++ b/view/it/settings.tpl
@@ -159,7 +159,3 @@ $pagetype
</div>
-</form>
-
-
-