Merge branch 'master' of https://github.com/friendica/friendica
This commit is contained in:
commit
db2e20eb2e
289 changed files with 8076 additions and 12326 deletions
126
boot.php
126
boot.php
|
@ -12,7 +12,7 @@ require_once('library/Mobile_Detect/Mobile_Detect.php');
|
||||||
require_once('include/features.php');
|
require_once('include/features.php');
|
||||||
|
|
||||||
define ( 'FRIENDICA_PLATFORM', 'Friendica');
|
define ( 'FRIENDICA_PLATFORM', 'Friendica');
|
||||||
define ( 'FRIENDICA_VERSION', '3.2.1753' );
|
define ( 'FRIENDICA_VERSION', '3.2.1754' );
|
||||||
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
||||||
define ( 'DB_UPDATE_VERSION', 1173 );
|
define ( 'DB_UPDATE_VERSION', 1173 );
|
||||||
define ( 'EOL', "<br />\r\n" );
|
define ( 'EOL', "<br />\r\n" );
|
||||||
|
@ -796,7 +796,7 @@ if(! class_exists('App')) {
|
||||||
}
|
}
|
||||||
if ($name===""){
|
if ($name===""){
|
||||||
echo "template engine <tt>$class</tt> cannot be registered without a name.\n";
|
echo "template engine <tt>$class</tt> cannot be registered without a name.\n";
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
$this->template_engines[$name] = $class;
|
$this->template_engines[$name] = $class;
|
||||||
}
|
}
|
||||||
|
@ -804,7 +804,7 @@ if(! class_exists('App')) {
|
||||||
/**
|
/**
|
||||||
* return template engine instance. If $name is not defined,
|
* return template engine instance. If $name is not defined,
|
||||||
* return engine defined by theme, or default
|
* return engine defined by theme, or default
|
||||||
*
|
*
|
||||||
* @param strin $name Template engine name
|
* @param strin $name Template engine name
|
||||||
* @return object Template Engine instance
|
* @return object Template Engine instance
|
||||||
*/
|
*/
|
||||||
|
@ -1037,26 +1037,14 @@ if(! function_exists('update_db')) {
|
||||||
require_once("include/dbstructure.php");
|
require_once("include/dbstructure.php");
|
||||||
$retval = update_structure(false, true);
|
$retval = update_structure(false, true);
|
||||||
if($retval) {
|
if($retval) {
|
||||||
//send the administrator an e-mail
|
update_fail(
|
||||||
$email_tpl = get_intltext_template("update_fail_eml.tpl");
|
DB_UPDATE_VERSION,
|
||||||
$email_msg = replace_macros($email_tpl, array(
|
sprintf(t('Update %s failed. See error logs.'), DB_UPDATE_VERSION)
|
||||||
'$sitename' => $a->config['sitename'],
|
);
|
||||||
'$siteurl' => $a->get_baseurl(),
|
|
||||||
'$update' => DB_UPDATE_VERSION,
|
|
||||||
'$error' => sprintf(t('Update %s failed. See error logs.'), DB_UPDATE_VERSION)
|
|
||||||
));
|
|
||||||
$subject=sprintf(t('Update Error at %s'), $a->get_baseurl());
|
|
||||||
require_once('include/email.php');
|
|
||||||
$subject = email_header_encode($subject,'UTF-8');
|
|
||||||
mail($a->config['admin_email'], $subject, $email_msg,
|
|
||||||
'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME']."\n"
|
|
||||||
.'Content-type: text/plain; charset=UTF-8'."\n"
|
|
||||||
.'Content-transfer-encoding: 8bit');
|
|
||||||
//try the logger
|
|
||||||
logger("CRITICAL: Database structure update failed: ".$retval);
|
|
||||||
break;
|
break;
|
||||||
} else
|
} else {
|
||||||
set_config('database','dbupdate_'.DB_UPDATE_VERSION, 'success');
|
set_config('database','dbupdate_'.DB_UPDATE_VERSION, 'success');
|
||||||
|
}
|
||||||
|
|
||||||
for($x = $stored; $x < $current; $x ++) {
|
for($x = $stored; $x < $current; $x ++) {
|
||||||
if(function_exists('update_' . $x)) {
|
if(function_exists('update_' . $x)) {
|
||||||
|
@ -1080,22 +1068,10 @@ if(! function_exists('update_db')) {
|
||||||
$retval = $func();
|
$retval = $func();
|
||||||
if($retval) {
|
if($retval) {
|
||||||
//send the administrator an e-mail
|
//send the administrator an e-mail
|
||||||
$email_tpl = get_intltext_template("update_fail_eml.tpl");
|
update_fail(
|
||||||
$email_msg = replace_macros($email_tpl, array(
|
$x,
|
||||||
'$sitename' => $a->config['sitename'],
|
sprintf(t('Update %s failed. See error logs.'), $x)
|
||||||
'$siteurl' => $a->get_baseurl(),
|
);
|
||||||
'$update' => $x,
|
|
||||||
'$error' => sprintf( t('Update %s failed. See error logs.'), $x)
|
|
||||||
));
|
|
||||||
$subject=sprintf(t('Update Error at %s'), $a->get_baseurl());
|
|
||||||
require_once('include/email.php');
|
|
||||||
$subject = email_header_encode($subject,'UTF-8');
|
|
||||||
mail($a->config['admin_email'], $subject, $email_msg,
|
|
||||||
'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
|
|
||||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
|
||||||
. 'Content-transfer-encoding: 8bit' );
|
|
||||||
//try the logger
|
|
||||||
logger('CRITICAL: Update Failed: '. $x);
|
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
set_config('database','update_' . $x, 'success');
|
set_config('database','update_' . $x, 'success');
|
||||||
|
@ -1221,7 +1197,7 @@ if(! function_exists('login')) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$noid = get_config('system','no_openid');
|
$noid = get_config('system','no_openid');
|
||||||
|
|
||||||
$dest_url = $a->get_baseurl(true) . '/' . $a->query_string;
|
$dest_url = $a->get_baseurl(true) . '/' . $a->query_string;
|
||||||
|
|
||||||
if(local_user()) {
|
if(local_user()) {
|
||||||
|
@ -1242,18 +1218,18 @@ if(! function_exists('login')) {
|
||||||
'$dest_url' => $dest_url,
|
'$dest_url' => $dest_url,
|
||||||
'$logout' => t('Logout'),
|
'$logout' => t('Logout'),
|
||||||
'$login' => t('Login'),
|
'$login' => t('Login'),
|
||||||
|
|
||||||
'$lname' => array('username', t('Nickname or Email address: ') , '', ''),
|
'$lname' => array('username', t('Nickname or Email address: ') , '', ''),
|
||||||
'$lpassword' => array('password', t('Password: '), '', ''),
|
'$lpassword' => array('password', t('Password: '), '', ''),
|
||||||
'$lremember' => array('remember', t('Remember me'), 0, ''),
|
'$lremember' => array('remember', t('Remember me'), 0, ''),
|
||||||
|
|
||||||
'$openid' => !$noid,
|
'$openid' => !$noid,
|
||||||
'$lopenid' => array('openid_url', t('Or login using OpenID: '),'',''),
|
'$lopenid' => array('openid_url', t('Or login using OpenID: '),'',''),
|
||||||
|
|
||||||
'$hiddens' => $hiddens,
|
'$hiddens' => $hiddens,
|
||||||
|
|
||||||
'$register' => $reg,
|
'$register' => $reg,
|
||||||
|
|
||||||
'$lostpass' => t('Forgot your password?'),
|
'$lostpass' => t('Forgot your password?'),
|
||||||
'$lostlink' => t('Password Reset'),
|
'$lostlink' => t('Password Reset'),
|
||||||
|
|
||||||
|
@ -1316,9 +1292,9 @@ if(! function_exists('remote_user')) {
|
||||||
if(! function_exists('notice')) {
|
if(! function_exists('notice')) {
|
||||||
/**
|
/**
|
||||||
* Show an error message to user.
|
* Show an error message to user.
|
||||||
*
|
*
|
||||||
* This function save text in session, to be shown to the user at next page load
|
* This function save text in session, to be shown to the user at next page load
|
||||||
*
|
*
|
||||||
* @param string $s - Text of notice
|
* @param string $s - Text of notice
|
||||||
*/
|
*/
|
||||||
function notice($s) {
|
function notice($s) {
|
||||||
|
@ -1331,9 +1307,9 @@ if(! function_exists('notice')) {
|
||||||
if(! function_exists('info')) {
|
if(! function_exists('info')) {
|
||||||
/**
|
/**
|
||||||
* Show an info message to user.
|
* Show an info message to user.
|
||||||
*
|
*
|
||||||
* This function save text in session, to be shown to the user at next page load
|
* This function save text in session, to be shown to the user at next page load
|
||||||
*
|
*
|
||||||
* @param string $s - Text of notice
|
* @param string $s - Text of notice
|
||||||
*/
|
*/
|
||||||
function info($s) {
|
function info($s) {
|
||||||
|
@ -1757,7 +1733,7 @@ if(! function_exists('get_birthdays')) {
|
||||||
$rr['date'] = day_translate(datetime_convert('UTC', $a->timezone, $rr['start'], $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ? ' ' . t('[today]') : '');
|
$rr['date'] = day_translate(datetime_convert('UTC', $a->timezone, $rr['start'], $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ? ' ' . t('[today]') : '');
|
||||||
$rr['startime'] = Null;
|
$rr['startime'] = Null;
|
||||||
$rr['today'] = $today;
|
$rr['today'] = $today;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1832,7 +1808,7 @@ if(! function_exists('get_events')) {
|
||||||
|
|
||||||
$strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start']);
|
$strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start']);
|
||||||
$today = ((substr($strt,0,10) === datetime_convert('UTC',$a->timezone,'now','Y-m-d')) ? true : false);
|
$today = ((substr($strt,0,10) === datetime_convert('UTC',$a->timezone,'now','Y-m-d')) ? true : false);
|
||||||
|
|
||||||
$rr['link'] = $md;
|
$rr['link'] = $md;
|
||||||
$rr['title'] = $title;
|
$rr['title'] = $title;
|
||||||
$rr['date'] = day_translate(datetime_convert('UTC', $rr['adjust'] ? $a->timezone : 'UTC', $rr['start'], $bd_format)) . (($today) ? ' ' . t('[today]') : '');
|
$rr['date'] = day_translate(datetime_convert('UTC', $rr['adjust'] ? $a->timezone : 'UTC', $rr['start'], $bd_format)) . (($today) ? ' ' . t('[today]') : '');
|
||||||
|
@ -1892,7 +1868,7 @@ if(! function_exists('proc_run')) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$args = $newargs;
|
$args = $newargs;
|
||||||
|
|
||||||
$arr = array('args' => $args, 'run_cmd' => true);
|
$arr = array('args' => $args, 'run_cmd' => true);
|
||||||
|
|
||||||
call_hooks("proc_run", $arr);
|
call_hooks("proc_run", $arr);
|
||||||
|
@ -1901,14 +1877,14 @@ if(! function_exists('proc_run')) {
|
||||||
|
|
||||||
if(count($args) && $args[0] === 'php')
|
if(count($args) && $args[0] === 'php')
|
||||||
$args[0] = ((x($a->config,'php_path')) && (strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
|
$args[0] = ((x($a->config,'php_path')) && (strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
|
||||||
|
|
||||||
// add baseurl to args. cli scripts can't construct it
|
// add baseurl to args. cli scripts can't construct it
|
||||||
$args[] = $a->get_baseurl();
|
$args[] = $a->get_baseurl();
|
||||||
|
|
||||||
for($x = 0; $x < count($args); $x ++)
|
for($x = 0; $x < count($args); $x ++)
|
||||||
$args[$x] = escapeshellarg($args[$x]);
|
$args[$x] = escapeshellarg($args[$x]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$cmdline = implode($args," ");
|
$cmdline = implode($args," ");
|
||||||
if(get_config('system','proc_windows'))
|
if(get_config('system','proc_windows'))
|
||||||
|
@ -1921,9 +1897,9 @@ if(! function_exists('proc_run')) {
|
||||||
if(! function_exists('current_theme')) {
|
if(! function_exists('current_theme')) {
|
||||||
function current_theme(){
|
function current_theme(){
|
||||||
$app_base_themes = array('duepuntozero', 'dispy', 'quattro');
|
$app_base_themes = array('duepuntozero', 'dispy', 'quattro');
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
// $mobile_detect = new Mobile_Detect();
|
// $mobile_detect = new Mobile_Detect();
|
||||||
// $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
|
// $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
|
||||||
$is_mobile = $a->is_mobile || $a->is_tablet;
|
$is_mobile = $a->is_mobile || $a->is_tablet;
|
||||||
|
@ -1953,17 +1929,17 @@ if(! function_exists('current_theme')) {
|
||||||
(file_exists('view/theme/' . $theme_name . '/style.css') ||
|
(file_exists('view/theme/' . $theme_name . '/style.css') ||
|
||||||
file_exists('view/theme/' . $theme_name . '/style.php')))
|
file_exists('view/theme/' . $theme_name . '/style.php')))
|
||||||
return($theme_name);
|
return($theme_name);
|
||||||
|
|
||||||
foreach($app_base_themes as $t) {
|
foreach($app_base_themes as $t) {
|
||||||
if(file_exists('view/theme/' . $t . '/style.css')||
|
if(file_exists('view/theme/' . $t . '/style.css')||
|
||||||
file_exists('view/theme/' . $t . '/style.php'))
|
file_exists('view/theme/' . $t . '/style.php'))
|
||||||
return($t);
|
return($t);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fallback = array_merge(glob('view/theme/*/style.css'),glob('view/theme/*/style.php'));
|
$fallback = array_merge(glob('view/theme/*/style.css'),glob('view/theme/*/style.php'));
|
||||||
if(count($fallback))
|
if(count($fallback))
|
||||||
return (str_replace('view/theme/','', substr($fallback[0],0,-10)));
|
return (str_replace('view/theme/','', substr($fallback[0],0,-10)));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2003,7 +1979,7 @@ if(! function_exists('feed_birthday')) {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
$birthday = '';
|
$birthday = '';
|
||||||
|
|
||||||
if(! strlen($tz))
|
if(! strlen($tz))
|
||||||
|
@ -2073,13 +2049,13 @@ if(! function_exists('load_contact_links')) {
|
||||||
if(! function_exists('profile_tabs')){
|
if(! function_exists('profile_tabs')){
|
||||||
function profile_tabs($a, $is_owner=False, $nickname=Null){
|
function profile_tabs($a, $is_owner=False, $nickname=Null){
|
||||||
//echo "<pre>"; var_dump($a->user); killme();
|
//echo "<pre>"; var_dump($a->user); killme();
|
||||||
|
|
||||||
if (is_null($nickname))
|
if (is_null($nickname))
|
||||||
$nickname = $a->user['nickname'];
|
$nickname = $a->user['nickname'];
|
||||||
|
|
||||||
if(x($_GET,'tab'))
|
if(x($_GET,'tab'))
|
||||||
$tab = notags(trim($_GET['tab']));
|
$tab = notags(trim($_GET['tab']));
|
||||||
|
|
||||||
$url = $a->get_baseurl() . '/profile/' . $nickname;
|
$url = $a->get_baseurl() . '/profile/' . $nickname;
|
||||||
|
|
||||||
$tabs = array(
|
$tabs = array(
|
||||||
|
@ -2112,7 +2088,7 @@ if(! function_exists('profile_tabs')){
|
||||||
'id' => 'video-tab',
|
'id' => 'video-tab',
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($is_owner){
|
if ($is_owner){
|
||||||
$tabs[] = array(
|
$tabs[] = array(
|
||||||
'label' => t('Events'),
|
'label' => t('Events'),
|
||||||
|
@ -2133,7 +2109,7 @@ if(! function_exists('profile_tabs')){
|
||||||
|
|
||||||
$arr = array('is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => (($tab) ? $tab : false), 'tabs' => $tabs);
|
$arr = array('is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => (($tab) ? $tab : false), 'tabs' => $tabs);
|
||||||
call_hooks('profile_tabs', $arr);
|
call_hooks('profile_tabs', $arr);
|
||||||
|
|
||||||
$tpl = get_markup_template('common_tabs.tpl');
|
$tpl = get_markup_template('common_tabs.tpl');
|
||||||
|
|
||||||
return replace_macros($tpl,array('$tabs' => $arr['tabs']));
|
return replace_macros($tpl,array('$tabs' => $arr['tabs']));
|
||||||
|
@ -2172,28 +2148,28 @@ function zrl($s,$force = false) {
|
||||||
/**
|
/**
|
||||||
* returns querystring as string from a mapped array
|
* returns querystring as string from a mapped array
|
||||||
*
|
*
|
||||||
* @param params Array
|
* @param params Array
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function build_querystring($params, $name=null) {
|
function build_querystring($params, $name=null) {
|
||||||
$ret = "";
|
$ret = "";
|
||||||
foreach($params as $key=>$val) {
|
foreach($params as $key=>$val) {
|
||||||
if(is_array($val)) {
|
if(is_array($val)) {
|
||||||
if($name==null) {
|
if($name==null) {
|
||||||
$ret .= build_querystring($val, $key);
|
$ret .= build_querystring($val, $key);
|
||||||
} else {
|
} else {
|
||||||
$ret .= build_querystring($val, $name."[$key]");
|
$ret .= build_querystring($val, $name."[$key]");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$val = urlencode($val);
|
$val = urlencode($val);
|
||||||
if($name!=null) {
|
if($name!=null) {
|
||||||
$ret.=$name."[$key]"."=$val&";
|
$ret.=$name."[$key]"."=$val&";
|
||||||
} else {
|
} else {
|
||||||
$ret.= "$key=$val&";
|
$ret.= "$key=$val&";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
function explode_querystring($query) {
|
function explode_querystring($query) {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
require_once('include/email.php');
|
require_once('include/email.php');
|
||||||
|
|
||||||
class EmailNotification {
|
class Emailer {
|
||||||
/**
|
/**
|
||||||
* Send a multipart/alternative message with Text and HTML versions
|
* Send a multipart/alternative message with Text and HTML versions
|
||||||
*
|
*
|
||||||
|
@ -13,13 +13,13 @@ class EmailNotification {
|
||||||
* @param messageSubject subject of the message
|
* @param messageSubject subject of the message
|
||||||
* @param htmlVersion html version of the message
|
* @param htmlVersion html version of the message
|
||||||
* @param textVersion text only version of the message
|
* @param textVersion text only version of the message
|
||||||
|
* @param additionalMailHeader additions to the smtp mail header
|
||||||
*/
|
*/
|
||||||
static public function sendTextHtmlEmail($fromName,$fromEmail,$replyTo,$toEmail,$messageSubject,$htmlVersion,$textVersion) {
|
static public function send($params) {
|
||||||
|
|
||||||
|
$fromName = email_header_encode(html_entity_decode($params['fromName'],ENT_QUOTES,'UTF-8'),'UTF-8');
|
||||||
|
$messageSubject = email_header_encode(html_entity_decode($params['messageSubject'],ENT_QUOTES,'UTF-8'),'UTF-8');
|
||||||
|
|
||||||
$fromName = email_header_encode($fromName,'UTF-8');
|
|
||||||
$messageSubject = email_header_encode($messageSubject,'UTF-8');
|
|
||||||
|
|
||||||
|
|
||||||
// generate a mime boundary
|
// generate a mime boundary
|
||||||
$mimeBoundary =rand(0,9)."-"
|
$mimeBoundary =rand(0,9)."-"
|
||||||
.rand(10000000000,9999999999)."-"
|
.rand(10000000000,9999999999)."-"
|
||||||
|
@ -28,14 +28,15 @@ class EmailNotification {
|
||||||
|
|
||||||
// generate a multipart/alternative message header
|
// generate a multipart/alternative message header
|
||||||
$messageHeader =
|
$messageHeader =
|
||||||
"From: {$fromName} <{$fromEmail}>\n" .
|
$params['additionalMailHeader'] .
|
||||||
"Reply-To: {$replyTo}\n" .
|
"From: $fromName <{$params['fromEmail']}>\n" .
|
||||||
|
"Reply-To: $fromName <{$params['replyTo']}>\n" .
|
||||||
"MIME-Version: 1.0\n" .
|
"MIME-Version: 1.0\n" .
|
||||||
"Content-Type: multipart/alternative; boundary=\"{$mimeBoundary}\"";
|
"Content-Type: multipart/alternative; boundary=\"{$mimeBoundary}\"";
|
||||||
|
|
||||||
// assemble the final multipart message body with the text and html types included
|
// assemble the final multipart message body with the text and html types included
|
||||||
$textBody = chunk_split(base64_encode($textVersion));
|
$textBody = chunk_split(base64_encode($params['textVersion']));
|
||||||
$htmlBody = chunk_split(base64_encode($htmlVersion));
|
$htmlBody = chunk_split(base64_encode($params['htmlVersion']));
|
||||||
$multipartMessageBody =
|
$multipartMessageBody =
|
||||||
"--" . $mimeBoundary . "\n" . // plain text section
|
"--" . $mimeBoundary . "\n" . // plain text section
|
||||||
"Content-Type: text/plain; charset=UTF-8\n" .
|
"Content-Type: text/plain; charset=UTF-8\n" .
|
||||||
|
@ -49,12 +50,13 @@ class EmailNotification {
|
||||||
|
|
||||||
// send the message
|
// send the message
|
||||||
$res = mail(
|
$res = mail(
|
||||||
$toEmail, // send to address
|
$params['toEmail'], // send to address
|
||||||
$messageSubject, // subject
|
$messageSubject, // subject
|
||||||
$multipartMessageBody, // message body
|
$multipartMessageBody, // message body
|
||||||
$messageHeader // message headers
|
$messageHeader // message headers
|
||||||
);
|
);
|
||||||
logger("sendTextHtmlEmail: END");
|
logger("header " . 'To: ' . $params['toEmail'] . "\n" . $messageHeader, LOGGER_DEBUG);
|
||||||
|
logger("return value " . (($res)?"true":"false"), LOGGER_DEBUG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
|
@ -1,5 +1,66 @@
|
||||||
<?php
|
<?php
|
||||||
require_once("boot.php");
|
require_once("boot.php");
|
||||||
|
require_once("include/text.php");
|
||||||
|
/*
|
||||||
|
* send the email and do what is needed to do on update fails
|
||||||
|
*
|
||||||
|
* @param update_id (int) number of failed update
|
||||||
|
* @param error_message (str) error message
|
||||||
|
*/
|
||||||
|
function update_fail($update_id, $error_message){
|
||||||
|
//send the administrators an e-mail
|
||||||
|
$admin_mail_list = "'".implode("','", array_map(dbesc, explode(",", str_replace(" ", "", $a->config['admin_email']))))."'";
|
||||||
|
$adminlist = q("SELECT uid, language, email FROM user WHERE email IN (%s)",
|
||||||
|
$admin_mail_list
|
||||||
|
);
|
||||||
|
|
||||||
|
// every admin could had different language
|
||||||
|
|
||||||
|
foreach ($adminlist as $admin) {
|
||||||
|
$lang = (($admin['language'])?$admin['language']:'en');
|
||||||
|
push_lang($lang);
|
||||||
|
|
||||||
|
$preamble = deindent(t("
|
||||||
|
The friendica developers released update %s recently,
|
||||||
|
but when I tried to install it, something went terribly wrong.
|
||||||
|
This needs to be fixed soon and I can't do it alone. Please contact a
|
||||||
|
friendica developer if you can not help me on your own. My database might be invalid."));
|
||||||
|
$body = t("The error message is\n[pre]%s[/pre]");
|
||||||
|
$preamble = sprintf($preamble, $update_id);
|
||||||
|
$body = sprintf($body, $error_message);
|
||||||
|
|
||||||
|
notification(array(
|
||||||
|
'type' => "SYSTEM_EMAIL",
|
||||||
|
'to_email' => $admin['email'],
|
||||||
|
'preamble' => $preamble,
|
||||||
|
'body' => $body,
|
||||||
|
'language' => $lang,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
$email_tpl = get_intltext_template("update_fail_eml.tpl");
|
||||||
|
$email_msg = replace_macros($email_tpl, array(
|
||||||
|
'$sitename' => $a->config['sitename'],
|
||||||
|
'$siteurl' => $a->get_baseurl(),
|
||||||
|
'$update' => DB_UPDATE_VERSION,
|
||||||
|
'$error' => sprintf(t('Update %s failed. See error logs.'), DB_UPDATE_VERSION)
|
||||||
|
));
|
||||||
|
$subject=sprintf(t('Update Error at %s'), $a->get_baseurl());
|
||||||
|
require_once('include/email.php');
|
||||||
|
$subject = email_header_encode($subject,'UTF-8');
|
||||||
|
mail($a->config['admin_email'], $subject, $email_msg,
|
||||||
|
'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME']."\n"
|
||||||
|
.'Content-type: text/plain; charset=UTF-8'."\n"
|
||||||
|
.'Content-transfer-encoding: 8bit');
|
||||||
|
*/
|
||||||
|
//try the logger
|
||||||
|
logger("CRITICAL: Database structure update failed: ".$retval);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
function dbstructure_run(&$argv, &$argc) {
|
function dbstructure_run(&$argv, &$argc) {
|
||||||
global $a, $db;
|
global $a, $db;
|
||||||
|
|
|
@ -249,6 +249,12 @@ function email_header_encode($in_str, $charset) {
|
||||||
return $out_str;
|
return $out_str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* email_send is used by NETWORK_EMAIL and NETWORK_EMAIL2 code
|
||||||
|
* (not to notify the user, but to send items to email contacts
|
||||||
|
*
|
||||||
|
* TODO: this could be changed to use the Emailer class
|
||||||
|
*/
|
||||||
function email_send($addr, $subject, $headers, $item) {
|
function email_send($addr, $subject, $headers, $item) {
|
||||||
//$headers .= 'MIME-Version: 1.0' . "\n";
|
//$headers .= 'MIME-Version: 1.0' . "\n";
|
||||||
//$headers .= 'Content-Type: text/html; charset=UTF-8' . "\n";
|
//$headers .= 'Content-Type: text/html; charset=UTF-8' . "\n";
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
|
require_once('include/Emailer.php');
|
||||||
require_once('include/email.php');
|
require_once('include/email.php');
|
||||||
|
require_once('include/bbcode.php');
|
||||||
|
require_once('include/html2bbcode.php');
|
||||||
|
|
||||||
function notification($params) {
|
function notification($params) {
|
||||||
|
|
||||||
logger('notification: entry', LOGGER_DEBUG);
|
#logger('notification()', LOGGER_DEBUG);
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
|
@ -26,8 +28,13 @@ function notification($params) {
|
||||||
$hostname = substr($hostname,0,strpos($hostname,':'));
|
$hostname = substr($hostname,0,strpos($hostname,':'));
|
||||||
|
|
||||||
$sender_email = t('noreply') . '@' . $hostname;
|
$sender_email = t('noreply') . '@' . $hostname;
|
||||||
$additional_mail_header = "";
|
|
||||||
|
|
||||||
|
// with $params['show_in_notification_page'] == false, the notification isn't inserted into
|
||||||
|
// the database, and an email is sent if applicable.
|
||||||
|
// default, if not specified: true
|
||||||
|
$show_in_notification_page = ((x($params,'show_in_notification_page')) ? $params['show_in_notification_page']:True);
|
||||||
|
|
||||||
|
$additional_mail_header = "";
|
||||||
$additional_mail_header .= "Precedence: list\n";
|
$additional_mail_header .= "Precedence: list\n";
|
||||||
$additional_mail_header .= "X-Friendica-Host: ".$hostname."\n";
|
$additional_mail_header .= "X-Friendica-Host: ".$hostname."\n";
|
||||||
$additional_mail_header .= "X-Friendica-Platform: ".FRIENDICA_PLATFORM."\n";
|
$additional_mail_header .= "X-Friendica-Platform: ".FRIENDICA_PLATFORM."\n";
|
||||||
|
@ -35,6 +42,7 @@ function notification($params) {
|
||||||
$additional_mail_header .= "List-ID: <notification.".$hostname.">\n";
|
$additional_mail_header .= "List-ID: <notification.".$hostname.">\n";
|
||||||
$additional_mail_header .= "List-Archive: <".$a->get_baseurl()."/notifications/system>\n";
|
$additional_mail_header .= "List-Archive: <".$a->get_baseurl()."/notifications/system>\n";
|
||||||
|
|
||||||
|
|
||||||
if(array_key_exists('item',$params)) {
|
if(array_key_exists('item',$params)) {
|
||||||
$title = $params['item']['title'];
|
$title = $params['item']['title'];
|
||||||
$body = $params['item']['body'];
|
$body = $params['item']['body'];
|
||||||
|
@ -223,6 +231,30 @@ function notification($params) {
|
||||||
$tsitelink = sprintf( $sitelink, $siteurl );
|
$tsitelink = sprintf( $sitelink, $siteurl );
|
||||||
$hsitelink = sprintf( $sitelink, '<a href="' . $siteurl . '">' . $sitename . '</a>');
|
$hsitelink = sprintf( $sitelink, '<a href="' . $siteurl . '">' . $sitename . '</a>');
|
||||||
$itemlink = $params['link'];
|
$itemlink = $params['link'];
|
||||||
|
|
||||||
|
switch ($params['verb']) {
|
||||||
|
case ACTIVITY_FRIEND:
|
||||||
|
// someone started to share with user (mostly OStatus)
|
||||||
|
$subject = sprintf( t('[Friendica:Notify] A new person is sharing with you'));
|
||||||
|
$preamble = sprintf( t('%1$s is sharing with you at %2$s'), $params['source_name'], $sitename);
|
||||||
|
$epreamble = sprintf( t('%1$s is sharing with you at %2$s'),
|
||||||
|
'[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]',
|
||||||
|
$sitename);
|
||||||
|
break;
|
||||||
|
case ACTIVITY_FOLLOW:
|
||||||
|
// someone started to follow the user (mostly OStatus)
|
||||||
|
$subject = sprintf( t('[Friendica:Notify] You have a new follower'));
|
||||||
|
$preamble = sprintf( t('You have a new follower at %2$s : %1$s'), $params['source_name'], $sitename);
|
||||||
|
$epreamble = sprintf( t('You have a new follower at %2$s : %1$s'),
|
||||||
|
'[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]',
|
||||||
|
$sitename);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// ACTIVITY_REQ_FRIEND is default activity for notifications
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($params['type'] == NOTIFY_SUGGEST) {
|
if($params['type'] == NOTIFY_SUGGEST) {
|
||||||
|
@ -244,12 +276,81 @@ function notification($params) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if($params['type'] == NOTIFY_CONFIRM) {
|
if($params['type'] == NOTIFY_CONFIRM) {
|
||||||
|
if ($params['verb'] == ACTIVITY_FRIEND ){ // mutual connection
|
||||||
|
$subject = sprintf( t('[Friendica:Notify] Connection accepted'));
|
||||||
|
$preamble = sprintf( t('\'%1$s\' has acepted your connection request at %2$s'), $params['source_name'], $sitename);
|
||||||
|
$epreamble = sprintf( t('%2$s has accepted your [url=%1$s]connection request[/url].'),
|
||||||
|
$itemlink,
|
||||||
|
'[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]');
|
||||||
|
$body = t('You are now mutual friends and may exchange status updates, photos, and email
|
||||||
|
without restriction.');
|
||||||
|
|
||||||
|
$sitelink = t('Please visit %s if you wish to make any changes to this relationship.');
|
||||||
|
$tsitelink = sprintf( $sitelink, $siteurl );
|
||||||
|
$hsitelink = sprintf( $sitelink, '<a href="' . $siteurl . '">' . $sitename . '</a>');
|
||||||
|
$itemlink = $params['link'];
|
||||||
|
} else { // ACTIVITY_FOLLOW
|
||||||
|
$subject = sprintf( t('[Friendica:Notify] Connection accepted'));
|
||||||
|
$preamble = sprintf( t('\'%1$s\' has acepted your connection request at %2$s'), $params['source_name'], $sitename);
|
||||||
|
$epreamble = sprintf( t('%2$s has accepted your [url=%1$s]connection request[/url].'),
|
||||||
|
$itemlink,
|
||||||
|
'[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]');
|
||||||
|
$body = sprintf(t('\'%1$s\' has chosen to accept you a "fan", which restricts some forms of communication - such as private messaging and some profile interactions. If this is a celebrity or community page, these settings were applied automatically.'), $params['source_name']);
|
||||||
|
$body .= "\n\n";
|
||||||
|
$body .= sprintf(t('\'%1$s\' may choose to extend this into a two-way or more permissive relationship in the future. '), $params['source_name']);
|
||||||
|
|
||||||
|
$sitelink = t('Please visit %s if you wish to make any changes to this relationship.');
|
||||||
|
$tsitelink = sprintf( $sitelink, $siteurl );
|
||||||
|
$hsitelink = sprintf( $sitelink, '<a href="' . $siteurl . '">' . $sitename . '</a>');
|
||||||
|
$itemlink = $params['link'];
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($params['type'] == NOTIFY_SYSTEM) {
|
if($params['type'] == NOTIFY_SYSTEM) {
|
||||||
|
switch($params['event']) {
|
||||||
|
case "SYSTEM_REGISTER_REQUEST":
|
||||||
|
$subject = sprintf( t('[Friendica System:Notify] registration request'));
|
||||||
|
$preamble = sprintf( t('You\'ve received a registration request from \'%1$s\' at %2$s'), $params['source_name'], $sitename);
|
||||||
|
$epreamble = sprintf( t('You\'ve received a [url=%1$s]registration request[/url] from %2$s.'),
|
||||||
|
$itemlink,
|
||||||
|
'[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]');
|
||||||
|
$body = sprintf( t('Full Name: %1$s\nSite Location: %2$s\nLogin Name: %3$s (%4$s)'),
|
||||||
|
$params['source_name'], $siteurl, $params['source_mail'], $params['source_nick']);
|
||||||
|
|
||||||
|
$sitelink = t('Please visit %s to approve or reject the request.');
|
||||||
|
$tsitelink = sprintf( $sitelink, $params['link'] );
|
||||||
|
$hsitelink = sprintf( $sitelink, '<a href="' . $params['link'] . '">' . $sitename . '</a>');
|
||||||
|
$itemlink = $params['link'];
|
||||||
|
break;
|
||||||
|
case "SYSTEM_DB_UPDATE_FAIL":
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($params['type'] == "SYSTEM_EMAIL"){
|
||||||
|
// not part of the notifications.
|
||||||
|
// it just send a mail to the user.
|
||||||
|
// It will be used by the system to send emails to users (like
|
||||||
|
// password reset, invitations and so) using one look (but without
|
||||||
|
// add a notification to the user, with could be inexistent)
|
||||||
|
$subject = $params['subject'];
|
||||||
|
$preamble = $params['preamble'];
|
||||||
|
if (x($params,'epreamble')){
|
||||||
|
$epreamble = $params['epreamble'];
|
||||||
|
} else {
|
||||||
|
$epreamble = str_replace("\n","<br>\n",$preamble);
|
||||||
|
}
|
||||||
|
$body = $params['body'];
|
||||||
|
$sitelink = "";
|
||||||
|
$tsitelink = "";
|
||||||
|
$hsitelink = "";
|
||||||
|
$itemlink = "";
|
||||||
|
$show_in_notification_page = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$h = array(
|
$h = array(
|
||||||
'params' => $params,
|
'params' => $params,
|
||||||
'subject' => $subject,
|
'subject' => $subject,
|
||||||
|
@ -274,114 +375,110 @@ function notification($params) {
|
||||||
$itemlink = $h['itemlink'];
|
$itemlink = $h['itemlink'];
|
||||||
|
|
||||||
|
|
||||||
require_once('include/html2bbcode.php');
|
|
||||||
|
|
||||||
do {
|
if ($show_in_notification_page) {
|
||||||
$dups = false;
|
logger("adding notification entry", LOGGER_DEBUG);
|
||||||
$hash = random_string();
|
do {
|
||||||
$r = q("SELECT `id` FROM `notify` WHERE `hash` = '%s' LIMIT 1",
|
$dups = false;
|
||||||
dbesc($hash));
|
$hash = random_string();
|
||||||
if(count($r))
|
$r = q("SELECT `id` FROM `notify` WHERE `hash` = '%s' LIMIT 1",
|
||||||
$dups = true;
|
dbesc($hash));
|
||||||
} while($dups == true);
|
if(count($r))
|
||||||
|
$dups = true;
|
||||||
|
} while($dups == true);
|
||||||
|
|
||||||
|
|
||||||
$datarray = array();
|
$datarray = array();
|
||||||
$datarray['hash'] = $hash;
|
$datarray['hash'] = $hash;
|
||||||
$datarray['name'] = $params['source_name'];
|
$datarray['name'] = $params['source_name'];
|
||||||
$datarray['url'] = $params['source_link'];
|
$datarray['url'] = $params['source_link'];
|
||||||
$datarray['photo'] = $params['source_photo'];
|
$datarray['photo'] = $params['source_photo'];
|
||||||
$datarray['date'] = datetime_convert();
|
$datarray['date'] = datetime_convert();
|
||||||
$datarray['uid'] = $params['uid'];
|
$datarray['uid'] = $params['uid'];
|
||||||
$datarray['link'] = $itemlink;
|
$datarray['link'] = $itemlink;
|
||||||
$datarray['parent'] = $parent_id;
|
$datarray['parent'] = $parent_id;
|
||||||
$datarray['type'] = $params['type'];
|
$datarray['type'] = $params['type'];
|
||||||
$datarray['verb'] = $params['verb'];
|
$datarray['verb'] = $params['verb'];
|
||||||
$datarray['otype'] = $params['otype'];
|
$datarray['otype'] = $params['otype'];
|
||||||
$datarray['abort'] = false;
|
$datarray['abort'] = false;
|
||||||
|
|
||||||
call_hooks('enotify_store', $datarray);
|
call_hooks('enotify_store', $datarray);
|
||||||
|
|
||||||
if($datarray['abort']) {
|
if($datarray['abort']) {
|
||||||
pop_lang();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// create notification entry in DB
|
|
||||||
|
|
||||||
$r = q("insert into notify (hash,name,url,photo,date,uid,link,parent,type,verb,otype)
|
|
||||||
values('%s','%s','%s','%s','%s',%d,'%s',%d,%d,'%s','%s')",
|
|
||||||
dbesc($datarray['hash']),
|
|
||||||
dbesc($datarray['name']),
|
|
||||||
dbesc($datarray['url']),
|
|
||||||
dbesc($datarray['photo']),
|
|
||||||
dbesc($datarray['date']),
|
|
||||||
intval($datarray['uid']),
|
|
||||||
dbesc($datarray['link']),
|
|
||||||
intval($datarray['parent']),
|
|
||||||
intval($datarray['type']),
|
|
||||||
dbesc($datarray['verb']),
|
|
||||||
dbesc($datarray['otype'])
|
|
||||||
);
|
|
||||||
|
|
||||||
$r = q("select id from notify where hash = '%s' and uid = %d limit 1",
|
|
||||||
dbesc($hash),
|
|
||||||
intval($params['uid'])
|
|
||||||
);
|
|
||||||
if($r)
|
|
||||||
$notify_id = $r[0]['id'];
|
|
||||||
else {
|
|
||||||
pop_lang();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// we seem to have a lot of duplicate comment notifications due to race conditions, mostly from forums
|
|
||||||
// After we've stored everything, look again to see if there are any duplicates and if so remove them
|
|
||||||
|
|
||||||
$p = null;
|
|
||||||
$p = q("select id from notify where ( type = %d or type = %d ) and link = '%s' and uid = %d order by id",
|
|
||||||
intval(NOTIFY_TAGSELF),
|
|
||||||
intval(NOTIFY_COMMENT),
|
|
||||||
dbesc($params['link']),
|
|
||||||
intval($params['uid'])
|
|
||||||
);
|
|
||||||
if($p && (count($p) > 1)) {
|
|
||||||
for ($d = 1; $d < count($p); $d ++) {
|
|
||||||
q("delete from notify where id = %d",
|
|
||||||
intval($p[$d]['id'])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// only continue on if we stored the first one
|
|
||||||
|
|
||||||
if($notify_id != $p[0]['id']) {
|
|
||||||
pop_lang();
|
pop_lang();
|
||||||
return;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// create notification entry in DB
|
||||||
|
|
||||||
|
$r = q("insert into notify (hash,name,url,photo,date,uid,link,parent,type,verb,otype)
|
||||||
|
values('%s','%s','%s','%s','%s',%d,'%s',%d,%d,'%s','%s')",
|
||||||
|
dbesc($datarray['hash']),
|
||||||
|
dbesc($datarray['name']),
|
||||||
|
dbesc($datarray['url']),
|
||||||
|
dbesc($datarray['photo']),
|
||||||
|
dbesc($datarray['date']),
|
||||||
|
intval($datarray['uid']),
|
||||||
|
dbesc($datarray['link']),
|
||||||
|
intval($datarray['parent']),
|
||||||
|
intval($datarray['type']),
|
||||||
|
dbesc($datarray['verb']),
|
||||||
|
dbesc($datarray['otype'])
|
||||||
|
);
|
||||||
|
|
||||||
|
$r = q("select id from notify where hash = '%s' and uid = %d limit 1",
|
||||||
|
dbesc($hash),
|
||||||
|
intval($params['uid'])
|
||||||
|
);
|
||||||
|
if($r)
|
||||||
|
$notify_id = $r[0]['id'];
|
||||||
|
else {
|
||||||
|
pop_lang();
|
||||||
|
return False;
|
||||||
|
}
|
||||||
|
|
||||||
|
// we seem to have a lot of duplicate comment notifications due to race conditions, mostly from forums
|
||||||
|
// After we've stored everything, look again to see if there are any duplicates and if so remove them
|
||||||
|
|
||||||
|
$p = null;
|
||||||
|
$p = q("select id from notify where ( type = %d or type = %d ) and link = '%s' and uid = %d order by id",
|
||||||
|
intval(NOTIFY_TAGSELF),
|
||||||
|
intval(NOTIFY_COMMENT),
|
||||||
|
dbesc($params['link']),
|
||||||
|
intval($params['uid'])
|
||||||
|
);
|
||||||
|
if($p && (count($p) > 1)) {
|
||||||
|
for ($d = 1; $d < count($p); $d ++) {
|
||||||
|
q("delete from notify where id = %d",
|
||||||
|
intval($p[$d]['id'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// only continue on if we stored the first one
|
||||||
|
|
||||||
|
if($notify_id != $p[0]['id']) {
|
||||||
|
pop_lang();
|
||||||
|
return False;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$itemlink = $a->get_baseurl() . '/notify/view/' . $notify_id;
|
||||||
|
$msg = replace_macros($epreamble,array('$itemlink' => $itemlink));
|
||||||
|
$r = q("update notify set msg = '%s' where id = %d and uid = %d",
|
||||||
|
dbesc($msg),
|
||||||
|
intval($notify_id),
|
||||||
|
intval($params['uid'])
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$itemlink = $a->get_baseurl() . '/notify/view/' . $notify_id;
|
|
||||||
$msg = replace_macros($epreamble,array('$itemlink' => $itemlink));
|
|
||||||
$r = q("update notify set msg = '%s' where id = %d and uid = %d",
|
|
||||||
dbesc($msg),
|
|
||||||
intval($notify_id),
|
|
||||||
intval($params['uid'])
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// send email notification if notification preferences permit
|
// send email notification if notification preferences permit
|
||||||
|
if((intval($params['notify_flags']) & intval($params['type']))
|
||||||
|
|| $params['type'] == NOTIFY_SYSTEM
|
||||||
|
|| $params['type'] == "SYSTEM_EMAIL") {
|
||||||
|
|
||||||
require_once('include/bbcode.php');
|
logger('sending notification email');
|
||||||
if((intval($params['notify_flags']) & intval($params['type'])) || $params['type'] == NOTIFY_SYSTEM) {
|
|
||||||
|
|
||||||
logger('notification: sending notification email');
|
|
||||||
|
|
||||||
if (isset($params['parent']) AND (intval($params['parent']) != 0)) {
|
if (isset($params['parent']) AND (intval($params['parent']) != 0)) {
|
||||||
$id_for_parent = $params['parent']."@".$hostname;
|
$id_for_parent = $params['parent']."@".$hostname;
|
||||||
|
@ -410,16 +507,18 @@ function notification($params) {
|
||||||
} else {
|
} else {
|
||||||
// If not, just "follow" the thread.
|
// If not, just "follow" the thread.
|
||||||
$additional_mail_header .= "References: <${id_for_parent}>\nIn-Reply-To: <${id_for_parent}>\n";
|
$additional_mail_header .= "References: <${id_for_parent}>\nIn-Reply-To: <${id_for_parent}>\n";
|
||||||
logger("include/enotify: There's already a notification for this parent:\n" . print_r($r, true), LOGGER_DEBUG);
|
logger("There's already a notification for this parent:\n" . print_r($r, true), LOGGER_DEBUG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$textversion = strip_tags(html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r", "\\n"), "\n",
|
// textversion keeps linebreaks
|
||||||
$body))),ENT_QUOTES,'UTF-8'));
|
$textversion = strip_tags(str_replace("<br>","\n",html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r", "\\n"), "\n",
|
||||||
|
$body))),ENT_QUOTES,'UTF-8')));
|
||||||
$htmlversion = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"),
|
$htmlversion = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"),
|
||||||
"<br />\n",$body))),ENT_QUOTES,'UTF-8');
|
"<br />\n",$body))),ENT_QUOTES,'UTF-8');
|
||||||
|
|
||||||
|
|
||||||
$datarray = array();
|
$datarray = array();
|
||||||
$datarray['banner'] = $banner;
|
$datarray['banner'] = $banner;
|
||||||
$datarray['product'] = $product;
|
$datarray['product'] = $product;
|
||||||
|
@ -494,9 +593,9 @@ function notification($params) {
|
||||||
|
|
||||||
// logger('text: ' . $email_text_body);
|
// logger('text: ' . $email_text_body);
|
||||||
|
|
||||||
// use the EmailNotification library to send the message
|
// use the Emailer class to send the message
|
||||||
|
|
||||||
enotify::send(array(
|
Emailer::send(array(
|
||||||
'fromName' => $sender_name,
|
'fromName' => $sender_name,
|
||||||
'fromEmail' => $sender_email,
|
'fromEmail' => $sender_email,
|
||||||
'replyTo' => $sender_email,
|
'replyTo' => $sender_email,
|
||||||
|
@ -506,69 +605,11 @@ function notification($params) {
|
||||||
'textVersion' => $email_text_body,
|
'textVersion' => $email_text_body,
|
||||||
'additionalMailHeader' => $datarray['headers'],
|
'additionalMailHeader' => $datarray['headers'],
|
||||||
));
|
));
|
||||||
|
return True;
|
||||||
}
|
}
|
||||||
|
|
||||||
pop_lang();
|
return False;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
require_once('include/email.php');
|
|
||||||
|
|
||||||
class enotify {
|
|
||||||
/**
|
|
||||||
* Send a multipart/alternative message with Text and HTML versions
|
|
||||||
*
|
|
||||||
* @param fromName name of the sender
|
|
||||||
* @param fromEmail email fo the sender
|
|
||||||
* @param replyTo replyTo address to direct responses
|
|
||||||
* @param toEmail destination email address
|
|
||||||
* @param messageSubject subject of the message
|
|
||||||
* @param htmlVersion html version of the message
|
|
||||||
* @param textVersion text only version of the message
|
|
||||||
* @param additionalMailHeader additions to the smtp mail header
|
|
||||||
*/
|
|
||||||
static public function send($params) {
|
|
||||||
|
|
||||||
$fromName = email_header_encode(html_entity_decode($params['fromName'],ENT_QUOTES,'UTF-8'),'UTF-8');
|
|
||||||
$messageSubject = email_header_encode(html_entity_decode($params['messageSubject'],ENT_QUOTES,'UTF-8'),'UTF-8');
|
|
||||||
|
|
||||||
// generate a mime boundary
|
|
||||||
$mimeBoundary =rand(0,9)."-"
|
|
||||||
.rand(10000000000,9999999999)."-"
|
|
||||||
.rand(10000000000,9999999999)."=:"
|
|
||||||
.rand(10000,99999);
|
|
||||||
|
|
||||||
// generate a multipart/alternative message header
|
|
||||||
$messageHeader =
|
|
||||||
$params['additionalMailHeader'] .
|
|
||||||
"From: $fromName <{$params['fromEmail']}>\n" .
|
|
||||||
"Reply-To: $fromName <{$params['replyTo']}>\n" .
|
|
||||||
"MIME-Version: 1.0\n" .
|
|
||||||
"Content-Type: multipart/alternative; boundary=\"{$mimeBoundary}\"";
|
|
||||||
|
|
||||||
// assemble the final multipart message body with the text and html types included
|
|
||||||
$textBody = chunk_split(base64_encode($params['textVersion']));
|
|
||||||
$htmlBody = chunk_split(base64_encode($params['htmlVersion']));
|
|
||||||
$multipartMessageBody =
|
|
||||||
"--" . $mimeBoundary . "\n" . // plain text section
|
|
||||||
"Content-Type: text/plain; charset=UTF-8\n" .
|
|
||||||
"Content-Transfer-Encoding: base64\n\n" .
|
|
||||||
$textBody . "\n" .
|
|
||||||
"--" . $mimeBoundary . "\n" . // text/html section
|
|
||||||
"Content-Type: text/html; charset=UTF-8\n" .
|
|
||||||
"Content-Transfer-Encoding: base64\n\n" .
|
|
||||||
$htmlBody . "\n" .
|
|
||||||
"--" . $mimeBoundary . "--\n"; // message ending
|
|
||||||
|
|
||||||
// send the message
|
|
||||||
$res = mail(
|
|
||||||
$params['toEmail'], // send to address
|
|
||||||
$messageSubject, // subject
|
|
||||||
$multipartMessageBody, // message body
|
|
||||||
$messageHeader // message headers
|
|
||||||
);
|
|
||||||
logger("notification: enotify::send header " . 'To: ' . $params['toEmail'] . "\n" . $messageHeader, LOGGER_DEBUG);
|
|
||||||
logger("notification: enotify::send returns " . $res, LOGGER_DEBUG);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -3828,6 +3828,7 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) {
|
||||||
dbesc(datetime_convert())
|
dbesc(datetime_convert())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
||||||
intval($importer['uid'])
|
intval($importer['uid'])
|
||||||
);
|
);
|
||||||
|
@ -3841,20 +3842,24 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) {
|
||||||
|
|
||||||
if(($r[0]['notify-flags'] & NOTIFY_INTRO) &&
|
if(($r[0]['notify-flags'] & NOTIFY_INTRO) &&
|
||||||
(($r[0]['page-flags'] == PAGE_NORMAL) OR ($r[0]['page-flags'] == PAGE_SOAPBOX))) {
|
(($r[0]['page-flags'] == PAGE_NORMAL) OR ($r[0]['page-flags'] == PAGE_SOAPBOX))) {
|
||||||
$email_tpl = get_intltext_template('follow_notify_eml.tpl');
|
|
||||||
$email = replace_macros($email_tpl, array(
|
|
||||||
'$requestor' => ((strlen($name)) ? $name : t('[Name Withheld]')),
|
|
||||||
'$url' => $url,
|
notification(array(
|
||||||
'$myname' => $r[0]['username'],
|
'type' => NOTIFY_INTRO,
|
||||||
'$siteurl' => $a->get_baseurl(),
|
'notify_flags' => $r[0]['notify-flags'],
|
||||||
'$sitename' => $a->config['sitename']
|
'language' => $r[0]['language'],
|
||||||
|
'to_name' => $r[0]['username'],
|
||||||
|
'to_email' => $r[0]['email'],
|
||||||
|
'uid' => $r[0]['uid'],
|
||||||
|
'link' => $a->get_baseurl() . '/notifications/intro',
|
||||||
|
'source_name' => ((strlen(stripslashes($contact_record['name']))) ? stripslashes($contact_record['name']) : t('[Name Withheld]')),
|
||||||
|
'source_link' => $contact_record['url'],
|
||||||
|
'source_photo' => $contact_record['photo'],
|
||||||
|
'verb' => ($sharing ? ACTIVITY_FRIEND : ACTIVITY_FOLLOW),
|
||||||
|
'otype' => 'intro'
|
||||||
));
|
));
|
||||||
$res = mail($r[0]['email'],
|
|
||||||
email_header_encode((($sharing) ? t('A new person is sharing with you at ') : t("You have a new follower at ")) . $a->config['sitename'],'UTF-8'),
|
|
||||||
$email,
|
|
||||||
'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
|
|
||||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
|
||||||
. 'Content-transfer-encoding: 8bit' );
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1503,7 +1503,7 @@ function prepare_text($text) {
|
||||||
else
|
else
|
||||||
$s = smilies(bbcode($text));
|
$s = smilies(bbcode($text));
|
||||||
|
|
||||||
return $s;
|
return trim($s);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2229,3 +2229,22 @@ function is_a_date_arg($s) {
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* remove intentation from a text
|
||||||
|
*/
|
||||||
|
function deindent($text, $chr="[\t ]", $count=NULL) {
|
||||||
|
$text = fix_mce_lf($text);
|
||||||
|
$lines = explode("\n", $text);
|
||||||
|
if (is_null($count)) {
|
||||||
|
$m = array();
|
||||||
|
$k=0; while($k<count($lines) && strlen($lines[$k])==0) $k++;
|
||||||
|
preg_match("|^".$chr."*|", $lines[$k], $m);
|
||||||
|
$count = strlen($m[0]);
|
||||||
|
}
|
||||||
|
for ($k=0; $k<count($lines); $k++){
|
||||||
|
$lines[$k] = preg_replace("|^".$chr."{".$count."}|", "", $lines[$k]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return implode("\n", $lines);
|
||||||
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ require_once('include/plugin.php');
|
||||||
require_once('include/text.php');
|
require_once('include/text.php');
|
||||||
require_once('include/pgettext.php');
|
require_once('include/pgettext.php');
|
||||||
require_once('include/datetime.php');
|
require_once('include/datetime.php');
|
||||||
|
require_once('include/enotify.php');
|
||||||
|
|
||||||
|
|
||||||
function create_user($arr) {
|
function create_user($arr) {
|
||||||
|
@ -44,7 +45,7 @@ function create_user($arr) {
|
||||||
$result['message'] .= t('Invitation could not be verified.') . EOL;
|
$result['message'] .= t('Invitation could not be verified.') . EOL;
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if((! x($username)) || (! x($email)) || (! x($nickname))) {
|
if((! x($username)) || (! x($email)) || (! x($nickname))) {
|
||||||
if($openid_url) {
|
if($openid_url) {
|
||||||
|
@ -57,17 +58,17 @@ function create_user($arr) {
|
||||||
require_once('library/openid.php');
|
require_once('library/openid.php');
|
||||||
$openid = new LightOpenID;
|
$openid = new LightOpenID;
|
||||||
$openid->identity = $openid_url;
|
$openid->identity = $openid_url;
|
||||||
$openid->returnUrl = $a->get_baseurl() . '/openid';
|
$openid->returnUrl = $a->get_baseurl() . '/openid';
|
||||||
$openid->required = array('namePerson/friendly', 'contact/email', 'namePerson');
|
$openid->required = array('namePerson/friendly', 'contact/email', 'namePerson');
|
||||||
$openid->optional = array('namePerson/first','media/image/aspect11','media/image/default');
|
$openid->optional = array('namePerson/first','media/image/aspect11','media/image/default');
|
||||||
try {
|
try {
|
||||||
$authurl = $openid->authUrl();
|
$authurl = $openid->authUrl();
|
||||||
} catch (Exception $e){
|
} catch (Exception $e){
|
||||||
$result['message'] .= t("We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."). EOL . EOL . t("The error message was:") . $e->getMessage() . EOL;
|
$result['message'] .= t("We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."). EOL . EOL . t("The error message was:") . $e->getMessage() . EOL;
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
goaway($authurl);
|
goaway($authurl);
|
||||||
// NOTREACHED
|
// NOTREACHED
|
||||||
}
|
}
|
||||||
|
|
||||||
notice( t('Please enter the required information.') . EOL );
|
notice( t('Please enter the required information.') . EOL );
|
||||||
|
@ -90,12 +91,12 @@ function create_user($arr) {
|
||||||
|
|
||||||
// I don't really like having this rule, but it cuts down
|
// I don't really like having this rule, but it cuts down
|
||||||
// on the number of auto-registrations by Russian spammers
|
// on the number of auto-registrations by Russian spammers
|
||||||
|
|
||||||
// Using preg_match was completely unreliable, due to mixed UTF-8 regex support
|
// Using preg_match was completely unreliable, due to mixed UTF-8 regex support
|
||||||
// $no_utf = get_config('system','no_utf');
|
// $no_utf = get_config('system','no_utf');
|
||||||
// $pat = (($no_utf) ? '/^[a-zA-Z]* [a-zA-Z]*$/' : '/^\p{L}* \p{L}*$/u' );
|
// $pat = (($no_utf) ? '/^[a-zA-Z]* [a-zA-Z]*$/' : '/^\p{L}* \p{L}*$/u' );
|
||||||
|
|
||||||
// So now we are just looking for a space in the full name.
|
// So now we are just looking for a space in the full name.
|
||||||
|
|
||||||
$loose_reg = get_config('system','no_regfullname');
|
$loose_reg = get_config('system','no_regfullname');
|
||||||
if(! $loose_reg) {
|
if(! $loose_reg) {
|
||||||
|
@ -182,7 +183,7 @@ function create_user($arr) {
|
||||||
* will take several minutes each to process.
|
* will take several minutes each to process.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$sres = new_keypair(512);
|
$sres = new_keypair(512);
|
||||||
$sprvkey = $sres['prvkey'];
|
$sprvkey = $sres['prvkey'];
|
||||||
$spubkey = $sres['pubkey'];
|
$spubkey = $sres['pubkey'];
|
||||||
|
@ -207,7 +208,7 @@ function create_user($arr) {
|
||||||
);
|
);
|
||||||
|
|
||||||
if($r) {
|
if($r) {
|
||||||
$r = q("SELECT * FROM `user`
|
$r = q("SELECT * FROM `user`
|
||||||
WHERE `username` = '%s' AND `password` = '%s' LIMIT 1",
|
WHERE `username` = '%s' AND `password` = '%s' LIMIT 1",
|
||||||
dbesc($username),
|
dbesc($username),
|
||||||
dbesc($new_password_encoded)
|
dbesc($new_password_encoded)
|
||||||
|
@ -220,10 +221,10 @@ function create_user($arr) {
|
||||||
else {
|
else {
|
||||||
$result['message'] .= t('An error occurred during registration. Please try again.') . EOL ;
|
$result['message'] .= t('An error occurred during registration. Please try again.') . EOL ;
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* if somebody clicked submit twice very quickly, they could end up with two accounts
|
* if somebody clicked submit twice very quickly, they could end up with two accounts
|
||||||
* due to race condition. Remove this one.
|
* due to race condition. Remove this one.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -281,8 +282,8 @@ function create_user($arr) {
|
||||||
dbesc(datetime_convert())
|
dbesc(datetime_convert())
|
||||||
);
|
);
|
||||||
|
|
||||||
// Create a group with no members. This allows somebody to use it
|
// Create a group with no members. This allows somebody to use it
|
||||||
// right away as a default group for new contacts.
|
// right away as a default group for new contacts.
|
||||||
|
|
||||||
require_once('include/group.php');
|
require_once('include/group.php');
|
||||||
group_add($newuid, t('Friends'));
|
group_add($newuid, t('Friends'));
|
||||||
|
@ -323,7 +324,7 @@ function create_user($arr) {
|
||||||
// guess mimetype from headers or filename
|
// guess mimetype from headers or filename
|
||||||
$type = guess_image_type($photo,true);
|
$type = guess_image_type($photo,true);
|
||||||
|
|
||||||
|
|
||||||
$img = new Photo($img_str, $type);
|
$img = new Photo($img_str, $type);
|
||||||
if($img->is_valid()) {
|
if($img->is_valid()) {
|
||||||
|
|
||||||
|
@ -365,3 +366,51 @@ function create_user($arr) {
|
||||||
return $result;
|
return $result;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* send registration confirmation.
|
||||||
|
* It's here as a function because the mail is sent
|
||||||
|
* from different parts
|
||||||
|
*/
|
||||||
|
function send_register_open_eml($email, $sitename, $siteurl, $username, $password){
|
||||||
|
$preamble = deindent(t('
|
||||||
|
Dear %1$s,
|
||||||
|
Thank you for registering at %2$s. Your account has been created.
|
||||||
|
'));
|
||||||
|
$body = deindent(t('
|
||||||
|
The login details are as follows:
|
||||||
|
Site Location: %3$s
|
||||||
|
Login Name: %1$s
|
||||||
|
Password: %5$
|
||||||
|
|
||||||
|
You may change your password from your account "Settings" page after logging
|
||||||
|
in.
|
||||||
|
|
||||||
|
Please take a few moments to review the other account settings on that page.
|
||||||
|
|
||||||
|
You may also wish to add some basic information to your default profile
|
||||||
|
(on the "Profiles" page) so that other people can easily find you.
|
||||||
|
|
||||||
|
We recommend setting your full name, adding a profile photo,
|
||||||
|
adding some profile "keywords" (very useful in making new friends) - and
|
||||||
|
perhaps what country you live in; if you do not wish to be more specific
|
||||||
|
than that.
|
||||||
|
|
||||||
|
We fully respect your right to privacy, and none of these items are necessary.
|
||||||
|
If you are new and do not know anybody here, they may help
|
||||||
|
you to make some new and interesting friends.
|
||||||
|
|
||||||
|
|
||||||
|
Thank you and welcome to %2$s.'));
|
||||||
|
|
||||||
|
$preamble = sprintf($preamble, $username, $sitename);
|
||||||
|
$body = sprintf($body, $email, $sitename, $siteurl, $username, $password);
|
||||||
|
|
||||||
|
notification(array(
|
||||||
|
'type' => "SYSTEM_EMAIL",
|
||||||
|
'to_email' => $email,
|
||||||
|
'subject'=> sprintf( t('Registration details for %s'), $sitename),
|
||||||
|
'preamble'=> $preamble,
|
||||||
|
'body' => $body));
|
||||||
|
}
|
||||||
|
|
156
mod/admin.php
156
mod/admin.php
|
@ -4,6 +4,8 @@
|
||||||
* Friendica admin
|
* Friendica admin
|
||||||
*/
|
*/
|
||||||
require_once("include/remoteupdate.php");
|
require_once("include/remoteupdate.php");
|
||||||
|
require_once("include/enotify.php");
|
||||||
|
require_once("include/text.php");
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -419,9 +421,9 @@ function admin_page_site_post(&$a){
|
||||||
set_config('system','banner', $banner);
|
set_config('system','banner', $banner);
|
||||||
}
|
}
|
||||||
if ($info=="") {
|
if ($info=="") {
|
||||||
del_config('config','info');
|
del_config('config','info');
|
||||||
} else {
|
} else {
|
||||||
set_config('config','info',$info);
|
set_config('config','info',$info);
|
||||||
}
|
}
|
||||||
set_config('system','language', $language);
|
set_config('system','language', $language);
|
||||||
set_config('system','theme', $theme);
|
set_config('system','theme', $theme);
|
||||||
|
@ -429,12 +431,12 @@ function admin_page_site_post(&$a){
|
||||||
del_config('system','mobile-theme');
|
del_config('system','mobile-theme');
|
||||||
} else {
|
} else {
|
||||||
set_config('system','mobile-theme', $theme_mobile);
|
set_config('system','mobile-theme', $theme_mobile);
|
||||||
}
|
}
|
||||||
if ( $singleuser === '---' ) {
|
if ( $singleuser === '---' ) {
|
||||||
del_config('system','singleuser');
|
del_config('system','singleuser');
|
||||||
} else {
|
} else {
|
||||||
set_config('system','singleuser', $singleuser);
|
set_config('system','singleuser', $singleuser);
|
||||||
}
|
}
|
||||||
set_config('system','maximagesize', $maximagesize);
|
set_config('system','maximagesize', $maximagesize);
|
||||||
set_config('system','max_image_length', $maximagelength);
|
set_config('system','max_image_length', $maximagelength);
|
||||||
set_config('system','jpeg_quality', $jpegimagequality);
|
set_config('system','jpeg_quality', $jpegimagequality);
|
||||||
|
@ -473,7 +475,7 @@ function admin_page_site_post(&$a){
|
||||||
set_config('system','curl_timeout', $timeout);
|
set_config('system','curl_timeout', $timeout);
|
||||||
set_config('system','dfrn_only', $dfrn_only);
|
set_config('system','dfrn_only', $dfrn_only);
|
||||||
set_config('system','ostatus_disabled', $ostatus_disabled);
|
set_config('system','ostatus_disabled', $ostatus_disabled);
|
||||||
set_config('system','ostatus_poll_interval', $ostatus_poll_interval);
|
set_config('system','ostatus_poll_interval', $ostatus_poll_interval);
|
||||||
set_config('system','diaspora_enabled', $diaspora_enabled);
|
set_config('system','diaspora_enabled', $diaspora_enabled);
|
||||||
set_config('config','private_addons', $private_addons);
|
set_config('config','private_addons', $private_addons);
|
||||||
|
|
||||||
|
@ -524,32 +526,32 @@ function admin_page_site(&$a) {
|
||||||
foreach($files as $file) {
|
foreach($files as $file) {
|
||||||
$f = basename($file);
|
$f = basename($file);
|
||||||
$theme_name = ((file_exists($file . '/experimental')) ? sprintf("%s - \x28Experimental\x29", $f) : $f);
|
$theme_name = ((file_exists($file . '/experimental')) ? sprintf("%s - \x28Experimental\x29", $f) : $f);
|
||||||
if (file_exists($file . '/mobile')) {
|
if (file_exists($file . '/mobile')) {
|
||||||
$theme_choices_mobile[$f] = $theme_name;
|
$theme_choices_mobile[$f] = $theme_name;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$theme_choices[$f] = $theme_name;
|
$theme_choices[$f] = $theme_name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* OStatus conversation poll choices */
|
/* OStatus conversation poll choices */
|
||||||
$ostatus_poll_choices = array(
|
$ostatus_poll_choices = array(
|
||||||
"-2" => t("Never"),
|
"-2" => t("Never"),
|
||||||
"-1" => t("At post arrival"),
|
"-1" => t("At post arrival"),
|
||||||
"0" => t("Frequently"),
|
"0" => t("Frequently"),
|
||||||
"60" => t("Hourly"),
|
"60" => t("Hourly"),
|
||||||
"720" => t("Twice daily"),
|
"720" => t("Twice daily"),
|
||||||
"1440" => t("Daily")
|
"1440" => t("Daily")
|
||||||
);
|
);
|
||||||
|
|
||||||
/* get user names to make the install a personal install of X */
|
/* get user names to make the install a personal install of X */
|
||||||
$user_names = array();
|
$user_names = array();
|
||||||
$user_names['---'] = t('Multi user instance');
|
$user_names['---'] = t('Multi user instance');
|
||||||
$users = q("SELECT username, nickname FROM `user`");
|
$users = q("SELECT username, nickname FROM `user`");
|
||||||
foreach ($users as $user) {
|
foreach ($users as $user) {
|
||||||
$user_names[$user['nickname']] = $user['username'];
|
$user_names[$user['nickname']] = $user['username'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Banner */
|
/* Banner */
|
||||||
$banner = get_config('system','banner');
|
$banner = get_config('system','banner');
|
||||||
|
@ -626,9 +628,9 @@ function admin_page_site(&$a) {
|
||||||
'$no_regfullname' => array('no_regfullname', t("Fullname check"), !get_config('system','no_regfullname'), t("Force users to register with a space between firstname and lastname in Full name, as an antispam measure")),
|
'$no_regfullname' => array('no_regfullname', t("Fullname check"), !get_config('system','no_regfullname'), t("Force users to register with a space between firstname and lastname in Full name, as an antispam measure")),
|
||||||
'$no_utf' => array('no_utf', t("UTF-8 Regular expressions"), !get_config('system','no_utf'), t("Use PHP UTF8 regular expressions")),
|
'$no_utf' => array('no_utf', t("UTF-8 Regular expressions"), !get_config('system','no_utf'), t("Use PHP UTF8 regular expressions")),
|
||||||
'$no_community_page' => array('no_community_page', t("Show Community Page"), !get_config('system','no_community_page'), t("Display a Community page showing all recent public postings on this site.")),
|
'$no_community_page' => array('no_community_page', t("Show Community Page"), !get_config('system','no_community_page'), t("Display a Community page showing all recent public postings on this site.")),
|
||||||
'$ostatus_disabled' => array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disabled'), t("Provide built-in OStatus \x28StatusNet, GNU Social etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed.")),
|
'$ostatus_disabled' => array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disabled'), t("Provide built-in OStatus \x28StatusNet, GNU Social etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed.")),
|
||||||
'$ostatus_poll_interval' => array('ostatus_poll_interval', t("OStatus conversation completion interval"), (string) intval(get_config('system','ostatus_poll_interval')), t("How often shall the poller check for new entries in OStatus conversations? This can be a very ressource task."), $ostatus_poll_choices),
|
'$ostatus_poll_interval' => array('ostatus_poll_interval', t("OStatus conversation completion interval"), (string) intval(get_config('system','ostatus_poll_interval')), t("How often shall the poller check for new entries in OStatus conversations? This can be a very ressource task."), $ostatus_poll_choices),
|
||||||
'$diaspora_enabled' => array('diaspora_enabled', t("Enable Diaspora support"), get_config('system','diaspora_enabled'), t("Provide built-in Diaspora network compatibility.")),
|
'$diaspora_enabled' => array('diaspora_enabled', t("Enable Diaspora support"), get_config('system','diaspora_enabled'), t("Provide built-in Diaspora network compatibility.")),
|
||||||
'$dfrn_only' => array('dfrn_only', t('Only allow Friendica contacts'), get_config('system','dfrn_only'), t("All contacts must use Friendica protocols. All other built-in communication protocols disabled.")),
|
'$dfrn_only' => array('dfrn_only', t('Only allow Friendica contacts'), get_config('system','dfrn_only'), t("All contacts must use Friendica protocols. All other built-in communication protocols disabled.")),
|
||||||
'$verifyssl' => array('verifyssl', t("Verify SSL"), get_config('system','verifyssl'), t("If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites.")),
|
'$verifyssl' => array('verifyssl', t("Verify SSL"), get_config('system','verifyssl'), t("If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites.")),
|
||||||
'$proxyuser' => array('proxyuser', t("Proxy user"), get_config('system','proxyuser'), ""),
|
'$proxyuser' => array('proxyuser', t("Proxy user"), get_config('system','proxyuser'), ""),
|
||||||
|
@ -651,7 +653,7 @@ function admin_page_site(&$a) {
|
||||||
'$relocate_url' => array('relocate_url', t("New base url"), $a->get_baseurl(), "Change base url for this server. Sends relocate message to all DFRN contacts of all users."),
|
'$relocate_url' => array('relocate_url', t("New base url"), $a->get_baseurl(), "Change base url for this server. Sends relocate message to all DFRN contacts of all users."),
|
||||||
|
|
||||||
'$enable_noscrape'=> array('enable_noscrape', t("Enable noscrape"), get_config('system','enable_noscrape'), t("The noscrape feature speeds up directory submissions by using JSON data instead of HTML scraping.")),
|
'$enable_noscrape'=> array('enable_noscrape', t("Enable noscrape"), get_config('system','enable_noscrape'), t("The noscrape feature speeds up directory submissions by using JSON data instead of HTML scraping.")),
|
||||||
'$form_security_token' => get_form_security_token("admin_site")
|
'$form_security_token' => get_form_security_token("admin_site")
|
||||||
|
|
||||||
));
|
));
|
||||||
|
|
||||||
|
@ -744,39 +746,61 @@ function admin_page_dbsync(&$a) {
|
||||||
function admin_page_users_post(&$a){
|
function admin_page_users_post(&$a){
|
||||||
$pending = ( x($_POST, 'pending') ? $_POST['pending'] : Array() );
|
$pending = ( x($_POST, 'pending') ? $_POST['pending'] : Array() );
|
||||||
$users = ( x($_POST, 'user') ? $_POST['user'] : Array() );
|
$users = ( x($_POST, 'user') ? $_POST['user'] : Array() );
|
||||||
$nu_name = ( x($_POST, 'new_user_name') ? $_POST['new_user_name'] : '');
|
$nu_name = ( x($_POST, 'new_user_name') ? $_POST['new_user_name'] : '');
|
||||||
$nu_nickname = ( x($_POST, 'new_user_nickname') ? $_POST['new_user_nickname'] : '');
|
$nu_nickname = ( x($_POST, 'new_user_nickname') ? $_POST['new_user_nickname'] : '');
|
||||||
$nu_email = ( x($_POST, 'new_user_email') ? $_POST['new_user_email'] : '');
|
$nu_email = ( x($_POST, 'new_user_email') ? $_POST['new_user_email'] : '');
|
||||||
|
|
||||||
check_form_security_token_redirectOnErr('/admin/users', 'admin_users');
|
check_form_security_token_redirectOnErr('/admin/users', 'admin_users');
|
||||||
|
|
||||||
if (!($nu_name==="") && !($nu_email==="") && !($nu_nickname==="")) {
|
if (!($nu_name==="") && !($nu_email==="") && !($nu_nickname==="")) {
|
||||||
require_once('include/user.php');
|
require_once('include/user.php');
|
||||||
require_once('include/email.php');
|
|
||||||
$result = create_user( array('username'=>$nu_name, 'email'=>$nu_email, 'nickname'=>$nu_nickname, 'verified'=>1) );
|
$result = create_user( array('username'=>$nu_name, 'email'=>$nu_email, 'nickname'=>$nu_nickname, 'verified'=>1) );
|
||||||
if(! $result['success']) {
|
if(! $result['success']) {
|
||||||
notice($result['message']);
|
notice($result['message']);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$nu = $result['user'];
|
$nu = $result['user'];
|
||||||
$email_tpl = get_intltext_template("register_adminadd_eml.tpl");
|
$preamble = deindent(t('
|
||||||
$email_tpl = replace_macros($email_tpl, array(
|
Dear %1$s,
|
||||||
'$sitename' => $a->config['sitename'],
|
the administrator of %2$s has set up an account for you.'));
|
||||||
'$siteurl' => $a->get_baseurl(),
|
$body = deindent(t('
|
||||||
'$username' => $nu['username'],
|
The login details are as follows:
|
||||||
'$email' => $nu['email'],
|
|
||||||
'$password' => $result['password'],
|
Site Location: %1$s
|
||||||
'$uid' => $nu['uid'] ));
|
Login Name: %2$s
|
||||||
|
Password: %3$s
|
||||||
$res = mail($nu['email'], email_header_encode( sprintf( t('Registration details for %s'), $a->config['sitename']),'UTF-8'),
|
|
||||||
$email_tpl,
|
You may change your password from your account "Settings" page after logging
|
||||||
'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
|
in.
|
||||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
|
||||||
. 'Content-transfer-encoding: 8bit' );
|
Please take a few moments to review the other account settings on that page.
|
||||||
if ($res) {
|
|
||||||
info( t('Registration successful. Email send to user').EOL );
|
You may also wish to add some basic information to your default profile
|
||||||
}
|
(on the "Profiles" page) so that other people can easily find you.
|
||||||
}
|
|
||||||
|
We recommend setting your full name, adding a profile photo,
|
||||||
|
adding some profile "keywords" (very useful in making new friends) - and
|
||||||
|
perhaps what country you live in; if you do not wish to be more specific
|
||||||
|
than that.
|
||||||
|
|
||||||
|
We fully respect your right to privacy, and none of these items are necessary.
|
||||||
|
If you are new and do not know anybody here, they may help
|
||||||
|
you to make some new and interesting friends.
|
||||||
|
|
||||||
|
Thank you and welcome to %4$s.'));
|
||||||
|
|
||||||
|
$preamble = sprintf($preamble, $nu['username'], $a->config['sitename']);
|
||||||
|
$body = sprintf($body, $a->get_baseurl(), $nu['email'], $result['password'], $a->config['sitename']);
|
||||||
|
|
||||||
|
notification(array(
|
||||||
|
'type' => "SYSTEM_EMAIL",
|
||||||
|
'to_email' => $email,
|
||||||
|
'subject'=> sprintf( t('Registration details for %s'), $a->config['sitename']),
|
||||||
|
'preamble'=> $preamble,
|
||||||
|
'body' => $body));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if (x($_POST,'page_users_block')){
|
if (x($_POST,'page_users_block')){
|
||||||
foreach($users as $uid){
|
foreach($users as $uid){
|
||||||
|
@ -825,7 +849,7 @@ function admin_page_users(&$a){
|
||||||
}
|
}
|
||||||
switch($a->argv[2]){
|
switch($a->argv[2]){
|
||||||
case "delete":{
|
case "delete":{
|
||||||
check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't');
|
check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't');
|
||||||
// delete user
|
// delete user
|
||||||
require_once("include/Contact.php");
|
require_once("include/Contact.php");
|
||||||
user_remove($uid);
|
user_remove($uid);
|
||||||
|
@ -833,7 +857,7 @@ function admin_page_users(&$a){
|
||||||
notice( sprintf(t("User '%s' deleted"), $user[0]['username']) . EOL);
|
notice( sprintf(t("User '%s' deleted"), $user[0]['username']) . EOL);
|
||||||
}; break;
|
}; break;
|
||||||
case "block":{
|
case "block":{
|
||||||
check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't');
|
check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't');
|
||||||
q("UPDATE `user` SET `blocked`=%d WHERE `uid`=%s",
|
q("UPDATE `user` SET `blocked`=%d WHERE `uid`=%s",
|
||||||
intval( 1-$user[0]['blocked'] ),
|
intval( 1-$user[0]['blocked'] ),
|
||||||
intval( $uid )
|
intval( $uid )
|
||||||
|
@ -889,7 +913,7 @@ function admin_page_users(&$a){
|
||||||
t('Normal Account'),
|
t('Normal Account'),
|
||||||
t('Soapbox Account'),
|
t('Soapbox Account'),
|
||||||
t('Community/Celebrity Account'),
|
t('Community/Celebrity Account'),
|
||||||
t('Automatic Friend Account')
|
t('Automatic Friend Account')
|
||||||
);
|
);
|
||||||
$e['page-flags'] = $accounts[$e['page-flags']];
|
$e['page-flags'] = $accounts[$e['page-flags']];
|
||||||
$e['register_date'] = relative_date($e['register_date']);
|
$e['register_date'] = relative_date($e['register_date']);
|
||||||
|
@ -1094,7 +1118,7 @@ function admin_page_plugins(&$a){
|
||||||
'$baseurl' => $a->get_baseurl(true),
|
'$baseurl' => $a->get_baseurl(true),
|
||||||
'$function' => 'plugins',
|
'$function' => 'plugins',
|
||||||
'$plugins' => $plugins,
|
'$plugins' => $plugins,
|
||||||
'$form_security_token' => get_form_security_token("admin_themes"),
|
'$form_security_token' => get_form_security_token("admin_themes"),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1298,7 +1322,7 @@ function admin_page_themes(&$a){
|
||||||
'$plugins' => $xthemes,
|
'$plugins' => $xthemes,
|
||||||
'$experimental' => t('[Experimental]'),
|
'$experimental' => t('[Experimental]'),
|
||||||
'$unsupported' => t('[Unsupported]'),
|
'$unsupported' => t('[Unsupported]'),
|
||||||
'$form_security_token' => get_form_security_token("admin_themes"),
|
'$form_security_token' => get_form_security_token("admin_themes"),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1311,7 +1335,7 @@ function admin_page_themes(&$a){
|
||||||
|
|
||||||
function admin_page_logs_post(&$a) {
|
function admin_page_logs_post(&$a) {
|
||||||
if (x($_POST,"page_logs")) {
|
if (x($_POST,"page_logs")) {
|
||||||
check_form_security_token_redirectOnErr('/admin/logs', 'admin_logs');
|
check_form_security_token_redirectOnErr('/admin/logs', 'admin_logs');
|
||||||
|
|
||||||
$logfile = ((x($_POST,'logfile')) ? notags(trim($_POST['logfile'])) : '');
|
$logfile = ((x($_POST,'logfile')) ? notags(trim($_POST['logfile'])) : '');
|
||||||
$debugging = ((x($_POST,'debugging')) ? true : false);
|
$debugging = ((x($_POST,'debugging')) ? true : false);
|
||||||
|
@ -1350,7 +1374,7 @@ function admin_page_logs(&$a){
|
||||||
$data = '';
|
$data = '';
|
||||||
|
|
||||||
if(!file_exists($f)) {
|
if(!file_exists($f)) {
|
||||||
$data = t("Error trying to open <strong>$f</strong> log file.\r\n<br/>Check to see if file $f exist and is
|
$data = t("Error trying to open <strong>$f</strong> log file.\r\n<br/>Check to see if file $f exist and is
|
||||||
readable.");
|
readable.");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -1390,7 +1414,7 @@ readable.");
|
||||||
'$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your Friendica top-level directory.")),
|
'$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your Friendica top-level directory.")),
|
||||||
'$loglevel' => array('loglevel', t("Log level"), get_config('system','loglevel'), "", $log_choices),
|
'$loglevel' => array('loglevel', t("Log level"), get_config('system','loglevel'), "", $log_choices),
|
||||||
|
|
||||||
'$form_security_token' => get_form_security_token("admin_logs"),
|
'$form_security_token' => get_form_security_token("admin_logs"),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,11 +9,13 @@
|
||||||
* 1. A form was submitted by our user approving a friendship that originated elsewhere.
|
* 1. A form was submitted by our user approving a friendship that originated elsewhere.
|
||||||
* This may also be called from dfrn_request to automatically approve a friendship.
|
* This may also be called from dfrn_request to automatically approve a friendship.
|
||||||
*
|
*
|
||||||
* 2. We may be the target or other side of the conversation to scenario 1, and will
|
* 2. We may be the target or other side of the conversation to scenario 1, and will
|
||||||
* interact with that process on our own user's behalf.
|
* interact with that process on our own user's behalf.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
require_once('include/enotify.php');
|
||||||
|
|
||||||
function dfrn_confirm_post(&$a,$handsfree = null) {
|
function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
|
|
||||||
if(is_array($handsfree)) {
|
if(is_array($handsfree)) {
|
||||||
|
@ -35,11 +37,11 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Main entry point. Scenario 1. Our user received a friend request notification (perhaps
|
* Main entry point. Scenario 1. Our user received a friend request notification (perhaps
|
||||||
* from another site) and clicked 'Approve'.
|
* from another site) and clicked 'Approve'.
|
||||||
* $POST['source_url'] is not set. If it is, it indicates Scenario 2.
|
* $POST['source_url'] is not set. If it is, it indicates Scenario 2.
|
||||||
*
|
*
|
||||||
* We may also have been called directly from dfrn_request ($handsfree != null) due to
|
* We may also have been called directly from dfrn_request ($handsfree != null) due to
|
||||||
* this being a page type which supports automatic friend acceptance. That is also Scenario 1
|
* this being a page type which supports automatic friend acceptance. That is also Scenario 1
|
||||||
* since we are operating on behalf of our registered user to approve a friendship.
|
* since we are operating on behalf of our registered user to approve a friendship.
|
||||||
*
|
*
|
||||||
|
@ -67,7 +69,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
// These data elements may come from either the friend request notification form or $handsfree array.
|
// These data elements may come from either the friend request notification form or $handsfree array.
|
||||||
|
|
||||||
if(is_array($handsfree)) {
|
if(is_array($handsfree)) {
|
||||||
logger('dfrn_confirm: Confirm in handsfree mode');
|
logger('Confirm in handsfree mode');
|
||||||
$dfrn_id = $handsfree['dfrn_id'];
|
$dfrn_id = $handsfree['dfrn_id'];
|
||||||
$intro_id = $handsfree['intro_id'];
|
$intro_id = $handsfree['intro_id'];
|
||||||
$duplex = $handsfree['duplex'];
|
$duplex = $handsfree['duplex'];
|
||||||
|
@ -86,7 +88,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Ensure that dfrn_id has precedence when we go to find the contact record.
|
* Ensure that dfrn_id has precedence when we go to find the contact record.
|
||||||
* We only want to search based on contact id if there is no dfrn_id,
|
* We only want to search based on contact id if there is no dfrn_id,
|
||||||
* e.g. for OStatus network followers.
|
* e.g. for OStatus network followers.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -94,15 +96,15 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
if(strlen($dfrn_id))
|
if(strlen($dfrn_id))
|
||||||
$cid = 0;
|
$cid = 0;
|
||||||
|
|
||||||
logger('dfrn_confirm: Confirming request for dfrn_id (issued) ' . $dfrn_id);
|
logger('Confirming request for dfrn_id (issued) ' . $dfrn_id);
|
||||||
if($cid)
|
if($cid)
|
||||||
logger('dfrn_confirm: Confirming follower with contact_id: ' . $cid);
|
logger('Confirming follower with contact_id: ' . $cid);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* The other person will have been issued an ID when they first requested friendship.
|
* The other person will have been issued an ID when they first requested friendship.
|
||||||
* Locate their record. At this time, their record will have both pending and blocked set to 1.
|
* Locate their record. At this time, their record will have both pending and blocked set to 1.
|
||||||
* There won't be any dfrn_id if this is a network follower, so use the contact_id instead.
|
* There won't be any dfrn_id if this is a network follower, so use the contact_id instead.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -114,7 +116,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
);
|
);
|
||||||
|
|
||||||
if(! count($r)) {
|
if(! count($r)) {
|
||||||
logger('dfrn_confirm: Contact not found in DB.');
|
logger('Contact not found in DB.');
|
||||||
notice( t('Contact not found.') . EOL );
|
notice( t('Contact not found.') . EOL );
|
||||||
notice( t('This may occasionally happen if contact was requested by both persons and it has already been approved.') . EOL );
|
notice( t('This may occasionally happen if contact was requested by both persons and it has already been approved.') . EOL );
|
||||||
return;
|
return;
|
||||||
|
@ -127,7 +129,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
$site_pubkey = $contact['site-pubkey'];
|
$site_pubkey = $contact['site-pubkey'];
|
||||||
$dfrn_confirm = $contact['confirm'];
|
$dfrn_confirm = $contact['confirm'];
|
||||||
$aes_allow = $contact['aes_allow'];
|
$aes_allow = $contact['aes_allow'];
|
||||||
|
|
||||||
$network = ((strlen($contact['issued-id'])) ? NETWORK_DFRN : NETWORK_OSTATUS);
|
$network = ((strlen($contact['issued-id'])) ? NETWORK_DFRN : NETWORK_OSTATUS);
|
||||||
|
|
||||||
if($contact['network'])
|
if($contact['network'])
|
||||||
|
@ -139,15 +141,16 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
*
|
*
|
||||||
* Generate a key pair for all further communications with this person.
|
* Generate a key pair for all further communications with this person.
|
||||||
* We have a keypair for every contact, and a site key for unknown people.
|
* We have a keypair for every contact, and a site key for unknown people.
|
||||||
* This provides a means to carry on relationships with other people if
|
* This provides a means to carry on relationships with other people if
|
||||||
* any single key is compromised. It is a robust key. We're much more
|
* any single key is compromised. It is a robust key. We're much more
|
||||||
* worried about key leakage than anybody cracking it.
|
* worried about key leakage than anybody cracking it.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
require_once('include/crypto.php');
|
require_once('include/crypto.php');
|
||||||
|
|
||||||
$res = new_keypair(4096);
|
$res = new_keypair(4096);
|
||||||
|
|
||||||
|
|
||||||
$private_key = $res['prvkey'];
|
$private_key = $res['prvkey'];
|
||||||
$public_key = $res['pubkey'];
|
$public_key = $res['pubkey'];
|
||||||
|
|
||||||
|
@ -156,23 +159,23 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
$r = q("UPDATE `contact` SET `prvkey` = '%s' WHERE `id` = %d AND `uid` = %d",
|
$r = q("UPDATE `contact` SET `prvkey` = '%s' WHERE `id` = %d AND `uid` = %d",
|
||||||
dbesc($private_key),
|
dbesc($private_key),
|
||||||
intval($contact_id),
|
intval($contact_id),
|
||||||
intval($uid)
|
intval($uid)
|
||||||
);
|
);
|
||||||
|
|
||||||
$params = array();
|
$params = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Per the DFRN protocol, we will verify both ends by encrypting the dfrn_id with our
|
* Per the DFRN protocol, we will verify both ends by encrypting the dfrn_id with our
|
||||||
* site private key (person on the other end can decrypt it with our site public key).
|
* site private key (person on the other end can decrypt it with our site public key).
|
||||||
* Then encrypt our profile URL with the other person's site public key. They can decrypt
|
* Then encrypt our profile URL with the other person's site public key. They can decrypt
|
||||||
* it with their site private key. If the decryption on the other end fails for either
|
* it with their site private key. If the decryption on the other end fails for either
|
||||||
* item, it indicates tampering or key failure on at least one site and we will not be
|
* item, it indicates tampering or key failure on at least one site and we will not be
|
||||||
* able to provide a secure communication pathway.
|
* able to provide a secure communication pathway.
|
||||||
*
|
*
|
||||||
* If other site is willing to accept full encryption, (aes_allow is 1 AND we have php5.3
|
* If other site is willing to accept full encryption, (aes_allow is 1 AND we have php5.3
|
||||||
* or later) then we encrypt the personal public key we send them using AES-256-CBC and a
|
* or later) then we encrypt the personal public key we send them using AES-256-CBC and a
|
||||||
* random key which is encrypted with their site public key.
|
* random key which is encrypted with their site public key.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -205,7 +208,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
if($user[0]['page-flags'] == PAGE_PRVGROUP)
|
if($user[0]['page-flags'] == PAGE_PRVGROUP)
|
||||||
$params['page'] = 2;
|
$params['page'] = 2;
|
||||||
|
|
||||||
logger('dfrn_confirm: Confirm: posting data to ' . $dfrn_confirm . ': ' . print_r($params,true), LOGGER_DATA);
|
logger('Confirm: posting data to ' . $dfrn_confirm . ': ' . print_r($params,true), LOGGER_DATA);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -219,10 +222,10 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
|
|
||||||
$res = post_url($dfrn_confirm,$params);
|
$res = post_url($dfrn_confirm,$params);
|
||||||
|
|
||||||
logger('dfrn_confirm: Confirm: received data: ' . $res, LOGGER_DATA);
|
logger(' Confirm: received data: ' . $res, LOGGER_DATA);
|
||||||
|
|
||||||
// Now figure out what they responded. Try to be robust if the remote site is
|
// Now figure out what they responded. Try to be robust if the remote site is
|
||||||
// having difficulty and throwing up errors of some kind.
|
// having difficulty and throwing up errors of some kind.
|
||||||
|
|
||||||
$leading_junk = substr($res,0,strpos($res,'<?xml'));
|
$leading_junk = substr($res,0,strpos($res,'<?xml'));
|
||||||
|
|
||||||
|
@ -232,20 +235,26 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
// No XML at all, this exchange is messed up really bad.
|
// No XML at all, this exchange is messed up really bad.
|
||||||
// We shouldn't proceed, because the xml parser might choke,
|
// We shouldn't proceed, because the xml parser might choke,
|
||||||
// and $status is going to be zero, which indicates success.
|
// and $status is going to be zero, which indicates success.
|
||||||
// We can hardly call this a success.
|
// We can hardly call this a success.
|
||||||
|
|
||||||
notice( t('Response from remote site was not understood.') . EOL);
|
notice( t('Response from remote site was not understood.') . EOL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(strlen($leading_junk) && get_config('system','debugging')) {
|
if(strlen($leading_junk) && get_config('system','debugging')) {
|
||||||
|
|
||||||
// This might be more common. Mixed error text and some XML.
|
// This might be more common. Mixed error text and some XML.
|
||||||
// If we're configured for debugging, show the text. Proceed in either case.
|
// If we're configured for debugging, show the text. Proceed in either case.
|
||||||
|
|
||||||
notice( t('Unexpected response from remote site: ') . EOL . $leading_junk . EOL );
|
notice( t('Unexpected response from remote site: ') . EOL . $leading_junk . EOL );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(stristr($res, "<status")===false) {
|
||||||
|
// wrong xml! stop here!
|
||||||
|
notice( t('Unexpected response from remote site: ') . EOL . htmlspecialchars($res) . EOL );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$xml = parse_xml_string($res);
|
$xml = parse_xml_string($res);
|
||||||
$status = (int) $xml->status;
|
$status = (int) $xml->status;
|
||||||
$message = unxmlify($xml->message); // human readable text of what may have gone wrong.
|
$message = unxmlify($xml->message); // human readable text of what may have gone wrong.
|
||||||
|
@ -261,7 +270,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
$r = q("UPDATE contact SET `issued-id` = '%s' WHERE `id` = %d AND `uid` = %d",
|
$r = q("UPDATE contact SET `issued-id` = '%s' WHERE `id` = %d AND `uid` = %d",
|
||||||
dbesc($new_dfrn_id),
|
dbesc($new_dfrn_id),
|
||||||
intval($contact_id),
|
intval($contact_id),
|
||||||
intval($uid)
|
intval($uid)
|
||||||
);
|
);
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
|
@ -307,7 +316,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
require_once('include/Photo.php');
|
require_once('include/Photo.php');
|
||||||
|
|
||||||
$photos = import_profile_photo($contact['photo'],$uid,$contact_id);
|
$photos = import_profile_photo($contact['photo'],$uid,$contact_id);
|
||||||
|
|
||||||
logger('dfrn_confirm: confirm - imported photos');
|
logger('dfrn_confirm: confirm - imported photos');
|
||||||
|
|
||||||
if($network === NETWORK_DFRN) {
|
if($network === NETWORK_DFRN) {
|
||||||
|
@ -455,7 +464,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
if(count($self)) {
|
if(count($self)) {
|
||||||
|
|
||||||
$arr = array();
|
$arr = array();
|
||||||
$arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), $uid);
|
$arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), $uid);
|
||||||
$arr['uid'] = $uid;
|
$arr['uid'] = $uid;
|
||||||
$arr['contact-id'] = $self[0]['id'];
|
$arr['contact-id'] = $self[0]['id'];
|
||||||
$arr['wall'] = 1;
|
$arr['wall'] = 1;
|
||||||
|
@ -522,7 +531,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
*
|
*
|
||||||
* Begin Scenario 2. This is the remote response to the above scenario.
|
* Begin Scenario 2. This is the remote response to the above scenario.
|
||||||
* This will take place on the site that originally initiated the friend request.
|
* This will take place on the site that originally initiated the friend request.
|
||||||
* In the section above where the confirming party makes a POST and
|
* In the section above where the confirming party makes a POST and
|
||||||
* retrieves xml status information, they are communicating with the following code.
|
* retrieves xml status information, they are communicating with the following code.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -603,7 +612,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
// this is either a bogus confirmation (?) or we deleted the original introduction.
|
// this is either a bogus confirmation (?) or we deleted the original introduction.
|
||||||
$message = t('Contact record was not found for you on our site.');
|
$message = t('Contact record was not found for you on our site.');
|
||||||
xml_status(3,$message);
|
xml_status(3,$message);
|
||||||
return; // NOTREACHED
|
return; // NOTREACHED
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -731,33 +740,21 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
$combined = $r[0];
|
$combined = $r[0];
|
||||||
|
|
||||||
if((count($r)) && ($r[0]['notify-flags'] & NOTIFY_CONFIRM)) {
|
if((count($r)) && ($r[0]['notify-flags'] & NOTIFY_CONFIRM)) {
|
||||||
|
$mutual = ($new_relation == CONTACT_IS_FRIEND);
|
||||||
push_lang($r[0]['language']);
|
notification(array(
|
||||||
$tpl = (($new_relation == CONTACT_IS_FRIEND)
|
'type' => NOTIFY_CONFIRM,
|
||||||
? get_intltext_template('friend_complete_eml.tpl')
|
'notify_flags' => $r[0]['notify-flags'],
|
||||||
: get_intltext_template('intro_complete_eml.tpl'));
|
'language' => $r[0]['language'],
|
||||||
|
'to_name' => $r[0]['username'],
|
||||||
$email_tpl = replace_macros($tpl, array(
|
'to_email' => $r[0]['email'],
|
||||||
'$sitename' => $a->config['sitename'],
|
'uid' => $r[0]['uid'],
|
||||||
'$siteurl' => $a->get_baseurl(),
|
'link' => $a->get_baseurl() . '/contacts/' . $dfrn_record,
|
||||||
'$username' => $r[0]['username'],
|
'source_name' => ((strlen(stripslashes($r[0]['name']))) ? stripslashes($r[0]['name']) : t('[Name Withheld]')),
|
||||||
'$email' => $r[0]['email'],
|
'source_link' => $r[0]['url'],
|
||||||
'$fn' => $r[0]['name'],
|
'source_photo' => $r[0]['photo'],
|
||||||
'$dfrn_url' => $r[0]['url'],
|
'verb' => ($mutual?ACTIVITY_FRIEND:ACTIVITY_FOLLOW),
|
||||||
'$uid' => $newuid )
|
'otype' => 'intro'
|
||||||
);
|
));
|
||||||
require_once('include/email.php');
|
|
||||||
|
|
||||||
$res = mail($r[0]['email'], email_header_encode( sprintf( t("Connection accepted at %s") , $a->config['sitename']),'UTF-8'),
|
|
||||||
$email_tpl,
|
|
||||||
'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
|
|
||||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
|
||||||
. 'Content-transfer-encoding: 8bit' );
|
|
||||||
|
|
||||||
if(!$res) {
|
|
||||||
// pointless throwing an error here and confusing the person at the other end of the wire.
|
|
||||||
}
|
|
||||||
pop_lang();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send a new friend post if we are allowed to...
|
// Send a new friend post if we are allowed to...
|
||||||
|
@ -778,7 +775,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
||||||
if(count($self)) {
|
if(count($self)) {
|
||||||
|
|
||||||
$arr = array();
|
$arr = array();
|
||||||
$arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), $local_uid);
|
$arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), $local_uid);
|
||||||
$arr['uid'] = $local_uid;
|
$arr['uid'] = $local_uid;
|
||||||
$arr['contact-id'] = $self[0]['id'];
|
$arr['contact-id'] = $self[0]['id'];
|
||||||
$arr['wall'] = 1;
|
$arr['wall'] = 1;
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
require_once('include/enotify.php');
|
||||||
|
|
||||||
if(! function_exists('dfrn_request_init')) {
|
if(! function_exists('dfrn_request_init')) {
|
||||||
function dfrn_request_init(&$a) {
|
function dfrn_request_init(&$a) {
|
||||||
|
|
||||||
|
@ -45,13 +47,13 @@ function dfrn_request_post(&$a) {
|
||||||
|
|
||||||
if(x($_POST, 'cancel')) {
|
if(x($_POST, 'cancel')) {
|
||||||
goaway(z_root());
|
goaway(z_root());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Scenario 2: We've introduced ourself to another cell, then have been returned to our own cell
|
* Scenario 2: We've introduced ourself to another cell, then have been returned to our own cell
|
||||||
* to confirm the request, and then we've clicked submit (perhaps after logging in).
|
* to confirm the request, and then we've clicked submit (perhaps after logging in).
|
||||||
* That brings us here:
|
* That brings us here:
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -145,7 +147,7 @@ function dfrn_request_post(&$a) {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$r = q("INSERT INTO `contact` ( `uid`, `created`,`url`, `nurl`, `name`, `nick`, `photo`, `site-pubkey`,
|
$r = q("INSERT INTO `contact` ( `uid`, `created`,`url`, `nurl`, `name`, `nick`, `photo`, `site-pubkey`,
|
||||||
`request`, `confirm`, `notify`, `poll`, `poco`, `network`, `aes_allow`, `hidden`)
|
`request`, `confirm`, `notify`, `poll`, `poco`, `network`, `aes_allow`, `hidden`)
|
||||||
VALUES ( %d, '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d)",
|
VALUES ( %d, '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d)",
|
||||||
intval(local_user()),
|
intval(local_user()),
|
||||||
datetime_convert(),
|
datetime_convert(),
|
||||||
|
@ -216,17 +218,17 @@ function dfrn_request_post(&$a) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Otherwise:
|
* Otherwise:
|
||||||
*
|
*
|
||||||
* Scenario 1:
|
* Scenario 1:
|
||||||
* We are the requestee. A person from a remote cell has made an introduction
|
* We are the requestee. A person from a remote cell has made an introduction
|
||||||
* on our profile web page and clicked submit. We will use their DFRN-URL to
|
* on our profile web page and clicked submit. We will use their DFRN-URL to
|
||||||
* figure out how to contact their cell.
|
* figure out how to contact their cell.
|
||||||
*
|
*
|
||||||
* Scrape the originating DFRN-URL for everything we need. Create a contact record
|
* Scrape the originating DFRN-URL for everything we need. Create a contact record
|
||||||
* and an introduction to show our user next time he/she logs in.
|
* and an introduction to show our user next time he/she logs in.
|
||||||
* Finally redirect back to the requestor so that their site can record the request.
|
* Finally redirect back to the requestor so that their site can record the request.
|
||||||
* If our user (the requestee) later confirms this request, a record of it will need
|
* If our user (the requestee) later confirms this request, a record of it will need
|
||||||
* to exist on the requestor's cell in order for the confirmation process to complete..
|
* to exist on the requestor's cell in order for the confirmation process to complete..
|
||||||
*
|
*
|
||||||
* It's possible that neither the requestor or the requestee are logged in at the moment,
|
* It's possible that neither the requestor or the requestee are logged in at the moment,
|
||||||
* and the requestor does not yet have any credentials to the requestee profile.
|
* and the requestor does not yet have any credentials to the requestee profile.
|
||||||
|
@ -266,19 +268,19 @@ function dfrn_request_post(&$a) {
|
||||||
notice( t('Spam protection measures have been invoked.') . EOL);
|
notice( t('Spam protection measures have been invoked.') . EOL);
|
||||||
notice( t('Friends are advised to please try again in 24 hours.') . EOL);
|
notice( t('Friends are advised to please try again in 24 hours.') . EOL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Cleanup old introductions that remain blocked.
|
* Cleanup old introductions that remain blocked.
|
||||||
* Also remove the contact record, but only if there is no existing relationship
|
* Also remove the contact record, but only if there is no existing relationship
|
||||||
* Do not remove email contacts as these may be awaiting email verification
|
* Do not remove email contacts as these may be awaiting email verification
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$r = q("SELECT `intro`.*, `intro`.`id` AS `iid`, `contact`.`id` AS `cid`, `contact`.`rel`
|
$r = q("SELECT `intro`.*, `intro`.`id` AS `iid`, `contact`.`id` AS `cid`, `contact`.`rel`
|
||||||
FROM `intro` LEFT JOIN `contact` on `intro`.`contact-id` = `contact`.`id`
|
FROM `intro` LEFT JOIN `contact` on `intro`.`contact-id` = `contact`.`id`
|
||||||
WHERE `intro`.`blocked` = 1 AND `contact`.`self` = 0
|
WHERE `intro`.`blocked` = 1 AND `contact`.`self` = 0
|
||||||
AND `contact`.`network` != '%s'
|
AND `contact`.`network` != '%s'
|
||||||
AND `intro`.`datetime` < UTC_TIMESTAMP() - INTERVAL 30 MINUTE ",
|
AND `intro`.`datetime` < UTC_TIMESTAMP() - INTERVAL 30 MINUTE ",
|
||||||
dbesc(NETWORK_MAIL2)
|
dbesc(NETWORK_MAIL2)
|
||||||
|
@ -401,13 +403,13 @@ function dfrn_request_post(&$a) {
|
||||||
|
|
||||||
$photo = avatar_img($addr);
|
$photo = avatar_img($addr);
|
||||||
|
|
||||||
$r = q("UPDATE `contact` SET
|
$r = q("UPDATE `contact` SET
|
||||||
`photo` = '%s',
|
`photo` = '%s',
|
||||||
`thumb` = '%s',
|
`thumb` = '%s',
|
||||||
`micro` = '%s',
|
`micro` = '%s',
|
||||||
`name-date` = '%s',
|
`name-date` = '%s',
|
||||||
`uri-date` = '%s',
|
`uri-date` = '%s',
|
||||||
`avatar-date` = '%s',
|
`avatar-date` = '%s',
|
||||||
`hidden` = 0,
|
`hidden` = 0,
|
||||||
WHERE `id` = %d
|
WHERE `id` = %d
|
||||||
",
|
",
|
||||||
|
@ -464,7 +466,7 @@ function dfrn_request_post(&$a) {
|
||||||
|
|
||||||
|
|
||||||
if($network === NETWORK_DFRN) {
|
if($network === NETWORK_DFRN) {
|
||||||
$ret = q("SELECT * FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `self` = 0 LIMIT 1",
|
$ret = q("SELECT * FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `self` = 0 LIMIT 1",
|
||||||
intval($uid),
|
intval($uid),
|
||||||
dbesc($url)
|
dbesc($url)
|
||||||
);
|
);
|
||||||
|
@ -506,7 +508,7 @@ function dfrn_request_post(&$a) {
|
||||||
goaway($a->get_baseurl() . '/' . $a->cmd);
|
goaway($a->get_baseurl() . '/' . $a->cmd);
|
||||||
return; // NOTREACHED
|
return; // NOTREACHED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
require_once('include/Scrape.php');
|
require_once('include/Scrape.php');
|
||||||
|
|
||||||
|
@ -521,12 +523,12 @@ function dfrn_request_post(&$a) {
|
||||||
notice( t('Warning: profile location has no identifiable owner name.') . EOL );
|
notice( t('Warning: profile location has no identifiable owner name.') . EOL );
|
||||||
if(! x($parms,'photo'))
|
if(! x($parms,'photo'))
|
||||||
notice( t('Warning: profile location has no profile photo.') . EOL );
|
notice( t('Warning: profile location has no profile photo.') . EOL );
|
||||||
$invalid = validate_dfrn($parms);
|
$invalid = validate_dfrn($parms);
|
||||||
if($invalid) {
|
if($invalid) {
|
||||||
notice( sprintf( tt("%d required parameter was not found at the given location",
|
notice( sprintf( tt("%d required parameter was not found at the given location",
|
||||||
"%d required parameters were not found at the given location",
|
"%d required parameters were not found at the given location",
|
||||||
$invalid), $invalid) . EOL );
|
$invalid), $invalid) . EOL );
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -591,7 +593,7 @@ function dfrn_request_post(&$a) {
|
||||||
|
|
||||||
// This notice will only be seen by the requestor if the requestor and requestee are on the same server.
|
// This notice will only be seen by the requestor if the requestor and requestee are on the same server.
|
||||||
|
|
||||||
if(! $failed)
|
if(! $failed)
|
||||||
info( t('Your introduction has been sent.') . EOL );
|
info( t('Your introduction has been sent.') . EOL );
|
||||||
|
|
||||||
// "Homecoming" - send the requestor back to their site to record the introduction.
|
// "Homecoming" - send the requestor back to their site to record the introduction.
|
||||||
|
@ -599,21 +601,21 @@ function dfrn_request_post(&$a) {
|
||||||
$dfrn_url = bin2hex($a->get_baseurl() . '/profile/' . $nickname);
|
$dfrn_url = bin2hex($a->get_baseurl() . '/profile/' . $nickname);
|
||||||
$aes_allow = ((function_exists('openssl_encrypt')) ? 1 : 0);
|
$aes_allow = ((function_exists('openssl_encrypt')) ? 1 : 0);
|
||||||
|
|
||||||
goaway($parms['dfrn-request'] . "?dfrn_url=$dfrn_url"
|
goaway($parms['dfrn-request'] . "?dfrn_url=$dfrn_url"
|
||||||
. '&dfrn_version=' . DFRN_PROTOCOL_VERSION
|
. '&dfrn_version=' . DFRN_PROTOCOL_VERSION
|
||||||
. '&confirm_key=' . $hash
|
. '&confirm_key=' . $hash
|
||||||
. (($aes_allow) ? "&aes_allow=1" : "")
|
. (($aes_allow) ? "&aes_allow=1" : "")
|
||||||
);
|
);
|
||||||
// NOTREACHED
|
// NOTREACHED
|
||||||
// END $network === NETWORK_DFRN
|
// END $network === NETWORK_DFRN
|
||||||
}
|
}
|
||||||
elseif($network === NETWORK_OSTATUS) {
|
elseif($network === NETWORK_OSTATUS) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* OStatus network
|
* OStatus network
|
||||||
* Check contact existence
|
* Check contact existence
|
||||||
* Try and scrape together enough information to create a contact record,
|
* Try and scrape together enough information to create a contact record,
|
||||||
* with us as CONTACT_IS_FOLLOWER
|
* with us as CONTACT_IS_FOLLOWER
|
||||||
* Substitute our user's feed URL into $url template
|
* Substitute our user's feed URL into $url template
|
||||||
* Send the subscriber home to subscribe
|
* Send the subscriber home to subscribe
|
||||||
|
@ -655,7 +657,7 @@ function dfrn_request_content(&$a) {
|
||||||
return login();
|
return login();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Edge case, but can easily happen in the wild. This person is authenticated,
|
// Edge case, but can easily happen in the wild. This person is authenticated,
|
||||||
// but not as the person who needs to deal with this request.
|
// but not as the person who needs to deal with this request.
|
||||||
|
|
||||||
if ($a->user['nickname'] != $a->argv[1]) {
|
if ($a->user['nickname'] != $a->argv[1]) {
|
||||||
|
@ -683,11 +685,11 @@ function dfrn_request_content(&$a) {
|
||||||
return $o;
|
return $o;
|
||||||
|
|
||||||
}
|
}
|
||||||
elseif((x($_GET,'confirm_key')) && strlen($_GET['confirm_key'])) {
|
elseif((x($_GET,'confirm_key')) && strlen($_GET['confirm_key'])) {
|
||||||
|
|
||||||
// we are the requestee and it is now safe to send our user their introduction,
|
// we are the requestee and it is now safe to send our user their introduction,
|
||||||
// We could just unblock it, but first we have to jump through a few hoops to
|
// We could just unblock it, but first we have to jump through a few hoops to
|
||||||
// send an email, or even to find out if we need to send an email.
|
// send an email, or even to find out if we need to send an email.
|
||||||
|
|
||||||
$intro = q("SELECT * FROM `intro` WHERE `hash` = '%s' LIMIT 1",
|
$intro = q("SELECT * FROM `intro` WHERE `hash` = '%s' LIMIT 1",
|
||||||
dbesc($_GET['confirm_key'])
|
dbesc($_GET['confirm_key'])
|
||||||
|
@ -707,7 +709,7 @@ function dfrn_request_content(&$a) {
|
||||||
$auto_confirm = true;
|
$auto_confirm = true;
|
||||||
|
|
||||||
if(! $auto_confirm) {
|
if(! $auto_confirm) {
|
||||||
require_once('include/enotify.php');
|
|
||||||
notification(array(
|
notification(array(
|
||||||
'type' => NOTIFY_INTRO,
|
'type' => NOTIFY_INTRO,
|
||||||
'notify_flags' => $r[0]['notify-flags'],
|
'notify_flags' => $r[0]['notify-flags'],
|
||||||
|
@ -758,7 +760,7 @@ function dfrn_request_content(&$a) {
|
||||||
/**
|
/**
|
||||||
* Normal web request. Display our user's introduction form.
|
* Normal web request. Display our user's introduction form.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
||||||
if(! get_config('system','local_block')) {
|
if(! get_config('system','local_block')) {
|
||||||
notice( t('Public access denied.') . EOL);
|
notice( t('Public access denied.') . EOL);
|
||||||
|
@ -793,7 +795,7 @@ function dfrn_request_content(&$a) {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* The auto_request form only has the profile address
|
* The auto_request form only has the profile address
|
||||||
* because nobody is going to read the comments and
|
* because nobody is going to read the comments and
|
||||||
* it doesn't matter if they know you or not.
|
* it doesn't matter if they know you or not.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('include/email.php');
|
require_once('include/email.php');
|
||||||
|
require_once('include/enotify.php');
|
||||||
|
require_once('include/text.php');
|
||||||
|
|
||||||
function lostpass_post(&$a) {
|
function lostpass_post(&$a) {
|
||||||
|
|
||||||
|
@ -32,23 +34,47 @@ function lostpass_post(&$a) {
|
||||||
if($r)
|
if($r)
|
||||||
info( t('Password reset request issued. Check your email.') . EOL);
|
info( t('Password reset request issued. Check your email.') . EOL);
|
||||||
|
|
||||||
$email_tpl = get_intltext_template("lostpass_eml.tpl");
|
|
||||||
$email_tpl = replace_macros($email_tpl, array(
|
|
||||||
'$sitename' => $a->config['sitename'],
|
|
||||||
'$siteurl' => $a->get_baseurl(),
|
|
||||||
'$username' => $username,
|
|
||||||
'$email' => $email,
|
|
||||||
'$reset_link' => $a->get_baseurl() . '/lostpass?verify=' . $new_password
|
|
||||||
));
|
|
||||||
|
|
||||||
$res = mail($email, email_header_encode(sprintf( t('Password reset requested at %s'),$a->config['sitename']),'UTF-8'),
|
$sitename = $a->config['sitename'];
|
||||||
$email_tpl,
|
$siteurl = $a->get_baseurl();
|
||||||
'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
|
$resetlink = $a->get_baseurl() . '/lostpass?verify=' . $new_password;
|
||||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
|
||||||
. 'Content-transfer-encoding: 8bit' );
|
|
||||||
|
|
||||||
|
$preamble = deindent(t('
|
||||||
|
Dear %1$s,
|
||||||
|
A request was recently received at "%2$s" to reset your account
|
||||||
|
password. In order to confirm this request, please select the verification link
|
||||||
|
below or paste it into your web browser address bar.
|
||||||
|
|
||||||
|
If you did NOT request this change, please DO NOT follow the link
|
||||||
|
provided and ignore and/or delete this email.
|
||||||
|
|
||||||
|
Your password will not be changed unless we can verify that you
|
||||||
|
issued this request.'));
|
||||||
|
$body = deindent(t('
|
||||||
|
Follow this link to verify your identity:
|
||||||
|
|
||||||
|
%1$s
|
||||||
|
|
||||||
|
You will then receive a follow-up message containing the new password.
|
||||||
|
You may change that password from your account settings page after logging in.
|
||||||
|
|
||||||
|
The login details are as follows:
|
||||||
|
|
||||||
|
Site Location: %2$s
|
||||||
|
Login Name: %3$s'));
|
||||||
|
|
||||||
|
$preamble = sprintf($preamble, $username, $sitename);
|
||||||
|
$body = sprintf($body, $resetlink, $siteurl, $email);
|
||||||
|
|
||||||
|
notification(array(
|
||||||
|
'type' => "SYSTEM_EMAIL",
|
||||||
|
'to_email' => $email,
|
||||||
|
'subject'=> sprintf( t('Password reset requested at %s'),$sitename),
|
||||||
|
'preamble'=> $preamble,
|
||||||
|
'body' => $body));
|
||||||
|
|
||||||
goaway(z_root());
|
goaway(z_root());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -63,9 +89,8 @@ function lostpass_content(&$a) {
|
||||||
dbesc($hash)
|
dbesc($hash)
|
||||||
);
|
);
|
||||||
if(! count($r)) {
|
if(! count($r)) {
|
||||||
notice( t("Request could not be verified. \x28You may have previously submitted it.\x29 Password reset failed.") . EOL);
|
$o = t("Request could not be verified. \x28You may have previously submitted it.\x29 Password reset failed.");
|
||||||
goaway(z_root());
|
return $o;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
$uid = $r[0]['uid'];
|
$uid = $r[0]['uid'];
|
||||||
$username = $r[0]['username'];
|
$username = $r[0]['username'];
|
||||||
|
@ -94,26 +119,38 @@ function lostpass_content(&$a) {
|
||||||
info("Your password has been reset." . EOL);
|
info("Your password has been reset." . EOL);
|
||||||
|
|
||||||
|
|
||||||
|
$sitename = $a->config['sitename'];
|
||||||
|
$siteurl = $a->get_baseurl();
|
||||||
|
// $username, $email, $new_password
|
||||||
|
$preamble = deindent(t('
|
||||||
|
Dear %1$s,
|
||||||
|
Your password has been changed as requested. Please retain this
|
||||||
|
information for your records (or change your password immediately to
|
||||||
|
something that you will remember).
|
||||||
|
'));
|
||||||
|
$body = deindent(t('
|
||||||
|
Your login details are as follows:
|
||||||
|
|
||||||
$email_tpl = get_intltext_template("passchanged_eml.tpl");
|
Site Location: %1$s
|
||||||
$email_tpl = replace_macros($email_tpl, array(
|
Login Name: %2$s
|
||||||
'$sitename' => $a->config['sitename'],
|
Password: %3$s
|
||||||
'$siteurl' => $a->get_baseurl(),
|
|
||||||
'$username' => $username,
|
|
||||||
'$email' => $email,
|
|
||||||
'$new_password' => $new_password,
|
|
||||||
'$uid' => $newuid ));
|
|
||||||
|
|
||||||
$subject = sprintf( t('Your password has been changed at %s'), $a->config['sitename']);
|
You may change that password from your account settings page after logging in.
|
||||||
|
'));
|
||||||
|
|
||||||
$res = mail($email, email_header_encode( $subject, 'UTF-8'), $email_tpl,
|
$preamble = sprintf($preamble, $username);
|
||||||
'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
|
$body = sprintf($body, $siteurl, $email, $new_password);
|
||||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
|
||||||
. 'Content-transfer-encoding: 8bit' );
|
notification(array(
|
||||||
|
'type' => "SYSTEM_EMAIL",
|
||||||
|
'to_email' => $email,
|
||||||
|
'subject'=> sprintf( t('Your password has been changed at %s'),$sitename),
|
||||||
|
'preamble'=> $preamble,
|
||||||
|
'body' => $body));
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$tpl = get_markup_template('lostpass.tpl');
|
$tpl = get_markup_template('lostpass.tpl');
|
||||||
|
@ -122,7 +159,7 @@ function lostpass_content(&$a) {
|
||||||
'$title' => t('Forgot your Password?'),
|
'$title' => t('Forgot your Password?'),
|
||||||
'$desc' => t('Enter your email address and submit to have your password reset. Then check your email for further instructions.'),
|
'$desc' => t('Enter your email address and submit to have your password reset. Then check your email for further instructions.'),
|
||||||
'$name' => t('Nickname or Email: '),
|
'$name' => t('Nickname or Email: '),
|
||||||
'$submit' => t('Reset')
|
'$submit' => t('Reset')
|
||||||
));
|
));
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('include/email.php');
|
require_once('include/enotify.php');
|
||||||
require_once('include/bbcode.php');
|
require_once('include/bbcode.php');
|
||||||
|
require_once('include/user.php');
|
||||||
|
|
||||||
if(! function_exists('register_post')) {
|
if(! function_exists('register_post')) {
|
||||||
function register_post(&$a) {
|
function register_post(&$a) {
|
||||||
|
@ -45,7 +46,7 @@ function register_post(&$a) {
|
||||||
$verified = 0;
|
$verified = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
require_once('include/user.php');
|
require_once('include/user.php');
|
||||||
|
|
||||||
|
@ -62,7 +63,7 @@ function register_post(&$a) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$user = $result['user'];
|
$user = $result['user'];
|
||||||
|
|
||||||
if($netpublish && $a->config['register_policy'] != REGISTER_APPROVE) {
|
if($netpublish && $a->config['register_policy'] != REGISTER_APPROVE) {
|
||||||
$url = $a->get_baseurl() . '/profile/' . $user['nickname'];
|
$url = $a->get_baseurl() . '/profile/' . $user['nickname'];
|
||||||
proc_run('php',"include/directory.php","$url");
|
proc_run('php',"include/directory.php","$url");
|
||||||
|
@ -80,20 +81,12 @@ function register_post(&$a) {
|
||||||
set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
|
set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
|
||||||
}
|
}
|
||||||
|
|
||||||
$email_tpl = get_intltext_template("register_open_eml.tpl");
|
send_register_open_eml(
|
||||||
$email_tpl = replace_macros($email_tpl, array(
|
$user['email'],
|
||||||
'$sitename' => $a->config['sitename'],
|
$a->config['sitename'],
|
||||||
'$siteurl' => $a->get_baseurl(),
|
$a->get_baseurl(),
|
||||||
'$username' => $user['username'],
|
$user['username'],
|
||||||
'$email' => $user['email'],
|
$result['password']);
|
||||||
'$password' => $result['password'],
|
|
||||||
'$uid' => $user['uid'] ));
|
|
||||||
|
|
||||||
$res = mail($user['email'], email_header_encode( sprintf( t('Registration details for %s'), $a->config['sitename']),'UTF-8'),
|
|
||||||
$email_tpl,
|
|
||||||
'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
|
|
||||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
|
||||||
. 'Content-transfer-encoding: 8bit' );
|
|
||||||
|
|
||||||
|
|
||||||
if($res) {
|
if($res) {
|
||||||
|
@ -119,46 +112,40 @@ function register_post(&$a) {
|
||||||
dbesc($lang)
|
dbesc($lang)
|
||||||
);
|
);
|
||||||
|
|
||||||
$adminlist = explode(",", str_replace(" ", "", $a->config['admin_email']));
|
// invite system
|
||||||
|
|
||||||
$r = q("SELECT `language` FROM `user` WHERE `email` = '%s' LIMIT 1",
|
|
||||||
//dbesc($a->config['admin_email'])
|
|
||||||
dbesc($adminlist[0])
|
|
||||||
);
|
|
||||||
if(count($r))
|
|
||||||
push_lang($r[0]['language']);
|
|
||||||
else
|
|
||||||
push_lang('en');
|
|
||||||
|
|
||||||
if($using_invites && $invite_id) {
|
if($using_invites && $invite_id) {
|
||||||
q("delete * from register where hash = '%s' limit 1", dbesc($invite_id));
|
q("delete * from register where hash = '%s' limit 1", dbesc($invite_id));
|
||||||
set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
|
set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
|
||||||
}
|
}
|
||||||
|
|
||||||
$email_tpl = get_intltext_template("register_verify_eml.tpl");
|
// send email to admins
|
||||||
$email_tpl = replace_macros($email_tpl, array(
|
$admin_mail_list = "'".implode("','", array_map(dbesc, explode(",", str_replace(" ", "", $a->config['admin_email']))))."'";
|
||||||
'$sitename' => $a->config['sitename'],
|
$adminlist = q("SELECT uid, language, email FROM user WHERE email IN (%s)",
|
||||||
'$siteurl' => $a->get_baseurl(),
|
$admin_mail_list
|
||||||
'$username' => $user['username'],
|
);
|
||||||
'$email' => $user['email'],
|
|
||||||
'$password' => $result['password'],
|
|
||||||
'$uid' => $user['uid'],
|
|
||||||
'$hash' => $hash
|
|
||||||
));
|
|
||||||
|
|
||||||
$res = mail($a->config['admin_email'], email_header_encode( sprintf(t('Registration request at %s'), $a->config['sitename']),'UTF-8'),
|
|
||||||
$email_tpl,
|
|
||||||
'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
|
|
||||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
|
||||||
. 'Content-transfer-encoding: 8bit' );
|
|
||||||
|
|
||||||
pop_lang();
|
foreach ($adminlist as $admin) {
|
||||||
|
notification(array(
|
||||||
if($res) {
|
'type' => NOTIFY_SYSTEM,
|
||||||
info( t('Your registration is pending approval by the site owner.') . EOL ) ;
|
'event' => 'SYSTEM_REGISTER_REQUEST',
|
||||||
goaway(z_root());
|
'source_name' => $user['username'],
|
||||||
|
'source_mail' => $user['email'],
|
||||||
|
'source_nick' => $user['nickname'],
|
||||||
|
'source_link' => $a->get_baseurl()."/admin/users/",
|
||||||
|
'link' => $a->get_baseurl()."/admin/users/",
|
||||||
|
'source_photo' => $a->get_baseurl() . "/photo/avatar/".$user['uid'].".jpg",
|
||||||
|
'to_email' => $admin['mail'],
|
||||||
|
'uid' => $admin['uid'],
|
||||||
|
'language' => ($admin['language']?$admin['language']:'en'))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
info( t('Your registration is pending approval by the site owner.') . EOL ) ;
|
||||||
|
goaway(z_root());
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('include/email.php');
|
require_once('include/enotify.php');
|
||||||
|
|
||||||
function user_allow($hash) {
|
function user_allow($hash) {
|
||||||
|
|
||||||
|
@ -41,21 +41,12 @@ function user_allow($hash) {
|
||||||
|
|
||||||
push_lang($register[0]['language']);
|
push_lang($register[0]['language']);
|
||||||
|
|
||||||
$email_tpl = get_intltext_template("register_open_eml.tpl");
|
send_register_open_eml(
|
||||||
$email_tpl = replace_macros($email_tpl, array(
|
$user[0]['email'],
|
||||||
'$sitename' => $a->config['sitename'],
|
$a->config['sitename'],
|
||||||
'$siteurl' => $a->get_baseurl(),
|
$a->get_baseurl(),
|
||||||
'$username' => $user[0]['username'],
|
$user[0]['username'],
|
||||||
'$email' => $user[0]['email'],
|
$register[0]['password']);
|
||||||
'$password' => $register[0]['password'],
|
|
||||||
'$uid' => $user[0]['uid']
|
|
||||||
));
|
|
||||||
|
|
||||||
$res = mail($user[0]['email'], email_header_encode( sprintf(t('Registration details for %s'), $a->config['sitename']), 'UTF-8'),
|
|
||||||
$email_tpl,
|
|
||||||
'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
|
|
||||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
|
||||||
. 'Content-transfer-encoding: 8bit' );
|
|
||||||
|
|
||||||
pop_lang();
|
pop_lang();
|
||||||
|
|
||||||
|
|
12983
util/messages.po
12983
util/messages.po
File diff suppressed because it is too large
Load diff
|
@ -1,13 +0,0 @@
|
||||||
|
|
||||||
Apreciat/da $myname,
|
|
||||||
|
|
||||||
Tens un nou seguidor en $sitename - '$requestor'.
|
|
||||||
|
|
||||||
Pots visitar el seu perfil en $url.
|
|
||||||
|
|
||||||
Iniciï sessió en el seu lloc per a aprovar o rebutjar/cancelar la sol·licitud.
|
|
||||||
|
|
||||||
$siteurl
|
|
||||||
|
|
||||||
|
|
||||||
$sitename
|
|
|
@ -1,19 +0,0 @@
|
||||||
|
|
||||||
Apreciat/da $username,
|
|
||||||
|
|
||||||
Grans noticies... '$fn' a '$dfrn_url' ha acceptat la teva sol·licitud de connexió en '$sitename'.
|
|
||||||
|
|
||||||
Ara sous amics mutus i podreu intercanviar actualizacions de estatus, fotos, i correu electrónic
|
|
||||||
sense cap restricció.
|
|
||||||
|
|
||||||
Visita la teva pàgina de 'Contactes' en $sitename si desitja realizar qualsevol canvi en aquesta relació.
|
|
||||||
|
|
||||||
$siteurl
|
|
||||||
|
|
||||||
[Per exemple, pots crear un perfil independent amb informació que no esta disponible al públic en general
|
|
||||||
- i assignar drets de visualització a '$fn'].
|
|
||||||
|
|
||||||
|
|
||||||
$sitename
|
|
||||||
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
|
|
||||||
Apreciat/da $username,
|
|
||||||
|
|
||||||
'$fn' en '$dfrn_url' ha acceptat la teva petició
|
|
||||||
connexió a '$sitename'.
|
|
||||||
|
|
||||||
'$fn' ha optat per acceptar-te com a "fan", que restringeix certes
|
|
||||||
formes de comunicació, com missatges privats i algunes interaccions
|
|
||||||
amb el perfil. Si ets una "celebritat" o una pàgina de comunitat,
|
|
||||||
aquests ajustos s'aplican automàticament
|
|
||||||
|
|
||||||
'$fn' pot optar per extendre aixó en una relació més permisiva
|
|
||||||
en el futur.
|
|
||||||
|
|
||||||
Començaràs a rebre les actualizacions públiques de estatus de '$fn',
|
|
||||||
que apareixeran a la teva pàgina "Xarxa" en
|
|
||||||
|
|
||||||
$siteurl
|
|
||||||
|
|
||||||
|
|
||||||
$sitename
|
|
|
@ -1,35 +0,0 @@
|
||||||
|
|
||||||
Apreciat/da $username,
|
|
||||||
|
|
||||||
S'ha rebut una sol·licitud en $sitename recentment per restablir
|
|
||||||
la teva contrasenya. Per confirmar aquesta sol·licitud, per favor seleccioni l'enllaç de
|
|
||||||
verificació sota o copia-ho i pega-ho en la barra d'adreces del teu navegador.
|
|
||||||
|
|
||||||
Si NO has sol·licitat aquest canvi, per favor NO segueixis l'enllaç indicat i ignora
|
|
||||||
i/o elimina aquest missatge.
|
|
||||||
|
|
||||||
La teva contrasenya no es canviarà tret que puguem verificar que ets la teva qui
|
|
||||||
va emetre aquesta sol·licitud.
|
|
||||||
|
|
||||||
Segueix aquest enllaç per verificar la teva identitat:
|
|
||||||
|
|
||||||
$reset_link
|
|
||||||
|
|
||||||
A continuació rebràs un missatge amb la nova contrasenya.
|
|
||||||
|
|
||||||
Després de accedir, podràs canviar la contrasenya del teu compte a la pàgina de
|
|
||||||
configuració.
|
|
||||||
|
|
||||||
Les dades d'accés són els següents:
|
|
||||||
|
|
||||||
|
|
||||||
Lloc: $siteurl
|
|
||||||
Nom: $email
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Salutacions,
|
|
||||||
L'administració de $sitename
|
|
||||||
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
|
|
||||||
Apreciat/da $username,
|
|
||||||
|
|
||||||
La teva contrasenya ha estat modificada com has sol·licitat. Pren nota d'aquesta informació
|
|
||||||
(o canvía immediatament la contrasenya amb quelcom que recordis).
|
|
||||||
|
|
||||||
|
|
||||||
Les teves dades d'accés son les següents:
|
|
||||||
|
|
||||||
Lloc: $siteurl
|
|
||||||
Nom: $email
|
|
||||||
Contrasenya: $new_password
|
|
||||||
|
|
||||||
Després d'accedir pots canviar la contrasenya des de la pàgina de configuració del teu perfil.
|
|
||||||
|
|
||||||
|
|
||||||
$sitename
|
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
Apreciat/da $username,
|
|
||||||
|
|
||||||
Gràcies per registrar-te en $sitename. El teu compte ha estat creat.
|
|
||||||
|
|
||||||
|
|
||||||
Les dades d'accés són les següents:
|
|
||||||
|
|
||||||
|
|
||||||
Lloc: $siteurl
|
|
||||||
Nom: $email
|
|
||||||
Contrasenya: $password
|
|
||||||
|
|
||||||
|
|
||||||
Després d'accedir pots canviar la teva contrasenya a la pàgina de "Configuració".
|
|
||||||
|
|
||||||
Pren un moment per revisar les altres configuracions del compte en aquesta pàgina.
|
|
||||||
|
|
||||||
|
|
||||||
Gràcies i benvingut/da $sitename.
|
|
||||||
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
S'ha rebut la sol·licitud de registre d'un nou usuari en
|
|
||||||
$sitename que requereix la teva aprovació.
|
|
||||||
|
|
||||||
Les dades d'accés són els següents:
|
|
||||||
|
|
||||||
Nom Complet: $username
|
|
||||||
Lloc: $siteurl
|
|
||||||
Nom: $email
|
|
||||||
|
|
||||||
|
|
||||||
Per aprovar aquesta sol·licitud, visita el següent enllaç:
|
|
||||||
|
|
||||||
$siteurl/regmod/allow/$hash
|
|
||||||
|
|
||||||
Per denegar la sol·licitud i eliminar el compte, per favor visita:
|
|
||||||
|
|
||||||
$siteurl/regmod/deny/$hash
|
|
||||||
|
|
||||||
|
|
||||||
Gràcies.
|
|
||||||
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
|
|
||||||
Apreciat/da $myname,
|
|
||||||
|
|
||||||
Acabes de rebre una sol·licitud de connexió de '$requestor' en $sitename.
|
|
||||||
|
|
||||||
Pots visitar el seu perfil en $url.
|
|
||||||
|
|
||||||
Accedeix al teu lloc per a veure la presentació completa i acceptar o ignorar/cancel·lar la sol·licitud.
|
|
||||||
|
|
||||||
$siteurl
|
|
||||||
|
|
||||||
|
|
||||||
$sitename
|
|
|
@ -1,14 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Apreciat/da {{$myname}},
|
|
||||||
|
|
||||||
Tens un nou seguidor en {{$sitename}} - '{{$requestor}}'.
|
|
||||||
|
|
||||||
Pots visitar el seu perfil en {{$url}}.
|
|
||||||
|
|
||||||
Iniciï sessió en el seu lloc per a aprovar o rebutjar/cancelar la sol·licitud.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
|
|
||||||
{{$sitename}}
|
|
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Apreciat/da {{$username}},
|
|
||||||
|
|
||||||
Grans noticies... '{{$fn}}' a '{{$dfrn_url}}' ha acceptat la teva sol·licitud de connexió en '{{$sitename}}'.
|
|
||||||
|
|
||||||
Ara sous amics mutus i podreu intercanviar actualizacions de estatus, fotos, i correu electrónic
|
|
||||||
sense cap restricció.
|
|
||||||
|
|
||||||
Visita la teva pàgina de 'Contactes' en {{$sitename}} si desitja realizar qualsevol canvi en aquesta relació.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
[Per exemple, pots crear un perfil independent amb informació que no esta disponible al públic en general
|
|
||||||
- i assignar drets de visualització a '{{$fn}}'].
|
|
||||||
|
|
||||||
|
|
||||||
{{$sitename}}
|
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Apreciat/da {{$username}},
|
|
||||||
|
|
||||||
'{{$fn}}' en '{{$dfrn_url}}' ha acceptat la teva petició
|
|
||||||
connexió a '{{$sitename}}'.
|
|
||||||
|
|
||||||
'{{$fn}}' ha optat per acceptar-te com a "fan", que restringeix certes
|
|
||||||
formes de comunicació, com missatges privats i algunes interaccions
|
|
||||||
amb el perfil. Si ets una "celebritat" o una pàgina de comunitat,
|
|
||||||
aquests ajustos s'aplican automàticament
|
|
||||||
|
|
||||||
'{{$fn}}' pot optar per extendre aixó en una relació més permisiva
|
|
||||||
en el futur.
|
|
||||||
|
|
||||||
Començaràs a rebre les actualizacions públiques de estatus de '{{$fn}}',
|
|
||||||
que apareixeran a la teva pàgina "Xarxa" en
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
|
|
||||||
{{$sitename}}
|
|
|
@ -1,36 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Apreciat/da {{$username}},
|
|
||||||
|
|
||||||
S'ha rebut una sol·licitud en {{$sitename}} recentment per restablir
|
|
||||||
la teva contrasenya. Per confirmar aquesta sol·licitud, per favor seleccioni l'enllaç de
|
|
||||||
verificació sota o copia-ho i pega-ho en la barra d'adreces del teu navegador.
|
|
||||||
|
|
||||||
Si NO has sol·licitat aquest canvi, per favor NO segueixis l'enllaç indicat i ignora
|
|
||||||
i/o elimina aquest missatge.
|
|
||||||
|
|
||||||
La teva contrasenya no es canviarà tret que puguem verificar que ets la teva qui
|
|
||||||
va emetre aquesta sol·licitud.
|
|
||||||
|
|
||||||
Segueix aquest enllaç per verificar la teva identitat:
|
|
||||||
|
|
||||||
{{$reset_link}}
|
|
||||||
|
|
||||||
A continuació rebràs un missatge amb la nova contrasenya.
|
|
||||||
|
|
||||||
Després de accedir, podràs canviar la contrasenya del teu compte a la pàgina de
|
|
||||||
configuració.
|
|
||||||
|
|
||||||
Les dades d'accés són els següents:
|
|
||||||
|
|
||||||
|
|
||||||
Lloc: {{$siteurl}}
|
|
||||||
Nom: {{$email}}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Salutacions,
|
|
||||||
L'administració de {{$sitename}}
|
|
||||||
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Apreciat/da {{$username}},
|
|
||||||
|
|
||||||
La teva contrasenya ha estat modificada com has sol·licitat. Pren nota d'aquesta informació
|
|
||||||
(o canvía immediatament la contrasenya amb quelcom que recordis).
|
|
||||||
|
|
||||||
|
|
||||||
Les teves dades d'accés son les següents:
|
|
||||||
|
|
||||||
Lloc: {{$siteurl}}
|
|
||||||
Nom: {{$email}}
|
|
||||||
Contrasenya: {{$new_password}}
|
|
||||||
|
|
||||||
Després d'accedir pots canviar la contrasenya des de la pàgina de configuració del teu perfil.
|
|
||||||
|
|
||||||
|
|
||||||
{{$sitename}}
|
|
||||||
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Apreciat/da {{$username}},
|
|
||||||
|
|
||||||
Gràcies per registrar-te en {{$sitename}}. El teu compte ha estat creat.
|
|
||||||
|
|
||||||
|
|
||||||
Les dades d'accés són les següents:
|
|
||||||
|
|
||||||
|
|
||||||
Lloc: {{$siteurl}}
|
|
||||||
Nom: {{$email}}
|
|
||||||
Contrasenya: {{$password}}
|
|
||||||
|
|
||||||
|
|
||||||
Després d'accedir pots canviar la teva contrasenya a la pàgina de "Configuració".
|
|
||||||
|
|
||||||
Pren un moment per revisar les altres configuracions del compte en aquesta pàgina.
|
|
||||||
|
|
||||||
|
|
||||||
Gràcies i benvingut/da {{$sitename}}.
|
|
||||||
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
S'ha rebut la sol·licitud de registre d'un nou usuari en
|
|
||||||
{{$sitename}} que requereix la teva aprovació.
|
|
||||||
|
|
||||||
Les dades d'accés són els següents:
|
|
||||||
|
|
||||||
Nom Complet: {{$username}}
|
|
||||||
Lloc: {{$siteurl}}
|
|
||||||
Nom: {{$email}}
|
|
||||||
|
|
||||||
|
|
||||||
Per aprovar aquesta sol·licitud, visita el següent enllaç:
|
|
||||||
|
|
||||||
{{$siteurl}}/regmod/allow/{{$hash}}
|
|
||||||
|
|
||||||
Per denegar la sol·licitud i eliminar el compte, per favor visita:
|
|
||||||
|
|
||||||
{{$siteurl}}/regmod/deny/{{$hash}}
|
|
||||||
|
|
||||||
|
|
||||||
Gràcies.
|
|
||||||
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Apreciat/da {{$myname}},
|
|
||||||
|
|
||||||
Acabes de rebre una sol·licitud de connexió de '{{$requestor}}' en {{$sitename}}.
|
|
||||||
|
|
||||||
Pots visitar el seu perfil en {{$url}}.
|
|
||||||
|
|
||||||
Accedeix al teu lloc per a veure la presentació completa i acceptar o ignorar/cancel·lar la sol·licitud.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
|
|
||||||
{{$sitename}}
|
|
|
@ -1,11 +0,0 @@
|
||||||
Cheic,
|
|
||||||
Jo soc a $sitename.
|
|
||||||
Els desenvolupadors de Friendica han alliberat una actualització $update recentment,
|
|
||||||
però quan vaig intentar actualitzar, quelcom terrible va anar malament.
|
|
||||||
Això necessita ser reparat aviat i no ho puc fer sol. Per favor, contacta amb
|
|
||||||
un desenvolupador de Friendica si no em pots ajudar per tu mateix. La meva base de dades es pot corrompre.
|
|
||||||
|
|
||||||
El missatge d'error va ser '$error'.
|
|
||||||
|
|
||||||
Ho lamento.
|
|
||||||
El teu servidor friendica a $siteurl
|
|
|
@ -1,14 +0,0 @@
|
||||||
|
|
||||||
Drahý/Drahá $[myname],
|
|
||||||
|
|
||||||
Máte nového následovatele na $[sitename] - '$[requestor]'.
|
|
||||||
|
|
||||||
Můžete si zobrazit jeho profil na $[url].
|
|
||||||
|
|
||||||
Prosím, přihlaste se na Vašem webu pro odsouhlasení nebo ignorování/zrušení této žádosti
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
S pozdravem
|
|
||||||
|
|
||||||
$[sitename] administrátor
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
Drahý/Drahá $[username],
|
|
||||||
|
|
||||||
Skvělé zprávy... '$[fn]' na '$[dfrn_url]' akceptoval
|
|
||||||
Vaši žádost o spojení na '$[sitename]'.
|
|
||||||
|
|
||||||
Jste nyní vzájemnými přáteli a můžete si vyměňovat aktualizace statusu, fotografií a emailů
|
|
||||||
bez omezení.
|
|
||||||
|
|
||||||
Navštivte prosím stránku "Kontakty" na $[sitename] pokud si přejete provést
|
|
||||||
jakékoliv změny v tomto vztahu.
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
[Například můžete vytvořit separátní profil s informacemi, které nebudou
|
|
||||||
dostupné pro veřejnost - a přidělit práva k němu pro čtení pro '$[fn]'].
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
|
|
||||||
$[sitename] administrátor
|
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
Drahý/Drahá $[username],
|
|
||||||
|
|
||||||
'$[fn]' na '$[dfrn_url]' akceptoval
|
|
||||||
Vaši žádost o připojení na '$[sitename]'.
|
|
||||||
|
|
||||||
'$[fn]' se rozhodl Vás akceptovat jako "fanouška", což omezuje
|
|
||||||
určité druhy komunikace, jako jsou soukromé zprávy a určité profilové
|
|
||||||
interakce. Pokud se jedná o účet celebrity nebo o kumunitní stránky, tato nastavení byla
|
|
||||||
použita automaticky.
|
|
||||||
|
|
||||||
'$[fn]' se může rozhodnout rozšířit tento vztah na oboustraný nebo méně restriktivní
|
|
||||||
vztah v budoucnosti.
|
|
||||||
|
|
||||||
Nyní začnete získávat veřejné aktualizace statusu od '$[fn]',
|
|
||||||
které se objeví na Vaší stránce "Síť" na
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
|
|
||||||
$[sitename] administrátor
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
Milý/Milá $username,
|
|
||||||
Na webu $sitename byl zaregistrován požadavek na znovunastavení hesla k Vašemu účtu. Pro potvrzení této žádosti prosím klikněte na potvrzovací odkaz níže, nebo si tento odkaz zkopírujte do adresního řádku prohlížeče.
|
|
||||||
Pokud jste o znovunastavení hesla NEŽÁDALI, prosím NEKLIKEJTE na tento odkaz a ignorujte tento e-mail nebo ho rovnou smažte.
|
|
||||||
|
|
||||||
Vaše heslo nebude změněno, dokud nebudeme mít potvrzení, že jste o tento požadavek zažádali právě Vy.
|
|
||||||
|
|
||||||
Klikněte na tento odkaz pro prověření Vaší identity:
|
|
||||||
|
|
||||||
$reset_link
|
|
||||||
|
|
||||||
Poté obdržíte další zprávu obsahující nové heslo.
|
|
||||||
|
|
||||||
Následně si toto heslo můžete změnit z vašeho účtu na stránce Nastavení.
|
|
||||||
|
|
||||||
Přihlašovací údaje jsou tato:
|
|
||||||
|
|
||||||
Adresa webu: $siteurl
|
|
||||||
Přihlašovací jméno: $email
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
|
|
||||||
$sitename administrátor
|
|
|
@ -1,14 +0,0 @@
|
||||||
|
|
||||||
Milý/Milá $username,
|
|
||||||
Vaše heslo bylo na Vaši žádost změněno. Prosím zaznamenejte si tuto informaci (nebo si Vaše heslo změňte na nějaké, které si budete pamatovat).
|
|
||||||
|
|
||||||
Vaše přihlašovací údaje jsou tato:
|
|
||||||
|
|
||||||
Adresa webu: $siteurl
|
|
||||||
Přihlašovací jméno: $email
|
|
||||||
Heslo: $new_password
|
|
||||||
|
|
||||||
Toto heslo si můžete změnit z vašeho účtu na stránce Nastavení poté, co se přihlásíte.
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
$sitename administrátor
|
|
|
@ -1,23 +0,0 @@
|
||||||
Milý/milá $username,
|
|
||||||
Díky za registraci na $sitename. Váš účet byl vytvořen.
|
|
||||||
Vaše přihlašovací údaje jsou tato:
|
|
||||||
|
|
||||||
Adresa webu: $siteurl
|
|
||||||
Přihlašovací jméno: $email
|
|
||||||
Heslo: $password
|
|
||||||
|
|
||||||
Toto heslo si můžete změnit z vašeho účtu na stránce "Nastavení" poté, co se přihlásíte.
|
|
||||||
|
|
||||||
Věnujte prosím chvíli revizi dalších nastavení Vašeho účtu na této stránce.
|
|
||||||
|
|
||||||
Můžete také přidat některé základní informace do Vašeho defaultního profilu (na stránce "Profily"), čímž umožníte jiným lidem Vás snadněji nalézt.
|
|
||||||
|
|
||||||
Doporučujeme nastavit celé jméno, přidat profilové foto, přidat nějaká profilová "klíčová slova" (což je velmi užitečné pro hledání nových přátel) a zemi, ve které žijete. Nemusíte zadávat víc informací.
|
|
||||||
|
|
||||||
Plně respektujeme Vaše právo na soukromí a žádná z výše uvedených položek není povinná.
|
|
||||||
Pokud jste nový a neznáte na tomto webu nikoho jiného, zadáním těchto položek můžete získat nové a zajímavé přátele.
|
|
||||||
|
|
||||||
Díky a vítejte na $sitename.
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
$sitename administrátor
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
Na webu $sitename byla vytvořena nová uživatelská registrace, která vyžaduje Vaše schválení.
|
|
||||||
|
|
||||||
Přihlašovací údaje jsou tato:
|
|
||||||
|
|
||||||
Celé jméno: $username
|
|
||||||
Adresa webu: $siteurl
|
|
||||||
Přihlašovací jméno: $email
|
|
||||||
|
|
||||||
Pro odsouhlasení tohoto požadavku prosím klikněte na následující odkaz:
|
|
||||||
|
|
||||||
|
|
||||||
$siteurl/regmod/allow/$hash
|
|
||||||
|
|
||||||
|
|
||||||
Pro zamítnutí žádosti a odstranění účtu prosím klikněte na tento odkaz:
|
|
||||||
|
|
||||||
|
|
||||||
$siteurl/regmod/deny/$hash
|
|
||||||
|
|
||||||
|
|
||||||
Díky.
|
|
|
@ -1,15 +0,0 @@
|
||||||
|
|
||||||
Milý/Milá $username,
|
|
||||||
|
|
||||||
Právě jste obdržel/obdržela požadavek na spojení na webu $sitename
|
|
||||||
|
|
||||||
od '$requestor'.
|
|
||||||
|
|
||||||
Můžete navštívit jeho/její profil na následujícím odkazu $url.
|
|
||||||
|
|
||||||
Přihlaste se na Váš web k zobrazení kompletní žádosti a odsouhlaste nebo ignorujte/zrušte tuto žádost.
|
|
||||||
|
|
||||||
$siteurl
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
$sitename administrátor
|
|
|
@ -1,15 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Milý/Milá {{$username}},
|
|
||||||
|
|
||||||
Máte nového následovatele na {{$sitename}} - '{{$requestor}}'.
|
|
||||||
|
|
||||||
Můžete si prohlédnout jeho/její profil na {{$url}}.
|
|
||||||
|
|
||||||
Přihlaste se na váš server k odsouhlasení nebo ignorování/zrušení žádosti.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
|
|
||||||
{{$sitename}} administrátor
|
|
|
@ -1,18 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Milý/Milá {{$username}},
|
|
||||||
|
|
||||||
Skvělé zprávy... '{{$fn}}' na '{{$dfrn_url}}' odsouhlasil Váš požadavek na spojení na '{{$sitename}}'.
|
|
||||||
|
|
||||||
Jste nyní přátelé a můžete si vyměňovat aktualizace statusu, fotek a e-mailů bez omezení.
|
|
||||||
|
|
||||||
Pokud budete chtít tento vztah jakkoliv upravit, navštivte Vaši stránku "Kontakty" na {{$sitename}}.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
(Nyní můžete například vytvořit separátní profil s informacemi, které nebudou viditelné veřejně, a nastavit právo pro zobrazení tohoto profilu pro '{{$fn}}').
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
|
|
||||||
{{$sitename}} administrátor
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Milý/Milá {{$username}},
|
|
||||||
|
|
||||||
|
|
||||||
'{{$fn}}' na '{{$dfrn_url}}' odsouhlasil Váš požadavek na spojení na '{{$sitename}}'.
|
|
||||||
|
|
||||||
'{{$fn}}' Vás označil za svého "fanouška", což jistým způsobem omezuje komunikaci (například v oblasti soukromých zpráv a některých profilových interakcí. Pokud je toto celebritní nebo komunitní stránka, bylo toto nastavení byla přijato automaticky.
|
|
||||||
|
|
||||||
'{{$fn}}' může v budoucnu rozšířit toto spojení na oboustranné nebo jinak méně restriktivní.
|
|
||||||
|
|
||||||
Nyní začnete dostávat veřejné aktualizace statusu od '{{$fn}}', které se objeví ve Vaší stránce "Síť" na webu
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
|
|
||||||
{{$sitename}} administrátor
|
|
|
@ -1,24 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Milý/Milá {{$username}},
|
|
||||||
Na webu {{$sitename}} byl zaregistrován požadavek na znovunastavení hesla k Vašemu účtu. Pro potvrzení této žádosti prosím klikněte na potvrzovací odkaz níže, nebo si tento odkaz zkopírujte do adresního řádku prohlížeče.
|
|
||||||
Pokud jste o znovunastavení hesla NEŽÁDALI, prosím NEKLIKEJTE na tento odkaz a ignorujte tento e-mail nebo ho rovnou smažte.
|
|
||||||
|
|
||||||
Vaše heslo nebude změněno, dokud nebudeme mít potvrzení, že jste o tento požadavek zažádali právě Vy.
|
|
||||||
|
|
||||||
Klikněte na tento odkaz pro prověření Vaší identity:
|
|
||||||
|
|
||||||
{{$reset_link}}
|
|
||||||
|
|
||||||
Poté obdržíte další zprávu obsahující nové heslo.
|
|
||||||
|
|
||||||
Následně si toto heslo můžete změnit z vašeho účtu na stránce Nastavení.
|
|
||||||
|
|
||||||
Přihlašovací údaje jsou tato:
|
|
||||||
|
|
||||||
Adresa webu: {{$siteurl}}
|
|
||||||
Přihlašovací jméno: {{$email}}
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
|
|
||||||
{{$sitename}} administrátor
|
|
|
@ -1,15 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Milý/Milá {{$username}},
|
|
||||||
Vaše heslo bylo na Vaši žádost změněno. Prosím zaznamenejte si tuto informaci (nebo si Vaše heslo změňte na nějaké, které si budete pamatovat).
|
|
||||||
|
|
||||||
Vaše přihlašovací údaje jsou tato:
|
|
||||||
|
|
||||||
Adresa webu: {{$siteurl}}
|
|
||||||
Přihlašovací jméno: {{$email}}
|
|
||||||
Heslo: {{$new_password}}
|
|
||||||
|
|
||||||
Toto heslo si můžete změnit z vašeho účtu na stránce Nastavení poté, co se přihlásíte.
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
{{$sitename}} administrátor
|
|
|
@ -1,32 +0,0 @@
|
||||||
Drahý {{$username}},
|
|
||||||
administrátor webu {{$sitename}} pro Vás vytvořil uživatelský účet.
|
|
||||||
|
|
||||||
Vaše přihlašovací údaje jsou tyto:
|
|
||||||
|
|
||||||
|
|
||||||
Adresa webu: {{$siteurl}}
|
|
||||||
Uživatelské jméno: {{$email}}
|
|
||||||
Heslo: {{$password}}
|
|
||||||
|
|
||||||
Vaše heslo si můžete po přihlášení změnit na stránce
|
|
||||||
.
|
|
||||||
|
|
||||||
Prosím věnujte chvíli k revizi ostatních nastavení svého účtu.
|
|
||||||
|
|
||||||
Můžete také přidat některé základní informace do Vašeho defaultního profilu
|
|
||||||
(na stránce "Profily"), čímž umožníte jiným lidem Vás snadněji nalézt.
|
|
||||||
|
|
||||||
Doporučujeme nastavit celé jméno, přidat profilové foto
|
|
||||||
, přidat nějaká profilová "klíčová slova" (což je velmi užitečné pro hledání nových přátel) a
|
|
||||||
zemi, ve které žijete. Nemusíte zadávat víc
|
|
||||||
informací.
|
|
||||||
|
|
||||||
Plně respektujeme Vaše právo na soukromí a žádná z výše uvedených položek není povinná.
|
|
||||||
Pokud jste nový a neznáte na tomto webu nikoho jiného, zadáním těchto
|
|
||||||
položek můžete získat nové a zajímavé přátele.
|
|
||||||
|
|
||||||
|
|
||||||
Díky a vítejte na {{$sitename}}.
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
{{$sitename}} administrátor
|
|
|
@ -1,24 +0,0 @@
|
||||||
|
|
||||||
Milý/milá {{$username}},
|
|
||||||
Díky za registraci na {{$sitename}}. Váš účet byl vytvořen.
|
|
||||||
Vaše přihlašovací údaje jsou tato:
|
|
||||||
|
|
||||||
Adresa webu: {{$siteurl}}
|
|
||||||
Přihlašovací jméno: {{$email}}
|
|
||||||
Heslo: {{$password}}
|
|
||||||
|
|
||||||
Toto heslo si můžete změnit z vašeho účtu na stránce "Nastavení" poté, co se přihlásíte.
|
|
||||||
|
|
||||||
Věnujte prosím chvíli revizi dalších nastavení Vašeho účtu na této stránce.
|
|
||||||
|
|
||||||
Můžete také přidat některé základní informace do Vašeho defaultního profilu (na stránce "Profily"), čímž umožníte jiným lidem Vás snadněji nalézt.
|
|
||||||
|
|
||||||
Doporučujeme nastavit celé jméno, přidat profilové foto, přidat nějaká profilová "klíčová slova" (což je velmi užitečné pro hledání nových přátel) a zemi, ve které žijete. Nemusíte zadávat víc informací.
|
|
||||||
|
|
||||||
Plně respektujeme Vaše právo na soukromí a žádná z výše uvedených položek není povinná.
|
|
||||||
Pokud jste nový a neznáte na tomto webu nikoho jiného, zadáním těchto položek můžete získat nové a zajímavé přátele.
|
|
||||||
|
|
||||||
Díky a vítejte na {{$sitename}}.
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
{{$sitename}} administrátor
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Na webu {{$sitename}} byla vytvořena nová uživatelská registrace, která vyžaduje Vaše schválení.
|
|
||||||
|
|
||||||
Přihlašovací údaje jsou tato:
|
|
||||||
|
|
||||||
Celé jméno: {{$username}}
|
|
||||||
Adresa webu: {{$siteurl}}
|
|
||||||
Přihlašovací jméno: {{$email}}
|
|
||||||
|
|
||||||
Pro odsouhlasení tohoto požadavku prosím klikněte na následující odkaz:
|
|
||||||
|
|
||||||
|
|
||||||
{{$siteurl}}/regmod/allow/{{$hash}}
|
|
||||||
|
|
||||||
|
|
||||||
Pro zamítnutí žádosti a odstranění účtu prosím klikněte na tento odkaz:
|
|
||||||
|
|
||||||
|
|
||||||
{{$siteurl}}/regmod/deny/{{$hash}}
|
|
||||||
|
|
||||||
|
|
||||||
Díky.
|
|
|
@ -1,16 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Milý/Milá {{$username}},
|
|
||||||
|
|
||||||
Právě jste obdržel/obdržela požadavek na spojení na webu {{$sitename}}
|
|
||||||
|
|
||||||
od '{{$requestor}}'.
|
|
||||||
|
|
||||||
Můžete navštívit jeho/její profil na následujícím odkazu {{$url}}.
|
|
||||||
|
|
||||||
Přihlaste se na Váš web k zobrazení kompletní žádosti a odsouhlaste nebo ignorujte/zrušte tuto žádost.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
S pozdravem,
|
|
||||||
{{$sitename}} administrátor
|
|
|
@ -1,11 +0,0 @@
|
||||||
Ahoj,
|
|
||||||
Já jsem $sitename.
|
|
||||||
Vývojáři friendica nednávno uvolnili aktualizaci $update,
|
|
||||||
ale když jsem se ji snažil nainstalovat, nepovedlo se mi to.
|
|
||||||
Je to třeba rychle opravit a já to sám nedokážu. Prosím kontaktuj
|
|
||||||
vývojáře friendica, pokud mi nemůžeš pomoct ty sám. Moje databáze může být nekonzistentní.
|
|
||||||
|
|
||||||
Chybová zpráva je '$error'.
|
|
||||||
|
|
||||||
Je mi líto,
|
|
||||||
Tvůj web friendica na $siteurl
|
|
|
@ -1,14 +0,0 @@
|
||||||
|
|
||||||
Hallo $[myname],
|
|
||||||
|
|
||||||
Du hast einen neuen Anhänger auf $[sitename] - '$[requestor]'.
|
|
||||||
|
|
||||||
Du kannst das Profil unter $[url] besuchen.
|
|
||||||
|
|
||||||
Bitte melde dich an um die Anfrage zu bestätigen oder sie zu ignorieren bzw. abzulehnen.
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
beste Grüße,
|
|
||||||
|
|
||||||
$[sitename] Administrator
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
Hallo $[username],
|
|
||||||
|
|
||||||
Großartige Neuigkeiten... '$[fn]' auf '$[dfrn_url]' hat
|
|
||||||
deine Kontaktanfrage auf '$[sitename]' bestätigt.
|
|
||||||
|
|
||||||
Ihr seid nun beidseitige Freunde und könnt Statusmitteilungen, Bilder und E-Mails
|
|
||||||
ohne Einschränkungen austauschen.
|
|
||||||
|
|
||||||
Rufe deine 'Kontakte' Seite auf $[sitename] auf, wenn du
|
|
||||||
Änderungen an diesem Kontakt vornehmen willst.
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
[Du könntest z.B. ein spezielles Profil anlegen, das Informationen enthält,
|
|
||||||
die nicht für die breite Öffentlichkeit sichtbar sein sollen und es für '$[fn]' zum Betrachten freigeben].
|
|
||||||
|
|
||||||
Beste Grüße,
|
|
||||||
|
|
||||||
$[sitename] Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
Hallo $[username],
|
|
||||||
|
|
||||||
'$[fn]' auf '$[dfrn_url]' akzeptierte
|
|
||||||
deine Verbindungsanfrage auf '$[sitename]'.
|
|
||||||
|
|
||||||
'$[fn]' hat entschieden dich als "Fan" zu akzeptieren, was zu einigen
|
|
||||||
Einschränkungen bei der Kommunikation führt - wie z.B. das Schreiben von privaten Nachrichten und einige Profil
|
|
||||||
Interaktionen. Sollte dies ein Promi-Konto oder eine Forum-Seite sein, werden die Einstellungen
|
|
||||||
automatisch angewandt.
|
|
||||||
|
|
||||||
'$[fn]' kann wählen, ob die Freundschaft in eine beidseitige oder alles erlaubende
|
|
||||||
Beziehung in der Zukunft erweitert wird.
|
|
||||||
|
|
||||||
Du empfängst ab sofort die öffentlichen Beiträge von '$[fn]',
|
|
||||||
auf deiner "Netzwerk" Seite.
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
Beste Grüße,
|
|
||||||
|
|
||||||
$[sitename] Administrator
|
|
|
@ -1,32 +0,0 @@
|
||||||
|
|
||||||
Hallo $[username],
|
|
||||||
Auf $[sitename] wurde eine Anfrage zum Zurücksetzen deines
|
|
||||||
Passworts empfangen. Um diese zu bestätigen folge bitte dem Link
|
|
||||||
weiter unten oder kopiere ihn in die Adressleiste deines Browsers.
|
|
||||||
|
|
||||||
Wenn du die Anfrage NICHT gesendet haben solltest, dann IGNORIERE
|
|
||||||
bitte diese E-Mail und den Link.
|
|
||||||
|
|
||||||
Dein Passwort wird nicht geändert solange wir nicht überprüfen
|
|
||||||
konnten, dass du die Anfrage gestellt hast.
|
|
||||||
|
|
||||||
Folge diesem Link um deine Identität zu verifizieren:
|
|
||||||
|
|
||||||
$[reset_link]
|
|
||||||
|
|
||||||
Du wirst eine weitere E-Mail erhalten mit dem neuen Passwort.
|
|
||||||
|
|
||||||
Das Passwort kannst du anschließend wie gewohnt in deinen Account Einstellungen ändern.
|
|
||||||
|
|
||||||
Die Login-Details sind die folgenden:
|
|
||||||
|
|
||||||
Adresse der Seite:»$[siteurl]
|
|
||||||
Login Name:»$[email]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Grüße,
|
|
||||||
$[sitename] Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
Hallo $[username],
|
|
||||||
Dein Passwort wurde wie gewünscht geändert. Bitte bewahre diese
|
|
||||||
Informationen in deinen Unterlagen auf (oder ändere dein Passwort sofort
|
|
||||||
in etwas, was du dir merken kannst).
|
|
||||||
|
|
||||||
|
|
||||||
Deine Login Daten wurden wie folgt geändert:
|
|
||||||
|
|
||||||
Adresse der Seite: $[siteurl]
|
|
||||||
Login Name: $[email]
|
|
||||||
Passwort: $[new_password]
|
|
||||||
|
|
||||||
Du kannst dein Passwort unter deinen Account-Einstellungen ändern, wenn du angemeldet bist.
|
|
||||||
|
|
||||||
|
|
||||||
Beste Grüße,
|
|
||||||
$[sitename] Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
|
|
||||||
Hallo $[username],
|
|
||||||
Danke für deine Anmeldung auf $[sitename]. Dein Account wurde angelegt.
|
|
||||||
Hier die Login Details:
|
|
||||||
|
|
||||||
|
|
||||||
Adresse der Seite: $[siteurl]
|
|
||||||
Login Name: $[email]
|
|
||||||
Passwort: $[password]
|
|
||||||
|
|
||||||
Du kannst und solltest das Passwort in den "Einstellungen" zu deinem Account ändern,
|
|
||||||
nachdem du dich erstmalig eingeloggt hast.
|
|
||||||
|
|
||||||
Bitte nimm dir einige Augenblicke Zeit, um die anderen Einstellungen auf der Seite kennenzulernen und zu überprüfen.
|
|
||||||
|
|
||||||
Eventuell möchtest du außerdem einige grundlegende Informationen in deinem Standardprofil (auf der "Profile" Seite) eintragen,
|
|
||||||
damit andere Leute dich einfacher finden können.
|
|
||||||
|
|
||||||
Wir empfehlen den kompletten Namen anzugeben, ein eigenes Profilbild hochzuladen,
|
|
||||||
sowie ein paar "Profil-Schlüsselwörter" einzutragen (um leichter Menschen mit gleichen Interessen zu finden) - und
|
|
||||||
vielleicht auch in welchen Land du lebst; falls du nicht konkreter
|
|
||||||
werden möchtest.
|
|
||||||
|
|
||||||
Wir respektieren dein Recht auf Privatsphäre und keine dieser Angaben ist notwendig.
|
|
||||||
Wenn du ganz neu bei Friendica bist und niemanden kennst, werden sie dir aber helfen
|
|
||||||
ein paar neue und interessante Freunde zu finden.
|
|
||||||
|
|
||||||
|
|
||||||
Danke und willkommen auf $[sitename].
|
|
||||||
|
|
||||||
Beste Grüße,
|
|
||||||
$[sitename] Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
|
|
||||||
Eine Neuanmeldung auf $[sitename] benötigt
|
|
||||||
deine Aufmerksamkeit.
|
|
||||||
|
|
||||||
|
|
||||||
Die Login-Einzelheiten sind die folgenden:
|
|
||||||
|
|
||||||
Kompletter Name: $[username]
|
|
||||||
Adresse der Seite: $[siteurl]
|
|
||||||
Login Name: $[email]
|
|
||||||
|
|
||||||
|
|
||||||
Um die Anfrage zu bestätigen besuche bitte:
|
|
||||||
|
|
||||||
|
|
||||||
$[siteurl]/regmod/allow/$[hash]
|
|
||||||
|
|
||||||
|
|
||||||
Um die Anfrage abzulehnen und den Account zu löschen besuche bitte:
|
|
||||||
|
|
||||||
|
|
||||||
$[siteurl]/regmod/deny/$[hash]
|
|
||||||
|
|
||||||
|
|
||||||
Danke!
|
|
|
@ -1,17 +0,0 @@
|
||||||
|
|
||||||
Hallo $[myname],
|
|
||||||
|
|
||||||
du hast eine Kontaktanfrage von '$[requestor]' auf $[sitename]
|
|
||||||
|
|
||||||
erhalten.
|
|
||||||
|
|
||||||
Du kannst sein/ihr Profil unter $[url] finden.
|
|
||||||
|
|
||||||
Bitte melde dich an um die komplette Anfrage einzusehen
|
|
||||||
und die Kontaktanfrage zu bestätigen oder zu ignorieren oder abzulehnen.
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
Beste Grüße,
|
|
||||||
|
|
||||||
$[sitename] Administrator
|
|
|
@ -1,15 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Hallo {{$myname}},
|
|
||||||
|
|
||||||
Du hast einen neuen Anhänger auf {{$sitename}} - '{{$requestor}}'.
|
|
||||||
|
|
||||||
Du kannst das Profil unter {{$url}} besuchen.
|
|
||||||
|
|
||||||
Bitte melde dich an um die Anfrage zu bestätigen oder sie zu ignorieren bzw. abzulehnen.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
beste Grüße,
|
|
||||||
|
|
||||||
{{$sitename}} Administrator
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Hallo {{$username}},
|
|
||||||
|
|
||||||
Großartige Neuigkeiten... '{{$fn}}' auf '{{$dfrn_url}}' hat
|
|
||||||
deine Kontaktanfrage auf '{{$sitename}}' bestätigt.
|
|
||||||
|
|
||||||
Ihr seid nun beidseitige Freunde und könnt Statusmitteilungen, Bilder und Emails
|
|
||||||
ohne Einschränkungen austauschen.
|
|
||||||
|
|
||||||
Rufe deine 'Kontakte' Seite auf {{$sitename}} auf, wenn du
|
|
||||||
Änderungen an diesem Kontakt vornehmen willst.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
[Du könntest z.B. ein spezielles Profil anlegen, das Informationen enthält,
|
|
||||||
die nicht für die breite Öffentlichkeit sichtbar sein sollen und es für '{{$fn}}' zum Betrachten freigeben].
|
|
||||||
|
|
||||||
Beste Grüße,
|
|
||||||
|
|
||||||
{{$sitename}} Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Hallo {{$username}},
|
|
||||||
|
|
||||||
'{{$fn}}' auf '{{$dfrn_url}}' hat deine Verbindungsanfrage
|
|
||||||
auf '{{$sitename}}' akzeptiert.
|
|
||||||
|
|
||||||
'{{$fn}}' hat entschieden Dich als "Fan" zu akzeptieren, was zu einigen
|
|
||||||
Einschränkungen bei der Kommunikation führt - wie zB das Schreiben von privaten Nachrichten und einige Profil
|
|
||||||
Interaktionen. Sollte dies ein Promi-Konto oder eine Forum-Seite sein, werden die Einstellungen
|
|
||||||
automatisch angewandt.
|
|
||||||
|
|
||||||
'{{$fn}}' kann wählen, ob die Freundschaft in eine beidseitige oder alles erlaubende
|
|
||||||
Beziehung in der Zukunft erweitert wird.
|
|
||||||
|
|
||||||
Du empfängst ab sofort die öffentlichen Beiträge von '{{$fn}}',
|
|
||||||
auf deiner "Netzwerk" Seite.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
Beste Grüße,
|
|
||||||
|
|
||||||
{{$sitename}} Administrator
|
|
|
@ -1,33 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Hallo {{$username}},
|
|
||||||
Auf {{$sitename}} wurde eine Anfrage zum Zurücksetzen deines
|
|
||||||
Passworts empfangen. Um diese zu bestätigen folge bitte dem Link
|
|
||||||
weiter unten oder kopiere ihn in die Adressleiste deines Browsers.
|
|
||||||
|
|
||||||
Wenn du die Anfrage NICHT gesendet haben solltest, dann IGNORIERE
|
|
||||||
bitte diese Mail und den Link.
|
|
||||||
|
|
||||||
Dein Passwort wird nicht geändert werden solange wir nicht überprüfen
|
|
||||||
konnten, dass du die Anfrage gestellt hast.
|
|
||||||
|
|
||||||
Folge diesem Link um deine Identität zu verifizieren:
|
|
||||||
|
|
||||||
{{$reset_link}}
|
|
||||||
|
|
||||||
Du wirst eine weitere Email erhalten mit dem neuen Passwort.
|
|
||||||
|
|
||||||
Das Passwort kannst du anschließend wie gewohnt in deinen Account Einstellungen ändern.
|
|
||||||
|
|
||||||
Die Login-Details sind die folgenden:
|
|
||||||
|
|
||||||
Adresse der Seite: {{$siteurl}}
|
|
||||||
Login Name: {{$email}}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Grüße,
|
|
||||||
{{$sitename}} Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Hallo {{$username}},
|
|
||||||
Dein Passwort wurde wie gewünscht geändert. Bitte bewahre diese
|
|
||||||
Informationen in deinen Unterlagen auf (oder ändere dein Passwort sofort
|
|
||||||
in etwas, was du dir merken kannst).
|
|
||||||
|
|
||||||
|
|
||||||
Deine Login Daten wurden wie folgt geändert:
|
|
||||||
|
|
||||||
Adresse der Seite: {{$siteurl}}
|
|
||||||
Login Name: {{$email}}
|
|
||||||
Passwort: {{$new_password}}
|
|
||||||
|
|
||||||
Du kannst dein Passwort unter deinen Account-Einstellungen ändern, wenn du angemeldet bist.
|
|
||||||
|
|
||||||
|
|
||||||
Beste Grüße,
|
|
||||||
{{$sitename}} Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
Hallo {{$username}},
|
|
||||||
der Administrator von {{$sitename}} hat einen Account für dich eingerichtet.
|
|
||||||
|
|
||||||
Hier die Login Details:
|
|
||||||
|
|
||||||
|
|
||||||
Adresse der Seite: {{$siteurl}}
|
|
||||||
Login Name: {{$email}}
|
|
||||||
Passwort: {{$password}}
|
|
||||||
|
|
||||||
Du kannst und solltest das Passwort in den "Einstellungen" zu deinem Account ändern,
|
|
||||||
nachdem du dich erstmalig eingeloggt hast.
|
|
||||||
|
|
||||||
Bitte nimm dir einige Augenblicke Zeit, um die anderen Einstellungen auf der Seite kennenzulernen und zu überprüfen.
|
|
||||||
|
|
||||||
Eventuell möchtest du außerdem einige grundlegende Informationen in deinem Standardprofil (auf der "Profile" Seite) eintragen,
|
|
||||||
damit andere Leute dich einfacher finden können.
|
|
||||||
|
|
||||||
Wir empfehlen den kompletten Namen anzugeben, ein eigenes Profilbild hochzuladen,
|
|
||||||
sowie ein paar "Profil-Schlüsselwörter" einzutragen (um leichter Menschen mit gleichen Interessen zu finden) - und
|
|
||||||
vielleicht auch in welchen Land du lebst; falls du nicht konkreter
|
|
||||||
werden möchtest.
|
|
||||||
|
|
||||||
Wir respektieren dein Recht auf Privatsphäre und keine dieser Angaben ist notwendig.
|
|
||||||
Wenn du ganz neu bei Friendica bist und niemanden kennst, werden sie dir aber helfen
|
|
||||||
ein paar neue und interessante Freunde zu finden.
|
|
||||||
|
|
||||||
|
|
||||||
Danke und willkommen auf {{$sitename}}.
|
|
||||||
|
|
||||||
Beste Grüße,
|
|
||||||
{{$sitename}} Administrator
|
|
|
@ -1,35 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Hallo {{$username}},
|
|
||||||
Danke für deine Anmeldung auf {{$sitename}}. Dein Account wurde angelegt.
|
|
||||||
Hier die Login Details:
|
|
||||||
|
|
||||||
|
|
||||||
Adresse der Seite: {{$siteurl}}
|
|
||||||
Login Name: {{$email}}
|
|
||||||
Passwort: {{$password}}
|
|
||||||
|
|
||||||
Du kannst und solltest das Passwort in den "Einstellungen" zu deinem Account ändern,
|
|
||||||
nachdem du dich erstmalig eingeloggt hast.
|
|
||||||
|
|
||||||
Bitte nimm dir einige Augenblicke Zeit, um die anderen Einstellungen auf der Seite kennenzulernen und zu überprüfen.
|
|
||||||
|
|
||||||
Eventuell möchtest du außerdem einige grundlegende Informationen in deinem Standardprofil (auf der "Profile" Seite) eintragen,
|
|
||||||
damit andere Leute dich einfacher finden können.
|
|
||||||
|
|
||||||
Wir empfehlen den kompletten Namen anzugeben, ein eigenes Profilbild hochzuladen,
|
|
||||||
sowie ein paar "Profil-Schlüsselwörter" einzutragen (um leichter Menschen mit gleichen Interessen zu finden) - und
|
|
||||||
vielleicht auch in welchen Land du lebst; falls du nicht konkreter
|
|
||||||
werden möchtest.
|
|
||||||
|
|
||||||
Wir respektieren dein Recht auf Privatsphäre und keine dieser Angaben ist notwendig.
|
|
||||||
Wenn du ganz neu bei Friendica bist und niemanden kennst, werden sie dir aber helfen
|
|
||||||
ein paar neue und interessante Freunde zu finden.
|
|
||||||
|
|
||||||
|
|
||||||
Danke und willkommen auf {{$sitename}}.
|
|
||||||
|
|
||||||
Beste Grüße,
|
|
||||||
{{$sitename}} Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Eine Neuanmeldung auf {{$sitename}} benötigt
|
|
||||||
deine Aufmerksamkeit.
|
|
||||||
|
|
||||||
|
|
||||||
Die Login-Einzelheiten sind die folgenden:
|
|
||||||
|
|
||||||
Kompletter Name: {{$username}}
|
|
||||||
Adresse der Seite: {{$siteurl}}
|
|
||||||
Login Name: {{$email}}
|
|
||||||
|
|
||||||
|
|
||||||
Um die Anfrage zu bestätigen besuche bitte:
|
|
||||||
|
|
||||||
|
|
||||||
{{$siteurl}}/regmod/allow/{{$hash}}
|
|
||||||
|
|
||||||
|
|
||||||
Um die Anfrage abzulehnen und den Account zu löschen besuche bitte:
|
|
||||||
|
|
||||||
|
|
||||||
{{$siteurl}}/regmod/deny/{{$hash}}
|
|
||||||
|
|
||||||
|
|
||||||
Danke!
|
|
|
@ -1,18 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Hallo {{$myname}},
|
|
||||||
|
|
||||||
du hast eine Kontaktanfrage von '{{$requestor}}' auf {{$sitename}}
|
|
||||||
|
|
||||||
erhalten.
|
|
||||||
|
|
||||||
Du kannst sein/ihr Profil unter {{$url}} finden.
|
|
||||||
|
|
||||||
Bitte melde dich an um die komplette Anfrage einzusehen
|
|
||||||
und die Anfrage zu bestätigen oder zu ignorieren oder abzulehnen.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
Beste Grüße,
|
|
||||||
|
|
||||||
{{$sitename}} Administrator
|
|
|
@ -1,12 +0,0 @@
|
||||||
|
|
||||||
Hi,
|
|
||||||
ich bin {{$sitename}}.
|
|
||||||
Die friendica Entwickler haben jüngst Update {{$update}} veröffentlicht,
|
|
||||||
aber als ich versucht habe es zu installieren ist etwas schrecklich schief gegangen.
|
|
||||||
Das sollte schnellst möglichst behoben werden und ich kann das nicht alleine machen.
|
|
||||||
Bitte wende dich an einen friendica Entwickler, falls du mir nicht alleine helfen kannst. Meine Datenbank könnte unbrauchbar sein.
|
|
||||||
|
|
||||||
Die Fehlermeldung lautet '{{$error}}'.
|
|
||||||
|
|
||||||
Tut mir Leid!
|
|
||||||
Deine friendica Instanz auf {{$siteurl}}
|
|
|
@ -1,11 +0,0 @@
|
||||||
Hi,
|
|
||||||
$sitename
|
|
||||||
Die friendica Entwickler haben jüngst Update $update veröffentlicht,
|
|
||||||
aber als ich versucht habe es zu installieren ist etwas schrecklich schief gegangen.
|
|
||||||
Das sollte schnellst möglich behoben werden und ich kann das nicht alleine machen.
|
|
||||||
Bitte wende dich an einen friendica Entwickler, falls du mir nicht alleine helfen kannst. Meine Datenbank könnte unbrauchbar sein.
|
|
||||||
|
|
||||||
Die Fehlermeldung lautet '$error'.
|
|
||||||
|
|
||||||
Tut mir Leid!
|
|
||||||
Deine friendica Instanz auf $siteurl
|
|
|
@ -1,14 +0,0 @@
|
||||||
|
|
||||||
Dear $[myname],
|
|
||||||
|
|
||||||
You have a new follower at $[sitename] - '$[requestor]'.
|
|
||||||
|
|
||||||
You may visit their profile at $[url].
|
|
||||||
|
|
||||||
Please login to your site to approve or ignore/cancel the request.
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
Regards,
|
|
||||||
|
|
||||||
$[sitename] administrator
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
Dear $[username],
|
|
||||||
|
|
||||||
Great news... '$[fn]' at '$[dfrn_url]' has accepted
|
|
||||||
your connection request at '$[sitename]'.
|
|
||||||
|
|
||||||
You are now mutual friends and may exchange status updates, photos, and email
|
|
||||||
without restriction.
|
|
||||||
|
|
||||||
Please visit your 'Contacts' page at $[sitename] if you wish to make
|
|
||||||
any changes to this relationship.
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
[For instance, you may create a separate profile with information that is not
|
|
||||||
available to the general public - and assign viewing rights to '$[fn]'].
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
|
|
||||||
$[sitename] Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
Dear $[username],
|
|
||||||
|
|
||||||
'$[fn]' at '$[dfrn_url]' has accepted
|
|
||||||
your connection request at '$[sitename]'.
|
|
||||||
|
|
||||||
'$[fn]' has chosen to accept you a "fan", which restricts
|
|
||||||
some forms of communication - such as private messaging and some profile
|
|
||||||
interactions. If this is a celebrity or community page, these settings were
|
|
||||||
applied automatically.
|
|
||||||
|
|
||||||
'$[fn]' may choose to extend this into a two-way or more permissive
|
|
||||||
relationship in the future.
|
|
||||||
|
|
||||||
You will start receiving public status updates from '$[fn]',
|
|
||||||
which will appear on your 'Network' page at
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
|
|
||||||
$[sitename] Administrator
|
|
|
@ -1,32 +0,0 @@
|
||||||
|
|
||||||
Dear $[username],
|
|
||||||
A request was recently received at $[sitename] to reset your account
|
|
||||||
password. In order to confirm this request, please select the verification link
|
|
||||||
below or paste it into your web browser address bar.
|
|
||||||
|
|
||||||
If you did NOT request this change, please DO NOT follow the link
|
|
||||||
provided and ignore and/or delete this email.
|
|
||||||
|
|
||||||
Your password will not be changed unless we can verify that you
|
|
||||||
issued this request.
|
|
||||||
|
|
||||||
Follow this link to verify your identity:
|
|
||||||
|
|
||||||
$[reset_link]
|
|
||||||
|
|
||||||
You will then receive a follow-up message containing the new password.
|
|
||||||
|
|
||||||
You may change that password from your account settings page after logging in.
|
|
||||||
|
|
||||||
The login details are as follows:
|
|
||||||
|
|
||||||
Site Location: $[siteurl]
|
|
||||||
Login Name: $[email]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
$[sitename] Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
Dear $[username],
|
|
||||||
Your password has been changed as requested. Please retain this
|
|
||||||
information for your records (or change your password immediately to
|
|
||||||
something that you will remember).
|
|
||||||
|
|
||||||
|
|
||||||
Your login details are as follows:
|
|
||||||
|
|
||||||
Site Location: $[siteurl]
|
|
||||||
Login Name: $[email]
|
|
||||||
Password: $[new_password]
|
|
||||||
|
|
||||||
You may change that password from your account settings page after logging in.
|
|
||||||
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
$[sitename] Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
Dear {{$username}},
|
|
||||||
the administrator of {{$sitename}} has set up an account for you.
|
|
||||||
|
|
||||||
The login details are as follows:
|
|
||||||
|
|
||||||
|
|
||||||
Site Location: {{$siteurl}}
|
|
||||||
Login Name: {{$email}}
|
|
||||||
Password: {{$password}}
|
|
||||||
|
|
||||||
You may change your password from your account "Settings" page after logging
|
|
||||||
in.
|
|
||||||
|
|
||||||
Please take a few moments to review the other account settings on that page.
|
|
||||||
|
|
||||||
You may also wish to add some basic information to your default profile
|
|
||||||
(on the "Profiles" page) so that other people can easily find you.
|
|
||||||
|
|
||||||
We recommend setting your full name, adding a profile photo,
|
|
||||||
adding some profile "keywords" (very useful in making new friends) - and
|
|
||||||
perhaps what country you live in; if you do not wish to be more specific
|
|
||||||
than that.
|
|
||||||
|
|
||||||
We fully respect your right to privacy, and none of these items are necessary.
|
|
||||||
If you are new and do not know anybody here, they may help
|
|
||||||
you to make some new and interesting friends.
|
|
||||||
|
|
||||||
|
|
||||||
Thank you and welcome to {{$sitename}}.
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
{{$sitename}} Administrator
|
|
|
@ -1,34 +0,0 @@
|
||||||
|
|
||||||
Dear $[username],
|
|
||||||
Thank you for registering at $[sitename]. Your account has been created.
|
|
||||||
The login details are as follows:
|
|
||||||
|
|
||||||
|
|
||||||
Site Location: $[siteurl]
|
|
||||||
Login Name: $[email]
|
|
||||||
Password: $[password]
|
|
||||||
|
|
||||||
You may change your password from your account "Settings" page after logging
|
|
||||||
in.
|
|
||||||
|
|
||||||
Please take a few moments to review the other account settings on that page.
|
|
||||||
|
|
||||||
You may also wish to add some basic information to your default profile
|
|
||||||
(on the "Profiles" page) so that other people can easily find you.
|
|
||||||
|
|
||||||
We recommend setting your full name, adding a profile photo,
|
|
||||||
adding some profile "keywords" (very useful in making new friends) - and
|
|
||||||
perhaps what country you live in; if you do not wish to be more specific
|
|
||||||
than that.
|
|
||||||
|
|
||||||
We fully respect your right to privacy, and none of these items are necessary.
|
|
||||||
If you are new and do not know anybody here, they may help
|
|
||||||
you to make some new and interesting friends.
|
|
||||||
|
|
||||||
|
|
||||||
Thank you and welcome to $[sitename].
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
$[sitename] Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
|
|
||||||
A new user registration request was received at $[sitename] which requires
|
|
||||||
your approval.
|
|
||||||
|
|
||||||
|
|
||||||
The login details are as follows:
|
|
||||||
|
|
||||||
Full Name: $[username]
|
|
||||||
Site Location: $[siteurl]
|
|
||||||
Login Name: $[email]
|
|
||||||
|
|
||||||
|
|
||||||
To approve this request please visit the following link:
|
|
||||||
|
|
||||||
|
|
||||||
$[siteurl]/regmod/allow/$[hash]
|
|
||||||
|
|
||||||
|
|
||||||
To deny the request and remove the account, please visit:
|
|
||||||
|
|
||||||
|
|
||||||
$[siteurl]/regmod/deny/$[hash]
|
|
||||||
|
|
||||||
|
|
||||||
Thank you.
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
|
|
||||||
Dear $[myname],
|
|
||||||
|
|
||||||
You have just received a connection request at $[sitename]
|
|
||||||
|
|
||||||
from '$[requestor]'.
|
|
||||||
|
|
||||||
You may visit their profile at $[url].
|
|
||||||
|
|
||||||
Please login to your site to view the complete introduction
|
|
||||||
and approve or ignore/cancel the request.
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
Regards,
|
|
||||||
|
|
||||||
$[sitename] administrator
|
|
|
@ -1,15 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Dear {{$myname}},
|
|
||||||
|
|
||||||
You have a new follower at {{$sitename}} - '{{$requestor}}'.
|
|
||||||
|
|
||||||
You may visit their profile at {{$url}}.
|
|
||||||
|
|
||||||
Please login to your site to approve or ignore/cancel the request.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
Regards,
|
|
||||||
|
|
||||||
{{$sitename}} administrator
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Dear {{$username}},
|
|
||||||
|
|
||||||
Great news... '{{$fn}}' at '{{$dfrn_url}}' has accepted
|
|
||||||
your connection request at '{{$sitename}}'.
|
|
||||||
|
|
||||||
You are now mutual friends and may exchange status updates, photos, and email
|
|
||||||
without restriction.
|
|
||||||
|
|
||||||
Please visit your 'Contacts' page at {{$sitename}} if you wish to make
|
|
||||||
any changes to this relationship.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
[For instance, you may create a separate profile with information that is not
|
|
||||||
available to the general public - and assign viewing rights to '{{$fn}}'].
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
|
|
||||||
{{$sitename}} Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Dear {{$username}},
|
|
||||||
|
|
||||||
'{{$fn}}' at '{{$dfrn_url}}' has accepted
|
|
||||||
your connection request at '{{$sitename}}'.
|
|
||||||
|
|
||||||
'{{$fn}}' has chosen to accept you a "fan", which restricts
|
|
||||||
some forms of communication - such as private messaging and some profile
|
|
||||||
interactions. If this is a celebrity or community page, these settings were
|
|
||||||
applied automatically.
|
|
||||||
|
|
||||||
'{{$fn}}' may choose to extend this into a two-way or more permissive
|
|
||||||
relationship in the future.
|
|
||||||
|
|
||||||
You will start receiving public status updates from '{{$fn}}',
|
|
||||||
which will appear on your 'Network' page at
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
|
|
||||||
{{$sitename}} Administrator
|
|
|
@ -1,33 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Dear {{$username}},
|
|
||||||
A request was recently received at {{$sitename}} to reset your account
|
|
||||||
password. In order to confirm this request, please select the verification link
|
|
||||||
below or paste it into your web browser address bar.
|
|
||||||
|
|
||||||
If you did NOT request this change, please DO NOT follow the link
|
|
||||||
provided and ignore and/or delete this email.
|
|
||||||
|
|
||||||
Your password will not be changed unless we can verify that you
|
|
||||||
issued this request.
|
|
||||||
|
|
||||||
Follow this link to verify your identity:
|
|
||||||
|
|
||||||
{{$reset_link}}
|
|
||||||
|
|
||||||
You will then receive a follow-up message containing the new password.
|
|
||||||
|
|
||||||
You may change that password from your account settings page after logging in.
|
|
||||||
|
|
||||||
The login details are as follows:
|
|
||||||
|
|
||||||
Site Location: {{$siteurl}}
|
|
||||||
Login Name: {{$email}}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
{{$sitename}} Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Dear {{$username}},
|
|
||||||
Your password has been changed as requested. Please retain this
|
|
||||||
information for your records (or change your password immediately to
|
|
||||||
something that you will remember).
|
|
||||||
|
|
||||||
|
|
||||||
Your login details are as follows:
|
|
||||||
|
|
||||||
Site Location: {{$siteurl}}
|
|
||||||
Login Name: {{$email}}
|
|
||||||
Password: {{$new_password}}
|
|
||||||
|
|
||||||
You may change that password from your account settings page after logging in.
|
|
||||||
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
{{$sitename}} Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
Dear {{$username}},
|
|
||||||
the administrator of {{$sitename}} has set up an account for you.
|
|
||||||
|
|
||||||
The login details are as follows:
|
|
||||||
|
|
||||||
|
|
||||||
Site Location: {{$siteurl}}
|
|
||||||
Login Name: {{$email}}
|
|
||||||
Password: {{$password}}
|
|
||||||
|
|
||||||
You may change your password from your account "Settings" page after logging
|
|
||||||
in.
|
|
||||||
|
|
||||||
Please take a few moments to review the other account settings on that page.
|
|
||||||
|
|
||||||
You may also wish to add some basic information to your default profile
|
|
||||||
(on the "Profiles" page) so that other people can easily find you.
|
|
||||||
|
|
||||||
We recommend setting your full name, adding a profile photo,
|
|
||||||
adding some profile "keywords" (very useful in making new friends) - and
|
|
||||||
perhaps what country you live in; if you do not wish to be more specific
|
|
||||||
than that.
|
|
||||||
|
|
||||||
We fully respect your right to privacy, and none of these items are necessary.
|
|
||||||
If you are new and do not know anybody here, they may help
|
|
||||||
you to make some new and interesting friends.
|
|
||||||
|
|
||||||
|
|
||||||
Thank you and welcome to {{$sitename}}.
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
{{$sitename}} Administrator
|
|
|
@ -1,35 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Dear {{$username}},
|
|
||||||
Thank you for registering at {{$sitename}}. Your account has been created.
|
|
||||||
The login details are as follows:
|
|
||||||
|
|
||||||
|
|
||||||
Site Location: {{$siteurl}}
|
|
||||||
Login Name: {{$email}}
|
|
||||||
Password: {{$password}}
|
|
||||||
|
|
||||||
You may change your password from your account "Settings" page after logging
|
|
||||||
in.
|
|
||||||
|
|
||||||
Please take a few moments to review the other account settings on that page.
|
|
||||||
|
|
||||||
You may also wish to add some basic information to your default profile
|
|
||||||
(on the "Profiles" page) so that other people can easily find you.
|
|
||||||
|
|
||||||
We recommend setting your full name, adding a profile photo,
|
|
||||||
adding some profile "keywords" (very useful in making new friends) - and
|
|
||||||
perhaps what country you live in; if you do not wish to be more specific
|
|
||||||
than that.
|
|
||||||
|
|
||||||
We fully respect your right to privacy, and none of these items are necessary.
|
|
||||||
If you are new and do not know anybody here, they may help
|
|
||||||
you to make some new and interesting friends.
|
|
||||||
|
|
||||||
|
|
||||||
Thank you and welcome to {{$sitename}}.
|
|
||||||
|
|
||||||
Sincerely,
|
|
||||||
{{$sitename}} Administrator
|
|
||||||
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
A new user registration request was received at {{$sitename}} which requires
|
|
||||||
your approval.
|
|
||||||
|
|
||||||
|
|
||||||
The login details are as follows:
|
|
||||||
|
|
||||||
Full Name: {{$username}}
|
|
||||||
Site Location: {{$siteurl}}
|
|
||||||
Login Name: {{$email}}
|
|
||||||
|
|
||||||
|
|
||||||
To approve this request please visit the following link:
|
|
||||||
|
|
||||||
|
|
||||||
{{$siteurl}}/regmod/allow/{{$hash}}
|
|
||||||
|
|
||||||
|
|
||||||
To deny the request and remove the account, please visit:
|
|
||||||
|
|
||||||
|
|
||||||
{{$siteurl}}/regmod/deny/{{$hash}}
|
|
||||||
|
|
||||||
|
|
||||||
Thank you.
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Dear {{$myname}},
|
|
||||||
|
|
||||||
You have just received a connection request at {{$sitename}}
|
|
||||||
|
|
||||||
from '{{$requestor}}'.
|
|
||||||
|
|
||||||
You may visit their profile at {{$url}}.
|
|
||||||
|
|
||||||
Please login to your site to view the complete introduction
|
|
||||||
and approve or ignore/cancel the request.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
Regards,
|
|
||||||
|
|
||||||
{{$sitename}} administrator
|
|
|
@ -1,12 +0,0 @@
|
||||||
|
|
||||||
Hey,
|
|
||||||
I'm {{$sitename}};
|
|
||||||
The friendica developers released update {{$update}} recently,
|
|
||||||
but when I tried to install it, something went terribly wrong.
|
|
||||||
This needs to be fixed soon and I can't do it alone. Please contact a
|
|
||||||
friendica developer if you can not help me on your own. My database might be invalid.
|
|
||||||
|
|
||||||
The error message is '{{$error}}'.
|
|
||||||
|
|
||||||
I'm sorry,
|
|
||||||
your friendica server at {{$siteurl}}
|
|
|
@ -1,11 +0,0 @@
|
||||||
Hey,
|
|
||||||
I'm $sitename;
|
|
||||||
The friendica developers released update $update recently,
|
|
||||||
but when I tried to install it, something went terribly wrong.
|
|
||||||
This needs to be fixed soon and I can't do it alone. Please contact a
|
|
||||||
friendica developer if you can not help me on your own. My database might be invalid.
|
|
||||||
|
|
||||||
The error message is '$error'.
|
|
||||||
|
|
||||||
I'm sorry,
|
|
||||||
your friendica server at $siteurl
|
|
|
@ -1,14 +0,0 @@
|
||||||
|
|
||||||
Kara $[myname],
|
|
||||||
|
|
||||||
Vi havas novan abonanton ĉe $[sitename] - '$[requestor]'.
|
|
||||||
|
|
||||||
Vi povas viziti ilian profilon ĉe $[url].
|
|
||||||
|
|
||||||
Bonvolu ensaluti en vian retejon por aprobi au malaprobi/nuligi la peton.
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
Salutoj,
|
|
||||||
|
|
||||||
[$sitename] administranto
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
Kara $[username],
|
|
||||||
|
|
||||||
Boegaj novaĵoj.... '$[fn]' ĉe '$[dfrn_url]' aprobis
|
|
||||||
vian kontaktpeton ĉe '$[sitename]'.
|
|
||||||
|
|
||||||
Vi nun estas reciprokaj amikoj kaj povas interŝanĝi afiŝojn, bildojn kaj mesaĝojn
|
|
||||||
senkatene.
|
|
||||||
|
|
||||||
Bonvolu viziti vian 'Kontaktoj' paĝon ĉe $[sitename] se vi volas
|
|
||||||
ŝangi la rilaton.
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
[Ekzempe, vi eble volas krei disiĝintan profilon kun informoj kiu ne
|
|
||||||
haveblas al la komuna publiko - kaj rajtigi '$[fn]' al ĝi]'
|
|
||||||
|
|
||||||
Salutoj,
|
|
||||||
|
|
||||||
$[sitename] administranto
|
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
Kara $[username],
|
|
||||||
|
|
||||||
'$[fn]' ĉe '$[dfrn_url]' akceptis
|
|
||||||
vian kontaktpeton ĉe '$[sitename]'.
|
|
||||||
|
|
||||||
'$[fn]' elektis vin kiel "admiranto", kio malpermesas
|
|
||||||
kelkajn komunikilojn - ekzemple privataj mesaĝoj kaj kelkaj profilrilataj
|
|
||||||
agoj. Se tio estas konto de komunumo aŭ de eminentulo, tiaj agordoj
|
|
||||||
aŭtomate aktiviĝis.
|
|
||||||
|
|
||||||
'$[fn]' eblas konverti la rilaton al ambaŭdirekta rilato
|
|
||||||
aŭ apliki pli da permesoj.
|
|
||||||
|
|
||||||
Vi ekricevos publikajn afiŝojn de '$[fn]',
|
|
||||||
kiuj aperos sur via 'Reto' paĝo ĉe
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
Salutoj,
|
|
||||||
|
|
||||||
$[sitename] administranto
|
|
|
@ -1,32 +0,0 @@
|
||||||
|
|
||||||
Kara $[username],
|
|
||||||
$[sitename] ricevis peton por rekomencigi vian pasvorton.
|
|
||||||
Por konfirmi la peton, bonvolu klaki la sekvantan konfirmligilon
|
|
||||||
aŭ alglui ĝin en la adreskampo de via retumilo.
|
|
||||||
|
|
||||||
Se vi NE petis tiun ŝanĝon, bonvolu NE KLAKU la
|
|
||||||
sekvantan ligilon kaj ignoru aŭ forvisu ĉi-mesaĝon.
|
|
||||||
|
|
||||||
Ni ne ŝanĝu vian pasvorton se ni ne povas kontroli ĉu estas vi
|
|
||||||
kiu petis la ŝanĝon.
|
|
||||||
|
|
||||||
Sekvu ĉi tion ligilon por konfirmi vian identecon:
|
|
||||||
|
|
||||||
$[reset_link]
|
|
||||||
|
|
||||||
Poste, vi ricevos mesaĝon enhavonte la novan pasvorton.
|
|
||||||
|
|
||||||
Vi eblas ŝangi la pasvorton ĉe viaj kontdoagordoj paĝo post ensaluti.
|
|
||||||
|
|
||||||
La akreditaĵoj estas:
|
|
||||||
|
|
||||||
Retejo:»$[siteurl]
|
|
||||||
Salutnomo:»$[email]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Salutoj,
|
|
||||||
$[sitename] administranto
|
|
||||||
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
Kara $[username],
|
|
||||||
Via pasvorto estas ŝanĝita laŭ via peto. Bonvolu konservi ĉi tiun
|
|
||||||
informon (aŭ tuj ŝanĝu vian pasvorton al
|
|
||||||
iu kiun vi povas memori).
|
|
||||||
|
|
||||||
|
|
||||||
Jen viaj legitimaĵoj:
|
|
||||||
|
|
||||||
Retejo:»$[siteurl]
|
|
||||||
Salutnomo:»$[email]
|
|
||||||
Pasvorto:»$[new_password]
|
|
||||||
|
|
||||||
Vi eblas ŝanĝi la pasvorton ĉe la paĝo Agordoj -> Konto kiam vi estas ensalutita.
|
|
||||||
|
|
||||||
|
|
||||||
Salutoj,
|
|
||||||
$[sitename] administranto
|
|
||||||
|
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
|
|
||||||
Kara $[username],
|
|
||||||
Dankon pro via registrado ĉe $[sitename]. Vian konton estas kreita.
|
|
||||||
Jen viaj legitimaĵoj:
|
|
||||||
|
|
||||||
|
|
||||||
Retejo:»$[siteurl]
|
|
||||||
Salutnomo:»$[email]
|
|
||||||
Pasvorto:»$[password]
|
|
||||||
|
|
||||||
Vi eblas ŝanĝi la pasvorton ĉe la paĝo Agordoj -> Konto kiam vi estas
|
|
||||||
ensalutita.
|
|
||||||
|
|
||||||
Bonvolu preni kelkajn momentoj por kontroli la aliajn kontaktagordojn.
|
|
||||||
|
|
||||||
Eble vi volas aldoni kelkajn bazajn informojn al via profilo
|
|
||||||
(ĉe la paĝo "Profiloj"), tial vi troveblas al aliaj uzantoj.
|
|
||||||
|
|
||||||
Ni rekomendas agordi vian plenan noman, aldoni profilbildon,
|
|
||||||
kaj aldojo kelkajn ŝlosilvortojn (tre utila por trovi novajn amikojn) - kaj
|
|
||||||
eble en kiu lando vi loĝas, se vi ne volas pli specifa
|
|
||||||
ol tio.
|
|
||||||
|
|
||||||
Ni tute respektas vian privatecon, kaj neniu de tiuj agordoj necesas.
|
|
||||||
Se vi novas kaj ne konas iun ĉi tie, ili eble helpas
|
|
||||||
vin trovi novajn kaj interesajn amikojn.
|
|
||||||
|
|
||||||
|
|
||||||
Dankon kaj bonvenon ĉe $[sitename].
|
|
||||||
|
|
||||||
Salutoj,
|
|
||||||
$[sitename] administranto
|
|
||||||
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
|
|
||||||
Nova peto por registrado atendas ĉe $[sitename]
|
|
||||||
kaj bezonas vian aprobon.
|
|
||||||
|
|
||||||
|
|
||||||
Jen la detaloj de la peto:
|
|
||||||
|
|
||||||
Plena Nomo:»$[username]
|
|
||||||
Retejo:»$[siteurl]
|
|
||||||
Salutnomo:»$[email]
|
|
||||||
|
|
||||||
|
|
||||||
Aprobonte la peton, bonvolu klaki tiun ligilon:
|
|
||||||
|
|
||||||
|
|
||||||
$[siteurl]/regmod/allow/$[hash]
|
|
||||||
|
|
||||||
|
|
||||||
Malaprobonte kaj forviŝonte la konton, bonvolu klaki:
|
|
||||||
|
|
||||||
|
|
||||||
$[siteurl]/regmod/deny/$[hash]
|
|
||||||
|
|
||||||
|
|
||||||
Dankon!
|
|
|
@ -1,17 +0,0 @@
|
||||||
|
|
||||||
Kara $[myname],
|
|
||||||
|
|
||||||
Vi ĵus ricevis kontaktpeton ĉe $[sitename]
|
|
||||||
|
|
||||||
de '$[requestor]'.
|
|
||||||
|
|
||||||
Vi eblas viziti la profilon de la petanto ĉe $[url].
|
|
||||||
|
|
||||||
Bonvolu ensaluti en la retejo por vidi la plenan prezenton
|
|
||||||
kaj aprobi aŭ ignori/nuligi la peton.
|
|
||||||
|
|
||||||
$[siteurl]
|
|
||||||
|
|
||||||
Salutoj,
|
|
||||||
|
|
||||||
$[sitename] administranto
|
|
|
@ -1,15 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Kara {{$myname}},
|
|
||||||
|
|
||||||
Vi havas novan abonanton ĉe {{$sitename}} - '{{$requestor}}'.
|
|
||||||
|
|
||||||
Vi povas viziti ilian profilon ĉe {{$url}}.
|
|
||||||
|
|
||||||
Bonvolu ensaluti en vian retejon por aprobi au malaprobi/nuligi la peton.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
Salutoj,
|
|
||||||
|
|
||||||
[{{$sitename}}] administranto
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Kara {{$username}},
|
|
||||||
|
|
||||||
Boegaj novaĵoj.... '{{$fn}}' ĉe '{{$dfrn_url}}' aprobis
|
|
||||||
vian kontaktpeton ĉe '{{$sitename}}'.
|
|
||||||
|
|
||||||
Vi nun estas reciprokaj amikoj kaj povas interŝanĝi afiŝojn, bildojn kaj mesaĝojn
|
|
||||||
senkatene.
|
|
||||||
|
|
||||||
Bonvolu viziti vian 'Kontaktoj' paĝon ĉe {{$sitename}} se vi volas
|
|
||||||
ŝangi la rilaton.
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
[Ekzempe, vi eble volas krei disiĝintan profilon kun informoj kiu ne
|
|
||||||
haveblas al la komuna publiko - kaj rajtigi '{{$fn}}' al ĝi]'
|
|
||||||
|
|
||||||
Salutoj,
|
|
||||||
|
|
||||||
{{$sitename}} administranto
|
|
||||||
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
Kara {{$username}},
|
|
||||||
|
|
||||||
'{{$fn}}' ĉe '{{$dfrn_url}}' akceptis
|
|
||||||
vian kontaktpeton ĉe '{{$sitename}}'.
|
|
||||||
|
|
||||||
'{{$fn}}' elektis vin kiel "admiranto", kio malpermesas
|
|
||||||
kelkajn komunikilojn - ekzemple privataj mesaĝoj kaj kelkaj profilrilataj
|
|
||||||
agoj. Se tio estas konto de komunumo aŭ de eminentulo, tiaj agordoj
|
|
||||||
aŭtomate aktiviĝis.
|
|
||||||
|
|
||||||
'{{$fn}}' eblas konverti la rilaton al ambaŭdirekta rilato
|
|
||||||
aŭ apliki pli da permesoj.
|
|
||||||
|
|
||||||
Vi ekricevos publikajn afiŝojn de '{{$fn}}',
|
|
||||||
kiuj aperos sur via 'Reto' paĝo ĉe
|
|
||||||
|
|
||||||
{{$siteurl}}
|
|
||||||
|
|
||||||
Salutoj,
|
|
||||||
|
|
||||||
{{$sitename}} administranto
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue