argc == 2) && intval($a->argv[1])) { $contact_id = intval($a->argv[1]); $r = q("SELECT * FROM `contact` WHERE `uid` = %d and `id` = %d LIMIT 1", intval(local_user()), intval($contact_id) ); if(! count($r)) { $contact_id = 0; } } if(! x($a->page,'aside')) $a->page['aside'] = ''; if($contact_id) { $a->data['contact'] = $r[0]; $tpl = get_markup_template("vcard-widget.tpl"); $vcard_widget .= replace_macros($tpl, array( '$name' => $a->data['contact']['name'], '$photo' => $a->data['contact']['photo'] )); $a->page['aside'] .= $vcard_widget; } } function crepair_post(&$a) { if(! local_user()) return; $cid = (($a->argc > 1) ? intval($a->argv[1]) : 0); if($cid) { $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($cid), intval(local_user()) ); } if(! count($r)) return; $contact = $r[0]; $name = ((x($_POST,'name')) ? $_POST['name'] : $contact['name']); $nick = ((x($_POST,'nick')) ? $_POST['nick'] : ''); $url = ((x($_POST,'url')) ? $_POST['url'] : ''); $request = ((x($_POST,'request')) ? $_POST['request'] : ''); $confirm = ((x($_POST,'confirm')) ? $_POST['confirm'] : ''); $notify = ((x($_POST,'notify')) ? $_POST['notify'] : ''); $poll = ((x($_POST,'poll')) ? $_POST['poll'] : ''); $attag = ((x($_POST,'attag')) ? $_POST['attag'] : ''); $photo = ((x($_POST,'photo')) ? $_POST['photo'] : ''); $remote_self = ((x($_POST,'remote_self')) ? $_POST['remote_self'] : false); $nurl = normalise_link($url); $r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `url` = '%s', `nurl` = '%s', `request` = '%s', `confirm` = '%s', `notify` = '%s', `poll` = '%s', `attag` = '%s' , `remote_self` = %d WHERE `id` = %d AND `uid` = %d", dbesc($name), dbesc($nick), dbesc($url), dbesc($nurl), dbesc($request), dbesc($confirm), dbesc($notify), dbesc($poll), dbesc($attag), intval($remote_self), intval($contact['id']), local_user() ); if($photo) { logger('mod-crepair: updating photo from ' . $photo); require_once("include/Photo.php"); $photos = import_profile_photo($photo,local_user(),$contact['id']); $x = q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s', `name-date` = '%s', `uri-date` = '%s', `avatar-date` = '%s' WHERE `id` = %d ", dbesc($photos[0]), dbesc($photos[1]), dbesc($photos[2]), dbesc(datetime_convert()), dbesc(datetime_convert()), dbesc(datetime_convert()), intval($contact['id']) ); } if($r) info( t('Contact settings applied.') . EOL); else notice( t('Contact update failed.') . EOL); return; } function crepair_content(&$a) { if(! local_user()) { notice( t('Permission denied.') . EOL); return; } $cid = (($a->argc > 1) ? intval($a->argv[1]) : 0); if($cid) { $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($cid), intval(local_user()) ); } if(! count($r)) { notice( t('Contact not found.') . EOL); return; } $contact = $r[0]; $msg1 = t('Repair Contact Settings'); $msg2 = t('WARNING: This is highly advanced and if you enter incorrect information your communications with this contact may stop working.'); $msg3 = t('Please use your browser \'Back\' button now if you are uncertain what to do on this page.'); $o .= '