Merge pull request #531 from fabrixxm/master

"Move Account" docs
This commit is contained in:
friendica 2012-11-10 03:06:28 -08:00
commit 0e95b6b527
5 changed files with 129 additions and 25 deletions

View file

@ -1009,6 +1009,13 @@ if(! function_exists('remote_user')) {
// a page is loaded. Usually used for errors or alerts.
if(! function_exists('notice')) {
/**
* Show an error message to user.
*
* This function save text in session, to be shown to the user at next page load
*
* @param string $s - Text of notice
*/
function notice($s) {
$a = get_app();
if(! x($_SESSION,'sysmsg')) $_SESSION['sysmsg'] = array();
@ -1017,6 +1024,13 @@ if(! function_exists('notice')) {
}
}
if(! function_exists('info')) {
/**
* Show an info message to user.
*
* This function save text in session, to be shown to the user at next page load
*
* @param string $s - Text of notice
*/
function info($s) {
$a = get_app();
if(! x($_SESSION,'sysmsg_info')) $_SESSION['sysmsg_info'] = array();

View file

@ -73,5 +73,7 @@ You can export a copy of your personal data in XML format from the "Export perso
* [Groups and Privacy](help/Groups-and-Privacy)
* [Move Account](help/Move-Account)
* [Remove Account](help/Remove-Account)

View file

@ -14,6 +14,7 @@ Friendica Documentation and Resources
* [Groups and Privacy](help/Groups-and-Privacy)
* [Tags and Mentions](help/Tags-and-Mentions)
* [Pages](help/Pages)
* [Move Account](help/Move-Account)
* [Remove Account](help/Remove-Account)
* [Bugs and Issues](help/Bugs-and-Issues)

33
doc/Move-Account.md Normal file
View file

@ -0,0 +1,33 @@
Move Account
============
* [Home](help)
! **this is an experimental feature**
** How to move an account between servers **
Go to "Settings" -> "[Export personal data](uexport)"
Click on "Export account" to save your account data.
This file contains your details, your contacts, groups, and personal settings.
It contains also your secret keys to authenticate yourself to your contacts:
**save this file in a secure place**!
Go to your new server, and open *http://newserver.com/uimport* (there is not a
direct link to this page at the moment).
Load your saved account file and click "Import".
Friendica will recreate your account on new server, with your contacts and groups.
A message is sent to Friendica contacts, to inform them about your move: if your
contacts are runnning on an updated server, automatically your details on their
side will be updated.
Contacts on Statusnet/Identi.ca or Diaspora will be archived, as we can't inform
them about your move.
You should ask them to remove your contact from their lists and readd you, and you
should do the same with their contact.
After the move, the account on the old server will not work reliably anymore, and
should be not used.

View file

@ -1,47 +1,101 @@
<?php
define( 'MARKDOWN_PARSER_CLASS', 'ExtendedMarkdown' );
require_once('library/markdown.php');
if(! function_exists('load_doc_file')) {
function load_doc_file($s) {
global $lang;
if(! isset($lang))
$lang = 'en';
$b = basename($s);
$d = dirname($s);
if(file_exists("$d/$lang/$b"))
return file_get_contents("$d/$lang/$b");
if(file_exists($s))
return file_get_contents($s);
return '';
}}
class ExtendedMarkdown extends MarkdownExtra_Parser {
function ExtendedMarkdown() {
$this->block_gamut += array(
"doBlockWarning" => 45,
);
parent::MarkdownExtra_Parser();
}
function doBlockWarning($text) {
$text = preg_replace_callback('/
( # Wrap whole match in $1
(?>
^[ ]*![ ]? # "!" at the start of a line
.+\n # rest of the first line
(.+\n)* # subsequent consecutive lines
\n* # blanks
)+
)
/xm', array(&$this, '_doBlockWarning_callback'), $text);
return $text;
}
function _doBlockWarning_callback($matches) {
$bq = $matches[1];
# trim one level of quoting - trim whitespace-only lines
$bq = preg_replace('/^[ ]*![ ]?|^[ ]+$/m', '', $bq);
$bq = $this->runBlockGamut($bq); # recurse
$bq = preg_replace('/^/m', " ", $bq);
# These leading spaces cause problem with <pre> content,
# so we need to fix that:
// $bq = preg_replace_callback('{(\s*<pre>.+?</pre>)}sx', array(&$this, '__doBlockWarning_callback2'), $bq);
return "\n" . $this->hashBlock("<div class='md_warning'>\n$bq\n</div>") . "\n\n";
}
function _doBlockWarning_callback2($matches) {
$pre = $matches[1];
$pre = preg_replace('/^ /m', '', $pre);
return $pre;
}
}
if (!function_exists('load_doc_file')) {
function load_doc_file($s) {
global $lang;
if (!isset($lang))
$lang = 'en';
$b = basename($s);
$d = dirname($s);
if (file_exists("$d/$lang/$b"))
return file_get_contents("$d/$lang/$b");
if (file_exists($s))
return file_get_contents($s);
return '';
}
}
function help_content(&$a) {
nav_set_selected('help');
global $lang;
require_once('library/markdown.php');
$text = '';
if($a->argc > 1) {
if ($a->argc > 1) {
$text = load_doc_file('doc/' . $a->argv[1] . '.md');
$a->page['title'] = t('Help:') . ' ' . str_replace('-',' ',notags($a->argv[1]));
$a->page['title'] = t('Help:') . ' ' . str_replace('-', ' ', notags($a->argv[1]));
}
if(! $text) {
$text = load_doc_file('doc/Home.md');
$home = load_doc_file('doc/Home.md');
if (!$text) {
$text = $home;
$a->page['title'] = t('Help');
} else {
$a->page['aside'] = Markdown($home);
}
if(! strlen($text)) {
if (!strlen($text)) {
header($_SERVER["SERVER_PROTOCOL"] . ' 404 ' . t('Not Found'));
$tpl = get_markup_template("404.tpl");
return replace_macros($tpl, array(
'$message' => t('Page not found.' )
));
'$message' => t('Page not found.')
));
}
return Markdown($text);
$html = Markdown($text);
$html = "<style>.md_warning { padding: 1em; border: #ff0000 solid 2px; background-color: #f9a3a3; color: #ffffff;</style>".$html;
return $html;
}