diff options
Diffstat (limited to 'mod')
-rw-r--r-- | mod/contacts.php | 2 | ||||
-rw-r--r-- | mod/dfrn_notify.php | 35 | ||||
-rw-r--r-- | mod/follow.php | 8 | ||||
-rw-r--r-- | mod/network.php | 4 | ||||
-rw-r--r-- | mod/photos.php | 20 | ||||
-rw-r--r-- | mod/removeme.php | 50 | ||||
-rw-r--r-- | mod/viewcontacts.php | 2 |
7 files changed, 97 insertions, 24 deletions
diff --git a/mod/contacts.php b/mod/contacts.php index 4c627c88f..61d9ce398 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -367,7 +367,7 @@ function contacts_content(&$a) { '$alt_text' => $alt_text, '$dir_icon' => $dir_icon, '$thumb' => $rr['thumb'], - '$name' => $rr['name'], + '$name' => substr($rr['name'],0,20), '$sparkle' => $sparkle, '$url' => $url )); diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php index f904b06bc..7f023ef22 100644 --- a/mod/dfrn_notify.php +++ b/mod/dfrn_notify.php @@ -24,7 +24,7 @@ function dfrn_notify_post(&$a) { dbesc($challenge) ); if(! count($r)) { - logger('dfrn_notify: could not match challenge to dfrn_id ' . $dfrn_id); + logger('dfrn_notify: could not match challenge to dfrn_id ' . $dfrn_id . ' challenge=' . $challenge); xml_status(3); } @@ -52,8 +52,6 @@ function dfrn_notify_post(&$a) { } - - $r = q("SELECT `contact`.*, `contact`.`uid` AS `importer_uid`, `contact`.`pubkey` AS `cpubkey`, `contact`.`prvkey` AS `cprvkey`, `user`.* FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid` @@ -93,11 +91,21 @@ function dfrn_notify_post(&$a) { logger('rino: md5 raw key: ' . md5($rawkey)); $final_key = ''; - if((($importer['duplex']) && strlen($importer['cpubkey'])) || (! strlen($importer['cprvkey']))) { - openssl_public_decrypt($rawkey,$final_key,$importer['cpubkey']); + if($dfrn_version >= 2.1) { + if((($importer['duplex']) && strlen($importer['cprvkey'])) || (! strlen($importer['cpubkey']))) { + openssl_private_decrypt($rawkey,$final_key,$importer['cprvkey']); + } + else { + openssl_public_decrypt($rawkey,$final_key,$importer['cpubkey']); + } } else { - openssl_private_decrypt($rawkey,$final_key,$importer['cprvkey']); + if((($importer['duplex']) && strlen($importer['cpubkey'])) || (! strlen($importer['cprvkey']))) { + openssl_public_decrypt($rawkey,$final_key,$importer['cpubkey']); + } + else { + openssl_private_decrypt($rawkey,$final_key,$importer['cprvkey']); + } } logger('rino: received key : ' . $final_key); @@ -460,12 +468,13 @@ function dfrn_notify_content(&$a) { $r = q("DELETE FROM `challenge` WHERE `expire` < " . intval(time())); $r = q("INSERT INTO `challenge` ( `challenge`, `dfrn-id`, `expire` ) - VALUES( '%s', '%s', '%s') ", + VALUES( '%s', '%s', %d ) ", dbesc($hash), dbesc($dfrn_id), - intval(time() + 60 ) + intval(time() + 90 ) ); + logger('dfrn_notify: challenge=' . $hash ); $sql_extra = ''; switch($direction) { @@ -498,14 +507,14 @@ function dfrn_notify_content(&$a) { $encrypted_id = ''; $id_str = $my_id . '.' . mt_rand(1000,9999); - if((($r[0]['duplex']) && strlen($r[0]['pubkey'])) || (! strlen($r[0]['prvkey']))) { - openssl_public_encrypt($hash,$challenge,$r[0]['pubkey']); - openssl_public_encrypt($id_str,$encrypted_id,$r[0]['pubkey']); - } - else { + if((($r[0]['duplex']) && strlen($r[0]['prvkey'])) || (! strlen($r[0]['pubkey']))) { openssl_private_encrypt($hash,$challenge,$r[0]['prvkey']); openssl_private_encrypt($id_str,$encrypted_id,$r[0]['prvkey']); } + else { + openssl_public_encrypt($hash,$challenge,$r[0]['pubkey']); + openssl_public_encrypt($id_str,$encrypted_id,$r[0]['pubkey']); + } $challenge = bin2hex($challenge); $encrypted_id = bin2hex($encrypted_id); diff --git a/mod/follow.php b/mod/follow.php index 62ba2585c..8c1dc348f 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -113,10 +113,16 @@ function follow_post(&$a) { $vcard['nick'] = trim(substr($vcard['nick'],0,strpos($vcard['nick'],' '))); $email = $author->get_email(); } + if(! $vcard['photo']) { + $rawmedia = $item->get_item_tags('http://search.yahoo.com/mrss/','thumbnail'); + if($rawmedia && $rawmedia[0]['attribs']['']['url']) + $vcard['photo'] = $rawmedia[0]['attribs']['']['url']; + } } } if((! $vcard['photo']) && strlen($email)) $vcard['photo'] = gravatar_img($email); + $network = 'feed'; $priority = 2; } @@ -161,7 +167,7 @@ function follow_post(&$a) { // create contact record $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `notify`, `poll`, `name`, `nick`, `photo`, `network`, `rel`, `priority`, `blocked`, `readonly`, `pending` ) - VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, 0, 0, 0 ) ", + VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, 0, 0, 0 ) ", intval(local_user()), dbesc(datetime_convert()), dbesc($profile), diff --git a/mod/network.php b/mod/network.php index 80edca1d0..2ec06fe61 100644 --- a/mod/network.php +++ b/mod/network.php @@ -38,11 +38,11 @@ function network_content(&$a, $update = 0) { $group = 0; + $nouveau = false; + if(! $update) { $o .= '<script> $(document).ready(function() { $(\'#nav-network-link\').addClass(\'nav-selected\'); });</script>'; - $nouveau = false; - if(($a->argc > 2) && $a->argv[2] === 'new') $nouveau = true; diff --git a/mod/photos.php b/mod/photos.php index c80a82e66..52cc66eae 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -244,20 +244,26 @@ foreach($_FILES AS $key => $val) { return; // NOTREACHED } - if(($a->argc > 2) && ((x($_POST,'desc') !== false) || (x($_POST,'newtag') !== false))) { + if(($a->argc > 2) && ((x($_POST,'desc') !== false) || (x($_POST,'newtag') !== false)) || (x($_POST,'albname') !== false)) { - $desc = ((x($_POST,'desc')) ? notags(trim($_POST['desc'])) : ''); - $rawtags = ((x($_POST,'newtag')) ? notags(trim($_POST['newtag'])) : ''); - $item_id = ((x($_POST,'item_id')) ? intval($_POST['item_id']) : 0); + $desc = ((x($_POST,'desc')) ? notags(trim($_POST['desc'])) : ''); + $rawtags = ((x($_POST,'newtag')) ? notags(trim($_POST['newtag'])) : ''); + $item_id = ((x($_POST,'item_id')) ? intval($_POST['item_id']) : 0); + $albname = ((x($_POST,'albname')) ? notags(trim($_POST['albname'])) : ''); $resource_id = $a->argv[2]; + if(! strlen($albname)) + $albname = datetime_convert('UTC',date_default_timezone_get(),'now', 'Y'); + + $p = q("SELECT * FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d ORDER BY `scale` DESC", dbesc($resource_id), intval($page_owner_uid) ); - if((count($p)) && ($p[0]['desc'] !== $desc)) { - $r = q("UPDATE `photo` SET `desc` = '%s' WHERE `resource-id` = '%s' AND `uid` = %d", + if((count($p)) && (($p[0]['desc'] !== $desc) || ($p[0]['album'] !== $albname))) { + $r = q("UPDATE `photo` SET `desc` = '%s', `album` = '%s' WHERE `resource-id` = '%s' AND `uid` = %d", dbesc($desc), + dbesc($albname), dbesc($resource_id), intval($page_owner_uid) ); @@ -997,6 +1003,8 @@ function photos_content(&$a) { $edit_tpl = load_view_file('view/photo_edit.tpl'); $o .= replace_macros($edit_tpl, array( '$id' => $ph[0]['id'], + '$album' => $ph[0]['album'], + '$newalbum' => t('New album name'), '$nickname' => $a->data['user']['nickname'], '$resource_id' => $ph[0]['resource-id'], '$capt_label' => t('Caption'), diff --git a/mod/removeme.php b/mod/removeme.php new file mode 100644 index 000000000..62b9a6d13 --- /dev/null +++ b/mod/removeme.php @@ -0,0 +1,50 @@ +<?php + +function removeme_post(&$a) { + + if(! local_user()) + return; + + if((! x($_POST,'qxz_password')) || (! strlen(trim($_POST['qxz_password'])))) + return; + + if((! x($_POST,'verify')) || (! strlen(trim($_POST['verify'])))) + return; + + if($_POST['verify'] !== $_SESSION['remove_account_verify']) + return; + + $encrypted = hash('whirlpool',trim($_POST['qxz_password'])); + + if((strlen($a->user['password'])) && ($encrypted === $a->user['password'])) { + require_once('include/Contact.php'); + user_remove($a->user['uid']); + // NOTREACHED + } + +} + + + +function removeme_content(&$a) { + + if(! local_user()) + goaway($a->get_baseurl()); + + $hash = random_string(); + + $_SESSION['remove_account_verify'] = $hash; + + $tpl = load_view_file('view/removeme.tpl'); + $o .= replace_macros($tpl, array( + '$basedir' => $a->get_baseurl(), + '$hash' => $hash, + '$title' => t('Remove My Account'), + '$desc' => t('This will completely remove your account. Once this has been done it is not recoverable.'), + '$passwd' => t('Please enter your password for verification:'), + '$submit' => t('Remove My Account') + )); + + return $o; + +}
\ No newline at end of file diff --git a/mod/viewcontacts.php b/mod/viewcontacts.php index bd73b2ffb..90ff85b9d 100644 --- a/mod/viewcontacts.php +++ b/mod/viewcontacts.php @@ -43,7 +43,7 @@ function viewcontacts_content(&$a) { '$id' => $rr['id'], '$alt_text' => t('Visit ') . $rr['name'] . t('\'s profile'), '$thumb' => $rr['thumb'], - '$name' => $rr['name'], + '$name' => substr($rr['name'],0,20), '$url' => $rr['url'] )); } |