This commit is contained in:
friendica 2013-01-12 15:09:35 -08:00
commit 449b44fe4c
681 changed files with 3503 additions and 149 deletions

View File

@ -14,7 +14,7 @@ require_once('include/features.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica'); define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_VERSION', '3.1.1586' ); define ( 'FRIENDICA_VERSION', '3.1.1586' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
define ( 'DB_UPDATE_VERSION', 1157 ); define ( 'DB_UPDATE_VERSION', 1158 );
define ( 'EOL', "<br />\r\n" ); define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@ -622,7 +622,6 @@ if(! class_exists('App')) {
*/ */
if(!isset($this->page['htmlhead'])) if(!isset($this->page['htmlhead']))
$this->page['htmlhead'] = ''; $this->page['htmlhead'] = '';
$tpl = get_markup_template('head.tpl');
// If we're using Smarty, then doing replace_macros() will replace // If we're using Smarty, then doing replace_macros() will replace
// any unrecognized variables with a blank string. Since we delay // any unrecognized variables with a blank string. Since we delay
@ -633,6 +632,7 @@ if(! class_exists('App')) {
else else
$stylesheet = '$stylesheet'; $stylesheet = '$stylesheet';
$tpl = get_markup_template('head.tpl');
$this->page['htmlhead'] = replace_macros($tpl,array( $this->page['htmlhead'] = replace_macros($tpl,array(
'$baseurl' => $this->get_baseurl(), // FIXME for z_path!!!! '$baseurl' => $this->get_baseurl(), // FIXME for z_path!!!!
'$local_user' => local_user(), '$local_user' => local_user(),
@ -1381,8 +1381,6 @@ if(! function_exists('profile_sidebar')) {
} }
$tpl = get_markup_template('profile_vcard.tpl');
$p = array(); $p = array();
foreach($profile as $k => $v) { foreach($profile as $k => $v) {
$k = str_replace('-','_',$k); $k = str_replace('-','_',$k);
@ -1392,6 +1390,7 @@ if(! function_exists('profile_sidebar')) {
if($a->theme['template_engine'] === 'internal') if($a->theme['template_engine'] === 'internal')
$location = template_escape($location); $location = template_escape($location);
$tpl = get_markup_template('profile_vcard.tpl');
$o .= replace_macros($tpl, array( $o .= replace_macros($tpl, array(
'$profile' => $p, '$profile' => $p,
'$connect' => $connect, '$connect' => $connect,

View File

@ -241,6 +241,20 @@ CREATE TABLE IF NOT EXISTS `deliverq` (
-- -------------------------------------------------------- -- --------------------------------------------------------
--
-- Table structure for table `dsprphotoq`
--
CREATE TABLE `dsprphotoq` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`msg` mediumtext NOT NULL,
`attempt` tinyint(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
-- --
-- Table structure for table `event` -- Table structure for table `event`
-- --

View File

@ -42,6 +42,10 @@ function z_mime_content_type($filename) {
'qt' => 'video/quicktime', 'qt' => 'video/quicktime',
'mov' => 'video/quicktime', 'mov' => 'video/quicktime',
'ogg' => 'application/ogg', 'ogg' => 'application/ogg',
'mp4' => 'video/mp4',
'avi' => 'video/x-msvideo',
'wmv' => 'video/x-ms-wmv',
'wma' => 'audio/x-ms-wma',
// adobe // adobe
'pdf' => 'application/pdf', 'pdf' => 'application/pdf',

View File

@ -877,26 +877,21 @@ function format_like($cnt,$arr,$type,$id) {
if($cnt == 1) if($cnt == 1)
$o .= (($type === 'like') ? sprintf( t('%s likes this.'), $arr[0]) : sprintf( t('%s doesn\'t like this.'), $arr[0])) . EOL ; $o .= (($type === 'like') ? sprintf( t('%s likes this.'), $arr[0]) : sprintf( t('%s doesn\'t like this.'), $arr[0])) . EOL ;
else { else {
//$spanatts = 'class="fakelink" onclick="openClose(\'' . $type . 'list-' . $id . '\');"'; $spanatts = "class=\"fakelink\" onclick=\"openClose('{$type}list-$id');\"";
switch($type) { switch($type) {
case 'like': case 'like':
// $phrase = sprintf( t('<span %1$s>%2$d people</span> like this.'), $spanatts, $cnt); $phrase = sprintf( t('<span %1$s>%2$d people</span> like this'), $spanatts, $cnt);
$mood = t('like this');
break; break;
case 'dislike': case 'dislike':
// $phrase = sprintf( t('<span %1$s>%2$d people</span> don\'t like this.'), $spanatts, $cnt); $phrase = sprintf( t('<span %1$s>%2$d people</span> don\'t like this'), $spanatts, $cnt);
$mood = t('don\'t like this');
break; break;
} }
$tpl = get_markup_template("voting_fakelink.tpl"); $phrase .= EOL ;
$phrase = replace_macros($tpl, array( $o .= replace_macros(get_markup_template('voting_fakelink.tpl'), array(
'$vote_id' => $type . 'list-' . $id, '$phrase' => $phrase,
'$count' => $cnt, '$type' => $type,
'$people' => t('people'), '$id' => $id
'$vote_mood' => $mood
)); ));
$o .= $phrase;
// $o .= EOL ;
$total = count($arr); $total = count($arr);
if($total >= MAX_LIKERS) if($total >= MAX_LIKERS)

View File

@ -16,7 +16,9 @@ function diaspora_dispatch_public($msg) {
return; return;
} }
$r = q("SELECT `user`.* FROM `user` WHERE `user`.`uid` IN ( SELECT `contact`.`uid` FROM `contact` WHERE `contact`.`network` = '%s' AND `contact`.`addr` = '%s' ) AND `account_expired` = 0 AND `account_removed` = 0 ", $r = q("SELECT `user`.* FROM `user` WHERE `user`.`uid` IN
( SELECT `contact`.`uid` FROM `contact` WHERE `contact`.`network` = '%s' AND `contact`.`addr` = '%s' )
AND `account_expired` = 0 AND `account_removed` = 0 ",
dbesc(NETWORK_DIASPORA), dbesc(NETWORK_DIASPORA),
dbesc($msg['author']) dbesc($msg['author'])
); );
@ -32,7 +34,7 @@ function diaspora_dispatch_public($msg) {
function diaspora_dispatch($importer,$msg) { function diaspora_dispatch($importer,$msg,$attempt=1) {
$ret = 0; $ret = 0;
@ -88,7 +90,7 @@ function diaspora_dispatch($importer,$msg) {
$ret = diaspora_signed_retraction($importer,$xmlbase->relayable_retraction,$msg); $ret = diaspora_signed_retraction($importer,$xmlbase->relayable_retraction,$msg);
} }
elseif($xmlbase->photo) { elseif($xmlbase->photo) {
$ret = diaspora_photo($importer,$xmlbase->photo,$msg); $ret = diaspora_photo($importer,$xmlbase->photo,$msg,$attempt);
} }
elseif($xmlbase->conversation) { elseif($xmlbase->conversation) {
$ret = diaspora_conversation($importer,$xmlbase->conversation,$msg); $ret = diaspora_conversation($importer,$xmlbase->conversation,$msg);
@ -1655,7 +1657,7 @@ function diaspora_message($importer,$xml,$msg) {
} }
function diaspora_photo($importer,$xml,$msg) { function diaspora_photo($importer,$xml,$msg,$attempt=1) {
$a = get_app(); $a = get_app();
@ -1693,7 +1695,14 @@ function diaspora_photo($importer,$xml,$msg) {
dbesc($status_message_guid) dbesc($status_message_guid)
); );
if(! count($r)) { if(! count($r)) {
logger('diaspora_photo: parent item not found: parent: ' . $parent_guid . ' item: ' . $guid); if($attempt <= 3) {
q("INSERT INTO dsprphotoq (uid, msg, attempt) VALUES (%d, '%s', %d)",
intval($importer['uid']),
dbesc(serialize($msg)),
intval($attempt + 1)
);
}
logger('diaspora_photo: attempt = ' . $attempt . '; status message not found: ' . $status_message_guid . ' for photo: ' . $guid);
return; return;
} }
@ -2319,13 +2328,15 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) {
$myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); $myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
// $theiraddr = $contact['addr']; // $theiraddr = $contact['addr'];
// Diaspora doesn't support threaded comments // Diaspora doesn't support threaded comments, but some
/*if($item['thr-parent']) { // versions of Diaspora (i.e. Diaspora-pistos) support
// likes on comments
if($item['verb'] === ACTIVITY_LIKE && $item['thr-parent']) {
$p = q("select guid, type, uri, `parent-uri` from item where uri = '%s' limit 1", $p = q("select guid, type, uri, `parent-uri` from item where uri = '%s' limit 1",
dbesc($item['thr-parent']) dbesc($item['thr-parent'])
); );
} }
else {*/ else {
// The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always // The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always
// return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent. // return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent.
// The only item with `parent` and `id` as the parent id is the parent item. // The only item with `parent` and `id` as the parent id is the parent item.
@ -2333,7 +2344,7 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) {
intval($item['parent']), intval($item['parent']),
intval($item['parent']) intval($item['parent'])
); );
//} }
if(count($p)) if(count($p))
$parent = $p[0]; $parent = $p[0];
else else
@ -2395,13 +2406,15 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
$body = $item['body']; $body = $item['body'];
$text = html_entity_decode(bb2diaspora($body)); $text = html_entity_decode(bb2diaspora($body));
// Diaspora doesn't support threaded comments // Diaspora doesn't support threaded comments, but some
/*if($item['thr-parent']) { // versions of Diaspora (i.e. Diaspora-pistos) support
// likes on comments
if($item['verb'] === ACTIVITY_LIKE && $item['thr-parent']) {
$p = q("select guid, type, uri, `parent-uri` from item where uri = '%s' limit 1", $p = q("select guid, type, uri, `parent-uri` from item where uri = '%s' limit 1",
dbesc($item['thr-parent']) dbesc($item['thr-parent'])
); );
} }
else {*/ else {
// The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always // The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always
// return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent. // return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent.
// The only item with `parent` and `id` as the parent id is the parent item. // The only item with `parent` and `id` as the parent id is the parent item.
@ -2409,7 +2422,7 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
intval($item['parent']), intval($item['parent']),
intval($item['parent']) intval($item['parent'])
); );
//} }
if(count($p)) if(count($p))
$parent = $p[0]; $parent = $p[0];
else else

50
include/dsprphotoq.php Normal file
View File

@ -0,0 +1,50 @@
<?php
require_once("boot.php");
require_once('include/diaspora.php');
function dsprphotoq_run($argv, $argc){
global $a, $db;
if(is_null($a)){
$a = new App;
}
if(is_null($db)){
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
logger("diaspora photo queue: running", LOGGER_DEBUG);
$r = q("SELECT * FROM dsprphotoq");
if(!$r)
return;
$dphotos = $r;
logger("diaspora photo queue: processing " . count($dphotos) . " photos");
foreach($dphotos as $dphoto) {
$r = q("SELECT * FROM user WHERE uid = %d",
intval($dphoto['uid'])
);
if(!$r) {
logger("diaspora photo queue: user " . $dphoto['uid'] . " not found");
return;
}
$ret = diaspora_dispatch($r[0],unserialize($dphoto['msg']),$dphoto['attempt']);
q("DELETE FROM dsprphotoq WHERE id = %d",
intval($dphoto['id'])
);
}
}
if (array_search(__file__,get_included_files())===0){
dsprphotoq_run($argv,$argc);
killme();
}

View File

@ -209,7 +209,7 @@ function html2plain($html, $wraplength = 75, $compact = false)
if (!$compact) { if (!$compact) {
$counter = 1; $counter = 1;
foreach ($urls as $id=>$url) foreach ($urls as $id=>$url)
if (strpos($message, $url) == false) if (strpos($message, $url) === false)
$message .= "\n".$url." "; $message .= "\n".$url." ";
//$message .= "\n[".($counter++)."] ".$url; //$message .= "\n[".($counter++)."] ".$url;
} }

View File

@ -3732,11 +3732,11 @@ function item_getfeedtags($item) {
function item_getfeedattach($item) { function item_getfeedattach($item) {
$ret = ''; $ret = '';
$arr = explode(',',$item['attach']); $arr = explode('[/attach],',$item['attach']);
if(count($arr)) { if(count($arr)) {
foreach($arr as $r) { foreach($arr as $r) {
$matches = false; $matches = false;
$cnt = preg_match('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"\[\/attach\]|',$r,$matches); $cnt = preg_match('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"|',$r,$matches);
if($cnt) { if($cnt) {
$ret .= '<link rel="enclosure" href="' . xmlify($matches[1]) . '" type="' . xmlify($matches[3]) . '" '; $ret .= '<link rel="enclosure" href="' . xmlify($matches[1]) . '" type="' . xmlify($matches[3]) . '" ';
if(intval($matches[2])) if(intval($matches[2]))

View File

@ -37,6 +37,7 @@ require_once('include/html2plain.php');
* tag (in photos.php, poke.php, tagger.php) * tag (in photos.php, poke.php, tagger.php)
* tgroup (in items.php) * tgroup (in items.php)
* wall-new (in photos.php, item.php) * wall-new (in photos.php, item.php)
* removeme (in Contact.php)
* *
* and ITEM_ID is the id of the item in the database that needs to be sent to others. * and ITEM_ID is the id of the item in the database that needs to be sent to others.
*/ */
@ -138,14 +139,17 @@ function notifier_run(&$argv, &$argc){
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($item_id)); $r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($item_id));
if (! $r) if (! $r)
return; return;
$user = $r[0]; $user = $r[0];
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1", intval($item_id)); $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1", intval($item_id));
if (! $r) if (! $r)
return; return;
$self = $r[0]; $self = $r[0];
$r = q("SELECT * FROM `contact` WHERE `self` = 0 AND `uid` = %d", intval($item_id)); $r = q("SELECT * FROM `contact` WHERE `self` = 0 AND `uid` = %d", intval($item_id));
if(! $r) if(! $r)
return; return;
require_once('include/Contact.php'); require_once('include/Contact.php');
foreach($r as $contact) { foreach($r as $contact) {
terminate_friendship($user, $self, $contact); terminate_friendship($user, $self, $contact);

View File

@ -62,6 +62,10 @@ function poller_run(&$argv, &$argc){
proc_run('php',"include/queue.php"); proc_run('php',"include/queue.php");
// run diaspora photo queue process in the background
proc_run('php',"include/dsprphotoq.php");
// expire any expired accounts // expire any expired accounts
q("UPDATE user SET `account_expired` = 1 where `account_expired` = 0 q("UPDATE user SET `account_expired` = 1 where `account_expired` = 0

View File

@ -489,12 +489,12 @@ function get_template_file($a, $filename, $root = '') {
if($root !== '' && $root[strlen($root)-1] !== '/') if($root !== '' && $root[strlen($root)-1] !== '/')
$root = $root . '/'; $root = $root . '/';
if(file_exists($root . "view/theme/$theme/$filename")) if(file_exists("{$root}view/theme/$theme/$filename"))
$template_file = $root . "view/theme/$theme/$filename"; $template_file = "{$root}view/theme/$theme/$filename";
elseif (x($a->theme_info,"extends") && file_exists($root . "view/theme/".$a->theme_info["extends"]."/$filename")) elseif (x($a->theme_info,"extends") && file_exists("{$root}view/theme/{$a->theme_info["extends"]}/$filename"))
$template_file = $root . "view/theme/".$a->theme_info["extends"]."/$filename"; $template_file = "{$root}view/theme/{$a->theme_info["extends"]}/$filename";
else else
$template_file = $root . "view/$filename"; $template_file = "{$root}view/$filename";
return $template_file; return $template_file;
}} }}
@ -1041,13 +1041,13 @@ function prepare_body($item,$attach = false) {
return $s; return $s;
} }
$arr = explode(',',$item['attach']); $arr = explode('[/attach],',$item['attach']);
if(count($arr)) { if(count($arr)) {
$s .= '<div class="body-attach">'; $s .= '<div class="body-attach">';
foreach($arr as $r) { foreach($arr as $r) {
$matches = false; $matches = false;
$icon = ''; $icon = '';
$cnt = preg_match_all('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"\[\/attach\]|',$r,$matches, PREG_SET_ORDER); $cnt = preg_match_all('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"|',$r,$matches, PREG_SET_ORDER);
if($cnt) { if($cnt) {
foreach($matches as $mtch) { foreach($matches as $mtch) {
$icontype = strtolower(substr($mtch[3],0,strpos($mtch[3],'/'))); $icontype = strtolower(substr($mtch[3],0,strpos($mtch[3],'/')));

View File

@ -253,7 +253,7 @@ ACL.prototype.populate = function(data){
//console.log(html); //console.log(html);
that.list_content.append(html); that.list_content.append(html);
}); });
$(".acl-list-item[rel!=acl-template] img[data-src]").each(function(i, el){ $(".acl-list-item img[data-src]", that.list_content).each(function(i, el){
// Add src attribute for images with a data-src attribute // Add src attribute for images with a data-src attribute
$(el).attr('src', $(el).data("src")); $(el).attr('src', $(el).data("src"));
}); });

2
js/acl.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -34,8 +34,10 @@ function attach_init(&$a) {
return; return;
} }
// Use quotes around the filename to prevent a "multiple Content-Disposition"
// error in Chrome for filenames with commas in them
header('Content-type: ' . $r[0]['filetype']); header('Content-type: ' . $r[0]['filetype']);
header('Content-disposition: attachment; filename=' . $r[0]['filename']); header('Content-disposition: attachment; filename="' . $r[0]['filename'] . '"');
echo $r[0]['data']; echo $r[0]['data'];
killme(); killme();
// NOTREACHED // NOTREACHED

View File

@ -11,7 +11,7 @@ function visible_lf($s) {
function babel_content(&$a) { function babel_content(&$a) {
$o .= '<h3>Babel Diagnostic</h3>'; $o .= '<h1>Babel Diagnostic</h1>';
$o .= '<form action="babel" method="post">'; $o .= '<form action="babel" method="post">';
$o .= t('Source (bbcode) text:') . EOL . '<textarea name="text" >' . htmlspecialchars($_REQUEST['text']) .'</textarea>' . EOL; $o .= t('Source (bbcode) text:') . EOL . '<textarea name="text" >' . htmlspecialchars($_REQUEST['text']) .'</textarea>' . EOL;
@ -28,31 +28,35 @@ function babel_content(&$a) {
if(x($_REQUEST,'text')) { if(x($_REQUEST,'text')) {
$text = trim($_REQUEST['text']); $text = trim($_REQUEST['text']);
$o .= t("Source input: ") . EOL. EOL; $o .= "<h2>" . t("Source input: ") . "</h2>" . EOL. EOL;
$o .= visible_lf($text) . EOL. EOL; $o .= visible_lf($text) . EOL. EOL;
$html = bbcode($text); $html = bbcode($text);
$o .= t("bb2html: ") . EOL. EOL; $o .= "<h2>" . t("bb2html (raw HTML): ") . "</h2>" . EOL. EOL;
$o .= htmlspecialchars($html). EOL. EOL;
//$html = bbcode($text);
$o .= "<h2>" . t("bb2html: ") . "</h2>" . EOL. EOL;
$o .= $html. EOL. EOL; $o .= $html. EOL. EOL;
$bbcode = html2bbcode($html); $bbcode = html2bbcode($html);
$o .= t("bb2html2bb: ") . EOL. EOL; $o .= "<h2>" . t("bb2html2bb: ") . "</h2>" . EOL. EOL;
$o .= visible_lf($bbcode) . EOL. EOL; $o .= visible_lf($bbcode) . EOL. EOL;
$diaspora = bb2diaspora($text); $diaspora = bb2diaspora($text);
$o .= t("bb2md: ") . EOL. EOL; $o .= "<h2>" . t("bb2md: ") . "</h2>" . EOL. EOL;
$o .= visible_lf($diaspora) . EOL. EOL; $o .= visible_lf($diaspora) . EOL. EOL;
$html = Markdown($diaspora); $html = Markdown($diaspora);
$o .= t("bb2md2html: ") . EOL. EOL; $o .= "<h2>" . t("bb2md2html: ") . "</h2>" . EOL. EOL;
$o .= $html. EOL. EOL; $o .= $html. EOL. EOL;
$bbcode = diaspora2bb($diaspora); $bbcode = diaspora2bb($diaspora);
$o .= t("bb2dia2bb: ") . EOL. EOL; $o .= "<h2>" . t("bb2dia2bb: ") . "</h2>" . EOL. EOL;
$o .= visible_lf($bbcode) . EOL. EOL; $o .= visible_lf($bbcode) . EOL. EOL;
$bbcode = html2bbcode($html); $bbcode = html2bbcode($html);
$o .= t("bb2md2html2bb: ") . EOL. EOL; $o .= "<h2>" . t("bb2md2html2bb: ") . "</h2>" . EOL. EOL;
$o .= visible_lf($bbcode) . EOL. EOL; $o .= visible_lf($bbcode) . EOL. EOL;
@ -62,12 +66,12 @@ function babel_content(&$a) {
if(x($_REQUEST,'d2bbtext')) { if(x($_REQUEST,'d2bbtext')) {
$d2bbtext = trim($_REQUEST['d2bbtext']); $d2bbtext = trim($_REQUEST['d2bbtext']);
$o .= t("Source input (Diaspora format): ") . EOL. EOL; $o .= "<h2>" . t("Source input (Diaspora format): ") . "</h2>" . EOL. EOL;
$o .= visible_lf($d2bbtext) . EOL. EOL; $o .= visible_lf($d2bbtext) . EOL. EOL;
$bb = diaspora2bb($d2bbtext); $bb = diaspora2bb($d2bbtext);
$o .= t("diaspora2bb: ") . EOL. EOL; $o .= "<h2>" . t("diaspora2bb: ") . "</h2>" . EOL. EOL;
$o .= visible_lf($bb) . EOL. EOL; $o .= visible_lf($bb) . EOL. EOL;
} }

View File

@ -4,8 +4,6 @@
function display_init(&$a) { function display_init(&$a) {
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) { if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
notice( t('Public access denied.') . EOL);
killme();
return; return;
} }
@ -17,6 +15,11 @@ function display_init(&$a) {
function display_content(&$a, $update = 0) { function display_content(&$a, $update = 0) {
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
notice( t('Public access denied.') . EOL);
return;
}
require_once("include/bbcode.php"); require_once("include/bbcode.php");
require_once('include/security.php'); require_once('include/security.php');
require_once('include/conversation.php'); require_once('include/conversation.php');

View File

@ -220,16 +220,15 @@ function group_content(&$a) {
} }
} }
$context['$groupeditor'] = $groupeditor;
$context['$desc'] = t('Click on a contact to add or remove.'); $context['$desc'] = t('Click on a contact to add or remove.');
if($change) { if($change) {
$context['$groupeditor'] = $groupeditor;
$tpl = get_markup_template('groupeditor.tpl'); $tpl = get_markup_template('groupeditor.tpl');
echo replace_macros($tpl, $context); echo replace_macros($tpl, $context);
killme(); killme();
} }
$context['$groupedit_info'] = $groupeditor;
return replace_macros($tpl, $context); return replace_macros($tpl, $context);
} }

View File

@ -516,7 +516,7 @@ function message_content(&$a) {
'$to' => t('To:'), '$to' => t('To:'),
'$showinputs' => '', '$showinputs' => '',
'$subject' => t('Subject:'), '$subject' => t('Subject:'),
'$subjtxt' => template_escape($message['title']), '$subjtxt' => $subjtxt_e,
'$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ', '$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ',
'$yourmessage' => t('Your message:'), '$yourmessage' => t('Your message:'),
'$text' => '', '$text' => '',

View File

@ -236,8 +236,6 @@ function parse_url_content(&$a) {
$str_tags = ''; $str_tags = '';
$textmode = false; $textmode = false;
if(local_user() && intval(get_pconfig(local_user(),'system','plaintext')))
$textmode = true;
if(local_user() && (! feature_enabled(local_user(),'richtext'))) if(local_user() && (! feature_enabled(local_user(),'richtext')))
$textmode = true; $textmode = true;

View File

@ -6,8 +6,6 @@ function profiles_init(&$a) {
nav_set_selected('profiles'); nav_set_selected('profiles');
if(! local_user()) { if(! local_user()) {
notice( t('Permission denied.') . EOL);
killme();
return; return;
} }
@ -565,6 +563,11 @@ function profile_activity($changed, $value) {
function profiles_content(&$a) { function profiles_content(&$a) {
if(! local_user()) {
notice( t('Permission denied.') . EOL);
return;
}
$o = ''; $o = '';
if(($a->argc > 1) && (intval($a->argv[1]))) { if(($a->argc > 1) && (intval($a->argv[1]))) {

View File

@ -160,8 +160,13 @@ function wall_upload_post(&$a) {
//if we get the signal then return the image url info in BBCODE, otherwise this outputs the info and bails (for the ajax image uploader on wall post) //if we get the signal then return the image url info in BBCODE, otherwise this outputs the info and bails (for the ajax image uploader on wall post)
if ($_REQUEST['hush']!='yeah') { if ($_REQUEST['hush']!='yeah') {
if(local_user() && (! feature_enabled(local_user(),'richtext') || x($_REQUEST['nomce'])) ) {
echo "\n\n" . '[url=' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '][img]' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.".$ph->getExt()."[/img][/url]\n\n"; echo "\n\n" . '[url=' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '][img]' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.".$ph->getExt()."[/img][/url]\n\n";
} }
else {
echo '<br /><br /><a href="' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '" ><img src="' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.".$ph->getExt()."\" alt=\"$basename\" /></a><br /><br />";
}
}
else { else {
$m = '[url=' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '][img]' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.".$ph->getExt()."[/img][/url]"; $m = '[url=' . $a->get_baseurl() . '/photos/' . $page_owner_nick . '/image/' . $hash . '][img]' . $a->get_baseurl() . "/photo/{$hash}-{$smallest}.".$ph->getExt()."[/img][/url]";
return($m); return($m);

View File

@ -1,14 +1,17 @@
#!/usr/bin/python #!/usr/bin/python
# #
# Script to convert Friendica internal template files into Smarty template files # Script to convert Friendica internal template files into Smarty template files
# Copyright 2012 Zach Prezkuta # Copyright 2013 Zach Prezkuta
# Licensed under GPL v3 # Licensed under GPL v3
import os, re, string import os, re, string
import sys, getopt
ldelim = '{{' ldelim = '{{'
rdelim = '}}' rdelim = '}}'
addheader = True
def fToSmarty(matches): def fToSmarty(matches):
match = matches.group(0) match = matches.group(0)
if match == '$j': if match == '$j':
@ -93,6 +96,10 @@ def fix_element(element):
def convert(filename, tofilename, php_tpl): def convert(filename, tofilename, php_tpl):
if addheader:
header = ldelim + "*\n *\tAUTOMATICALLY GENERATED TEMPLATE\n *\tDO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN\n *\n *" + rdelim + "\n"
tofilename.write(header)
for line in filename: for line in filename:
newline = '' newline = ''
st_pos = 0 st_pos = 0
@ -170,7 +177,39 @@ def convert(filename, tofilename, php_tpl):
tofilename.write(newline) tofilename.write(newline)
def help(pname):
print "\nUsage:"
print "\t" + pname + " -h\n\n\t\t\tShow this help screen\n"
print "\t" + pname + " -p directory\n\n\t\t\tConvert all .tpl files in directory to\n\t\t\tSmarty templates in directory/smarty3/\n"
print "\t" + pname + "\n\n\t\t\tInteractive mode\n"
#
# Main script
#
path = ''
try:
opts, args = getopt.getopt(sys.argv[1:], "hp:", ['no-header'])
for opt, arg in opts:
if opt == '-h':
help(sys.argv[0])
sys.exit()
elif opt == '-p':
path = arg
elif opt == '--no-header':
addheader = False
except getopt.GetoptError:
help(sys.argv[0])
sys.exit(2)
if path == '':
path = raw_input('Path to template folder to convert: ') path = raw_input('Path to template folder to convert: ')
if path[-1:] != '/': if path[-1:] != '/':
path = path + '/' path = path + '/'

64
mods/updatetpl.py Executable file
View File

@ -0,0 +1,64 @@
#!/usr/bin/python
#
# Script to update Smarty template files from all internal templates
# Copyright 2013 Zach Prezkuta
# Licensed under GPL v3
import os
import sys, getopt
import subprocess
def help(pname):
print "\nUsage:"
print "\t" + pname + " -h\n\n\t\t\tShow this help screen\n"
print "\t" + pname + " -p directory\n\n\t\t\tConvert all .tpl files in top-level\n\t\t\tFriendica directory to Smarty templates\n"
print "\t" + pname + "\n\n\t\t\tInteractive mode\n"
#
# Main script
#
path = ''
try:
opts, args = getopt.getopt(sys.argv[1:], "hp:")
for opt, arg in opts:
if opt == '-h':
help(sys.argv[0])
sys.exit()
elif opt == '-p':
path = arg
except getopt.GetoptError:
help(sys.argv[0])
sys.exit(2)
if path == '':
path = raw_input('Path to top-level Friendica directory: ')
if path[-1:] != '/':
path = path + '/'
tplpaths = ['view/']
names = os.listdir(path + 'view/')
for name in names:
if os.path.isdir(path + 'view/' + name):
if name != 'smarty3' and name != 'theme':
tplpaths.append('view/' + name + '/')
names = os.listdir(path + 'view/theme/')
for name in names:
if os.path.isdir(path + 'view/theme/' + name):
tplpaths.append('view/theme/' + name + '/')
fnull = open(os.devnull, "w")
for tplpath in tplpaths:
print "Converting " + path + tplpath
subprocess.call(['python', path + 'mods/friendica-to-smarty-tpl.py', '-p', path + tplpath], stdout = fnull)
fnull.close()

View File

@ -497,13 +497,7 @@ class Item extends BaseObject {
return false; return false;
} }
if($a->theme['template_engine'] === 'smarty3') { $this->template = $this->available_templates[$name];
$template_file = get_template_file($a, 'smarty3/' . $this->available_templates[$name]);
}
else {
$template_file = $this->available_templates[$name];
}
$this->template = $template_file;
} }
/** /**

View File

@ -1,6 +1,6 @@
<?php <?php
define( 'UPDATE_VERSION' , 1157 ); define( 'UPDATE_VERSION' , 1158 );
/** /**
* *
@ -1369,3 +1369,20 @@ ADD INDEX ( `datasize` ) ");
if(!$r) return UPDATE_FAILED; if(!$r) return UPDATE_FAILED;
return UPDATE_SUCCESS; return UPDATE_SUCCESS;
} }
function update_1157() {
$r = q("CREATE TABLE IF NOT EXISTS `dsprphotoq` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`msg` mediumtext NOT NULL,
`attempt` tinyint(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8"
);
if($r)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
}

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Apreciat/da {{$username}}, Apreciat/da {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Apreciat/da {{$myname}}, Apreciat/da {{$myname}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Apreciat/da {{$username}}, Apreciat/da {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<?php <?php
// Set the following for your MySQL installation // Set the following for your MySQL installation

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Apreciat/da {{$username}}, Apreciat/da {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Apreciat/da {{$username}}, Apreciat/da {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html> <html>
<head> <head>

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Has rebut un nou missatge privat de '{{$from}}' en {{$siteName}}. Has rebut un nou missatge privat de '{{$from}}' en {{$siteName}}.
{{$title}} {{$title}}

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Apreciat/da {{$username}}, Apreciat/da {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Apreciat/da {{$username}}, Apreciat/da {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
S'ha rebut la sol·licitud de registre d'un nou usuari en S'ha rebut la sol·licitud de registre d'un nou usuari en
{{$sitename}} que requereix la teva aprovació. {{$sitename}} que requereix la teva aprovació.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Apreciat/da {{$myname}}, Apreciat/da {{$myname}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Apreciat/da {{$username}}, Apreciat/da {{$username}},

View File

@ -14,8 +14,8 @@
$tabs $tabs
{{ for $contacts as $c }} {{ for $contacts as $contact }}
{{ inc contact_template.tpl with $contact=$c }}{{ endinc }} {{ inc contact_template.tpl }}{{ endinc }}
{{ endfor }} {{ endfor }}
<div id="contact-edit-end"></div> <div id="contact-edit-end"></div>

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Milý/Milá {{$username}}, Milý/Milá {{$username}},
'{{$from}}' okommentoval položku/konverzaci, kterou následujete. '{{$from}}' okommentoval položku/konverzaci, kterou následujete.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html> <html>
<head> <head>

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Milý/Milá {{$username}}, Milý/Milá {{$username}},
'{{$from}}' okommentoval položku/konverzaci, kterou následujete. '{{$from}}' okommentoval položku/konverzaci, kterou následujete.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Milý/Milá {{$username}}, Milý/Milá {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Milý/Milá {{$username}}, Milý/Milá {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<?php <?php
// Nastavte následující pro Vaši instalaci MySQL // Nastavte následující pro Vaši instalaci MySQL

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Milý/Milá {{$username}}, Milý/Milá {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Milý/Milá {{$username}}, 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. 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.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html> <html>
<head> <head>

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
{{$from}} Vám poslal(a) novou soukromou zprávu na {{$siteName}}. {{$from}} Vám poslal(a) novou soukromou zprávu na {{$siteName}}.
{{$title}} {{$title}}

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Milý/Milá {{$username}}, 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 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).

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Milý/milá {{$username}}, Milý/milá {{$username}},
Díky za registraci na {{$sitename}}. Váš účet byl vytvořen. Díky za registraci na {{$sitename}}. Váš účet byl vytvořen.
Vaše přihlašovací údaje jsou tato: Vaše přihlašovací údaje jsou tato:

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Na webu {{$sitename}} byla vytvořena nová uživatelská registrace, která vyžaduje Vaše schválení. Na webu {{$sitename}} byla vytvořena nová uživatelská registrace, která vyžaduje Vaše schválení.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Milý/Milá {{$username}}, Milý/Milá {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Milý/Milá {{$username}}, Milý/Milá {{$username}},
'{{$from}}' obohatil Vaši profilovou zeď. '{{$from}}' obohatil Vaši profilovou zeď.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html> <html>
<head> <head>

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Milý/Milá {{$username}}, Milý/Milá {{$username}},
'{{$from}}' obohatil Vaši profilovou zeď. '{{$from}}' obohatil Vaši profilovou zeď.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hallo {{$username}}, Hallo {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html> <html>
<head> <head>

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hallo {{$username}}, Hallo {{$username}},
'{{$from}}' hat einen Pinnwandeintrag kommentiert dem du auch folgst. '{{$from}}' hat einen Pinnwandeintrag kommentiert dem du auch folgst.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hallo {{$myname}}, Hallo {{$myname}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hallo {{$username}}, Hallo {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<?php <?php
// Set the following for your MySQL installation // Set the following for your MySQL installation

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hallo {{$username}}, Hallo {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hallo {{$username}}, Hallo {{$username}},
Auf {{$sitename}} wurde eine Anfrage zum Zurücksetzen deines Auf {{$sitename}} wurde eine Anfrage zum Zurücksetzen deines

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html> <html>
<head> <head>

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Du hast eine neue private Nachricht von '{{$from}}' auf '{{$siteName}}' erhhalten. Du hast eine neue private Nachricht von '{{$from}}' auf '{{$siteName}}' erhhalten.
{{$title}} {{$title}}

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hallo {{$username}}, Hallo {{$username}},
Dein Passwort wurde wie gewünscht geändert. Bitte bewahre diese Dein Passwort wurde wie gewünscht geändert. Bitte bewahre diese

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hallo {{$username}}, Hallo {{$username}},
Danke für deine Anmeldung auf {{$sitename}}. Dein Account wurde angelegt. Danke für deine Anmeldung auf {{$sitename}}. Dein Account wurde angelegt.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Eine Neuanmeldung auf {{$sitename}} benötigt Eine Neuanmeldung auf {{$sitename}} benötigt
deine Aufmerksamkeit. deine Aufmerksamkeit.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hallo {{$myname}}, Hallo {{$myname}},
@ -7,7 +12,7 @@ erhalten.
Du kannst sein/ihr Profil unter {{$url}} finden. Du kannst sein/ihr Profil unter {{$url}} finden.
Bitte melde dich an um die komplette Vorstellung einzusehen Bitte melde dich an um die komplette Anfrage einzusehen
und die Anfrage zu bestätigen oder zu ignorieren oder abzulehnen. und die Anfrage zu bestätigen oder zu ignorieren oder abzulehnen.
{{$siteurl}} {{$siteurl}}

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hi, Hi,
ich bin {{$sitename}}. ich bin {{$sitename}}.
Die friendica Entwickler haben jüngst Update {{$update}} veröffentlicht, Die friendica Entwickler haben jüngst Update {{$update}} veröffentlicht,

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hallo {{$username}}, Hallo {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html> <html>
<head> <head>

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hallo {{$username}}, Hallo {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Dear {{$myname}}, Dear {{$myname}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Dear {{$username}}, Dear {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<?php <?php
// Set the following for your MySQL installation // Set the following for your MySQL installation

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Dear {{$username}}, Dear {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Dear {{$username}}, Dear {{$username}},
A request was recently received at {{$sitename}} to reset your account A request was recently received at {{$sitename}} to reset your account

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Dear {{$username}}, Dear {{$username}},
Your password has been changed as requested. Please retain this Your password has been changed as requested. Please retain this

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Dear {{$username}}, Dear {{$username}},
Thank you for registering at {{$sitename}}. Your account has been created. Thank you for registering at {{$sitename}}. Your account has been created.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
A new user registration request was received at {{$sitename}} which requires A new user registration request was received at {{$sitename}} which requires
your approval. your approval.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Dear {{$myname}}, Dear {{$myname}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Hey, Hey,
I'm {{$sitename}}; I'm {{$sitename}};
The friendica developers released update {{$update}} recently, The friendica developers released update {{$update}} recently,

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Kara {{$myname}}, Kara {{$myname}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Kara {{$username}}, Kara {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Kara {{$username}}, Kara {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Kara {{$username}}, Kara {{$username}},
{{$sitename}} ricevis peton por rekomencigi vian pasvorton. {{$sitename}} ricevis peton por rekomencigi vian pasvorton.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Kara {{$username}}, Kara {{$username}},
Via pasvorto estas ŝanĝita laŭ via peto. Bonvolu konservi ĉi tiun Via pasvorto estas ŝanĝita laŭ via peto. Bonvolu konservi ĉi tiun

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Kara {{$username}}, Kara {{$username}},
Dankon pro via registrado ĉe {{$sitename}}. Vian konton estas kreita. Dankon pro via registrado ĉe {{$sitename}}. Vian konton estas kreita.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Nova peto por registrado atendas ĉe {{$sitename}} Nova peto por registrado atendas ĉe {{$sitename}}
kaj bezonas vian aprobon. kaj bezonas vian aprobon.

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Kara {{$myname}}, Kara {{$myname}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Saluton! Saluton!
Mi estas {{$sitename}}. Mi estas {{$sitename}}.
La programistoj de Frienda eldonis ĝisdatigon {{$update}} antaŭ ne longe, La programistoj de Frienda eldonis ĝisdatigon {{$update}} antaŭ ne longe,

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Estimado/a {{$username}}, Estimado/a {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Estimado/a {{$myname}}, Estimado/a {{$myname}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Estimado/a {{$username}}, Estimado/a {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<?php <?php
// Set the following for your MySQL installation // Set the following for your MySQL installation

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Estimado/a {{$username}}, Estimado/a {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
Estimado/a {{$username}}, Estimado/a {{$username}},

View File

@ -1,3 +1,8 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
<html> <html>
<head> <head>

Some files were not shown because too many files have changed in this diff Show More