From cafb4d62f4cc135c19e2428a44678a511e1eacbe Mon Sep 17 00:00:00 2001 From: Fabrixxm Date: Fri, 9 Nov 2012 02:43:22 -0500 Subject: [PATCH 1/3] a little bit of phpdoc --- boot.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/boot.php b/boot.php index 4bdf25d41..661ebf779 100644 --- a/boot.php +++ b/boot.php @@ -989,6 +989,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(); @@ -997,6 +1004,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(); From 1bc9f8b9924e484f9d47cd18bc52153a1658a4c4 Mon Sep 17 00:00:00 2001 From: Fabrixxm Date: Fri, 9 Nov 2012 03:56:45 -0500 Subject: [PATCH 2/3] help: load Home.md in aside when not in home,add new markdown syntax New markdown block "warning" ! line1 ! line2 will be rendered as

line1

line2

--- mod/help.php | 104 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 79 insertions(+), 25 deletions(-) diff --git a/mod/help.php b/mod/help.php index af05bd47c..44edbf931 100644 --- a/mod/help.php +++ b/mod/help.php @@ -1,47 +1,101 @@ 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
 content, 
+		# so we need to fix that:
+//		$bq = preg_replace_callback('{(\s*
.+?
)}sx', array(&$this, '__doBlockWarning_callback2'), $bq); + + return "\n" . $this->hashBlock("
\n$bq\n
") . "\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 = "".$html; + return $html; + } From 5541f396d8cee099ab5599de536568f8a93f9975 Mon Sep 17 00:00:00 2001 From: Fabrixxm Date: Fri, 9 Nov 2012 04:00:15 -0500 Subject: [PATCH 3/3] doc: add "Move account" basic documentation --- doc/Account-Basics.md | 2 ++ doc/Home.md | 1 + doc/Move-Account.md | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 doc/Move-Account.md diff --git a/doc/Account-Basics.md b/doc/Account-Basics.md index 41ca95b36..2c3c05e8b 100644 --- a/doc/Account-Basics.md +++ b/doc/Account-Basics.md @@ -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) diff --git a/doc/Home.md b/doc/Home.md index 1df74b5f2..7c86ce805 100644 --- a/doc/Home.md +++ b/doc/Home.md @@ -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) diff --git a/doc/Move-Account.md b/doc/Move-Account.md new file mode 100644 index 000000000..cb20f99b4 --- /dev/null +++ b/doc/Move-Account.md @@ -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. +