aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
Diffstat (limited to 'mod')
-rw-r--r--mod/contacts.php2
-rw-r--r--mod/dfrn_notify.php35
-rw-r--r--mod/follow.php8
-rw-r--r--mod/network.php4
-rw-r--r--mod/photos.php20
-rw-r--r--mod/removeme.php50
-rw-r--r--mod/viewcontacts.php2
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']
));
}