diff options
author | Friendika <info@friendika.com> | 2011-04-13 20:14:30 -0700 |
---|---|---|
committer | Friendika <info@friendika.com> | 2011-04-13 20:14:30 -0700 |
commit | 974077c06c8464223e26479e07a8349b8e6c509d (patch) | |
tree | 0dc209f4e40f43a2e7e7bd4dda008b9928c89f60 | |
parent | 5198e039df5051226b0f79681187f2365e7db525 (diff) | |
download | volse-hubzilla-974077c06c8464223e26479e07a8349b8e6c509d.tar.gz volse-hubzilla-974077c06c8464223e26479e07a8349b8e6c509d.tar.bz2 volse-hubzilla-974077c06c8464223e26479e07a8349b8e6c509d.zip |
contact "repair/relocate URL" tool
-rw-r--r-- | images/tools.png | bin | 0 -> 490 bytes | |||
-rw-r--r-- | mod/contacts.php | 2 | ||||
-rw-r--r-- | mod/crepair.php | 105 | ||||
-rw-r--r-- | view/contact_edit.tpl | 2 | ||||
-rw-r--r-- | view/crepair.tpl | 34 | ||||
-rw-r--r-- | view/theme/duepuntozero/style.css | 21 |
6 files changed, 164 insertions, 0 deletions
diff --git a/images/tools.png b/images/tools.png Binary files differnew file mode 100644 index 000000000..c17094a81 --- /dev/null +++ b/images/tools.png diff --git a/mod/contacts.php b/mod/contacts.php index 834b1c63d..ee7177d48 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -272,6 +272,8 @@ function contacts_content(&$a) { '$visit' => t('Visit $name\'s profile'), '$blockunblock' => t('Block/Unblock contact'), '$ignorecont' => t('Ignore contact'), + '$altcrepair' => t('Repair contact URL settings'), + '$lblcrepair' => t("Repair contact URL settings \x28WARNING: Advanced\x29"), '$delete' => t('Delete contact'), '$poll_interval' => contact_poll_interval($r[0]['priority']), '$lastupdtext' => t('Last updated: '), diff --git a/mod/crepair.php b/mod/crepair.php new file mode 100644 index 000000000..617c381f7 --- /dev/null +++ b/mod/crepair.php @@ -0,0 +1,105 @@ +<?php + +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]; + + $nick = ((x($_POST,'nick')) ? $_POST['nick'] : null); + $url = ((x($_POST,'url')) ? $_POST['url'] : null); + $request = ((x($_POST,'request')) ? $_POST['request'] : null); + $confirm = ((x($_POST,'confirm')) ? $_POST['confirm'] : null); + $notify = ((x($_POST,'notify')) ? $_POST['notify'] : null); + $poll = ((x($_POST,'poll')) ? $_POST['poll'] : null); + + + $r = q("UPDATE `contact` SET `nick` = '%s', `url` = '%s', `request` = '%s', `confirm` = '%s', `notify` = '%s', `poll` = '%s' + WHERE `id` = %d AND `uid` = %d LIMIT 1", + dbesc($nick), + dbesc($url), + dbesc($request), + dbesc($confirm), + dbesc($notify), + dbesc($poll), + intval($contact['id']), + local_user() + ); + + if($r) + notice( 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('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact will stop working.'); + $msg3 = t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.'); + + $o .= '<h2>' . $msg1 . '</h2>'; + + $o .= '<div class="error-message">' . $msg2 . EOL . EOL. $msg3 . '</div>'; + + $tpl = load_view_file('view/crepair.tpl'); + $o .= replace_macros($tpl, array( + '$label_name' => t('Name'), + '$label_nick' => t('Account Nickname'), + '$label_url' => t('Account URL'), + '$label_request' => t('Friend Request URL'), + '$label_confirm' => t('Friend Confirm URL'), + '$label_notify' => t('Notification Endpoint URL'), + '$label_poll' => t('Poll/Feed URL'), + '$contact_name' => $contact['name'], + '$contact_nick' => $contact['nick'], + '$contact_id' => $contact['id'], + '$contact_url' => $contact['url'], + '$request' => $contact['request'], + '$confirm' => $contact['confirm'], + '$notify' => $contact['notify'], + '$poll' => $contact['poll'], + '$lbl_submit' => t('Submit') + )); + + return $o; + +}
\ No newline at end of file diff --git a/view/contact_edit.tpl b/view/contact_edit.tpl index 4c2c6c6f8..5e4f02335 100644 --- a/view/contact_edit.tpl +++ b/view/contact_edit.tpl @@ -20,6 +20,8 @@ <div id="contact-edit-links" > <a href="contacts/$contact_id/block" id="contact-edit-block-link" ><img src="images/b_block.gif" alt="$blockunblock" title="$block_text"/></a> <a href="contacts/$contact_id/ignore" id="contact-edit-ignore-link" ><img src="images/no.gif" alt="$ignorecont" title="$ignore_text"/></a> + <a href="crepair/$contact_id" id="contact-edit-repair" ><img src="images/tools.png" alt="$altcrepair" title="$lblcrepair"/></a> + </div> <div id="contact-drop-links" > <a href="contacts/$contact_id/drop" id="contact-edit-drop-link" onclick="return confirmDelete();" ><img src="images/b_drophide.gif" alt="$delete" title="$delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" /></a> diff --git a/view/crepair.tpl b/view/crepair.tpl new file mode 100644 index 000000000..5870bac60 --- /dev/null +++ b/view/crepair.tpl @@ -0,0 +1,34 @@ + +<form id="crepair-form" action="crepair/$contact_id" method="post" > + +<h4>$contact_name</h4> + +<label id="crepair-nick-label" for="crepair-nick">$label_nick</label> +<input type="text" id="crepair-nick" name="nick" value="$contact_nick" /> +<div class="clear"></div> + +<label id="crepair-url-label" for="crepair-url">$label_url</label> +<input type="text" id="crepair-url" name="url" value="$contact_url" /> +<div class="clear"></div> + +<label id="crepair-request-label" for="crepair-request">$label_request</label> +<input type="text" id="crepair-request" name="request" value="$request" /> +<div class="clear"></div> + +<label id="crepair-confirm-label" for="crepair-confirm">$label_confirm</label> +<input type="text" id="crepair-confirm" name="confirm" value="$confirm" /> +<div class="clear"></div> + +<label id="crepair-notify-label" for="crepair-notify">$label_notify</label> +<input type="text" id="crepair-notify" name="notify" value="$notify" /> +<div class="clear"></div> + +<label id="crepair-poll-label" for="crepair-poll">$label_poll</label> +<input type="text" id="crepair-poll" name="poll" value="$poll" /> +<div class="clear"></div> + +<input type="submit" name="submit" value="$lbl_submit" /> + +</form> + + diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index 51bdb716b..6658cd94a 100644 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -2293,3 +2293,24 @@ a.mail-list-link { #prof-edit-desc { margin-top: 15px; } + +#crepair-nick-label, +#crepair-url-label, +#crepair-request-label, +#crepair-confirm-label, +#crepair-notify-label, +#crepair-poll-label { + float: left; + width: 200px; + margin-bottom: 15px; +} + +#crepair-nick, +#crepair-url, +#crepair-request, +#crepair-confirm, +#crepair-notify, +#crepair-poll { + float: left; + width: 300px; +} |