diff --git a/README b/README index e5c5e02d6..36bd01792 100644 --- a/README +++ b/README @@ -40,10 +40,8 @@ interaction you've grown to love, *and* was free to use, *and* was open source, *and* where your privacy is always under your control? And what if this social network could scale to encompass the entire -internet, and *not* require a central organisation to provide servers (in -exchange for selling your private information; and everything else they can -find out about you - from logging all of your online activities and -conversations)? +internet, and *not* require a central organisation to provide servers? +(In exchange for peddling your private information behind your back.) Look no further. diff --git a/addon/facebook/facebook.php b/addon/facebook/facebook.php index 93e7962c3..119ee2f3e 100644 --- a/addon/facebook/facebook.php +++ b/addon/facebook/facebook.php @@ -123,15 +123,12 @@ function facebook_content(&$a) { function facebook_install() { register_hook('post_local_end', 'addon/facebook/facebook.php', 'facebook_post_hook'); register_hook('jot_networks', 'addon/facebook/facebook.php', 'facebook_jot_nets'); - register_hook('post_local_start','addon/facebook/facebook.php', 'facebook_post_local'); - } function facebook_uninstall() { unregister_hook('post_local_end', 'addon/facebook/facebook.php', 'facebook_post_hook'); unregister_hook('jot_networks', 'addon/facebook/facebook.php', 'facebook_jot_nets'); - unregister_hook('post_local_start','addon/facebook/facebook.php', 'facebook_post_local'); } @@ -148,16 +145,6 @@ function facebook_jot_nets(&$a,&$b) { } } -function facebook_post_local(&$a,&$b) { - if(! local_user()) - return; - - if((x($b,'facebook_enable')) && (intval($b['facebook_enable']))) - set_pconfig(local_user(),'facebook','enable','1'); - else - del_pconfig(local_user(),'facebook','enable'); -} - function facebook_post_hook(&$a,&$b) { @@ -175,17 +162,21 @@ function facebook_post_hook(&$a,&$b) { if($appid && $secret) { + logger('facebook: have appid+secret'); + $fb_post = intval(get_pconfig(local_user(),'facebook','post')); - $fb_enable = intval(get_pconfig(local_user(),'facebook','enable')); + $fb_enable = (($fb_post && x($_POST,'facebook_enable')) ? intval($_POST['facebook_enable']) : 0); $fb_token = get_pconfig(local_user(),'facebook','access_token'); + logger('facebook: $fb_post: ' . $fb_post . ' $fb_enable: ' . $fb_enable . ' $fb_token: ' . $fb_token,LOGGER_DEBUG); if($fb_post && $fb_token && $fb_enable) { + logger('facebook: able to post'); require_once('library/facebook.php'); require_once('include/bbcode.php'); $msg = $b['body']; - logger('Facebook post2: msg=' . $msg, LOGGER_DATA); + logger('Facebook post: original msg=' . $msg, LOGGER_DATA); // make links readable before we strip the code diff --git a/addon/statusnet/statusnet.php b/addon/statusnet/statusnet.php index bc47242fc..46ecdde99 100644 --- a/addon/statusnet/statusnet.php +++ b/addon/statusnet/statusnet.php @@ -133,7 +133,7 @@ function statusnet_settings(&$a,&$s) { $s .= '
'; $s .= ''; $s .= '
'; - $s .= ''; + $s .= ''; $s .= '
'; $s .= '
'; $s .= '
'; diff --git a/boot.php b/boot.php index 9c8712750..3dff39a33 100644 --- a/boot.php +++ b/boot.php @@ -2,8 +2,8 @@ set_time_limit(0); -define ( 'BUILD_ID', 1038 ); -define ( 'FRIENDIKA_VERSION', '2.10.0906' ); +define ( 'BUILD_ID', 1039 ); +define ( 'FRIENDIKA_VERSION', '2.10.0907' ); define ( 'DFRN_PROTOCOL_VERSION', '2.1' ); define ( 'EOL', "
\r\n" ); @@ -1804,7 +1804,7 @@ function like_puller($a,$item,&$arr,$mode) { if((activity_match($item['verb'],$verb)) && ($item['id'] != $item['parent'])) { $url = $item['author-link']; - if(($item['network'] === 'dfrn') && (! $item['self']) && ($item['author-link'] == $item['url'])) { + if((local_user()) && (local_user() == $item['uid']) && ($item['network'] === 'dfrn') && (! $item['self']) && (link_compare($item['author-link'],$item['url']))) { $url = $a->get_baseurl() . '/redir/' . $item['contact-id']; $sparkle = ' class="sparkle" '; } @@ -1978,8 +1978,11 @@ function smilies($s) { $a = get_app(); return str_replace( - array( ':-)', ';-)', ':-(', ':(', ':-P', ':-"', ':-x', ':-X', ':-D', '8-|', '8-O'), + array( '<3', '</3', '<\\3', ':-)', ';-)', ':-(', ':(', ':-P', ':-"', ':-x', ':-X', ':-D', '8-|', '8-O'), array( + '<3', + '</3', + '<\\3', ':-)', ';-)', ':-(', @@ -2100,7 +2103,7 @@ function profile_sidebar($profile) { $tabs = ''; - $photo = '
' . $profile['name'] . '
'; + $photo = '
' . $profile['name'] . '
'; $connect = (($profile['uid'] != local_user()) ? '
  • ' . t('Connect') . '
  • ' : ''); diff --git a/database.sql b/database.sql index 55671db85..93e444b6b 100644 --- a/database.sql +++ b/database.sql @@ -181,6 +181,7 @@ CREATE TABLE IF NOT EXISTS `item` ( `object` text NOT NULL, `target-type` char(255) NOT NULL, `target` text NOT NULL, + `plink` char(255) NOT NULL, `resource-id` char(255) NOT NULL, `tag` mediumtext NOT NULL, `inform` mediumtext NOT NULL, diff --git a/images/smiley-brokenheart.gif b/images/smiley-brokenheart.gif new file mode 100644 index 000000000..79ca0c31b Binary files /dev/null and b/images/smiley-brokenheart.gif differ diff --git a/images/smiley-heart.gif b/images/smiley-heart.gif new file mode 100644 index 000000000..21c0c6530 Binary files /dev/null and b/images/smiley-heart.gif differ diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 953243a43..94f51a9ff 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -44,6 +44,8 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) { function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false) { + $a = get_app(); + $o = ''; // When used for private messages, we limit correspondence to mutual friends and the selector diff --git a/include/main.js b/include/main.js index 63b34bd21..abd097e54 100644 --- a/include/main.js +++ b/include/main.js @@ -29,6 +29,7 @@ $(document).ready(function() { $.ajaxSetup({cache: false}); + msie = $.browser.msie ; NavUpdate(); // Allow folks to stop the ajax page updates with the pause/break key @@ -210,3 +211,23 @@ $('#panel').hide(); } + function post_comment(id) { + $.post( + "item", + $("#comment-edit-form-" + id).serialize(), + function(data) { + if(data.success) { + $("#comment-edit-wrapper-" + id).hide(); + $("#comment-edit-text-" + id).val(''); + var tarea = document.getElementById("comment-edit-text-" + id); + if(tarea) + commentClose(tarea,id); + if(timer) clearTimeout(timer); + timer = setTimeout(NavUpdate,10); + } + }, + "json" + ); + return false; + } + diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php index dffbb5974..5f91f1b1b 100644 --- a/mod/dfrn_notify.php +++ b/mod/dfrn_notify.php @@ -2,8 +2,6 @@ require_once('simplepie/simplepie.inc'); require_once('include/items.php'); - - function dfrn_notify_post(&$a) { $dfrn_id = ((x($_POST,'dfrn_id')) ? notags(trim($_POST['dfrn_id'])) : ''); @@ -52,11 +50,17 @@ function dfrn_notify_post(&$a) { } - $r = q("SELECT `contact`.*, `contact`.`uid` AS `importer_uid`, - `contact`.`pubkey` AS `cpubkey`, `contact`.`prvkey` AS `cprvkey`, `user`.* FROM `contact` - LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid` - WHERE `contact`.`blocked` = 0 AND `contact`.`pending` = 0 - AND `user`.`nickname` = '%s' $sql_extra LIMIT 1", + $r = q("SELECT `contact`.*, `contact`.`uid` AS `importer_uid`, + `contact`.`pubkey` AS `cpubkey`, + `contact`.`prvkey` AS `cprvkey`, + `contact`.`thumb` AS `thumb`, + `contact`.`url` as `url`, + `contact`.`name` as `senderName`, + `user`.* + FROM `contact` + LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid` + WHERE `contact`.`blocked` = 0 AND `contact`.`pending` = 0 + AND `user`.`nickname` = '%s' $sql_extra LIMIT 1", dbesc($a->argv[1]) ); @@ -169,29 +173,70 @@ function dfrn_notify_post(&$a) { require_once('bbcode.php'); if($importer['notify-flags'] & NOTIFY_MAIL) { - $body = html_entity_decode(strip_tags(bbcode(stripslashes($msg['body']))),ENT_QUOTES,'UTF-8'); + // generate a mime boundary + $msg['mimeboundary'] =rand(0,9)."-" + .rand(10000000000,9999999999)."-" + .rand(10000000000,9999999999)."=:" + .rand(10000,99999); - if(function_exists('quoted_printable_encode')) - $body = quoted_printable_encode($body); - else - $body = qp($body); + // name of the automated email sender + $msg['notificationfromname'] = t('Administrator'); + // noreply address to send from + $msg['notificationfromemail'] = t('noreply') . '@' . $a->get_hostname(); + // message headers + $msg['headers'] = + "From: {$msg['notificationfromname']} <{$msg['notificationfromemail']}>\n" . + "Reply-To: {$msg['notificationfromemail']}\n" . + "MIME-Version: 1.0\n" . + "Content-Type: multipart/alternative; boundary=\"{$msg['mimeboundary']}\""; - $tpl = load_view_file('view/mail_received_eml.tpl'); + // text version + // process the message body to display properly in text mode + // 1) substitute a \n character for the "\" then "n", so it behaves properly (it doesn't come in as a \n character) + // 2) remove escape slashes + // 3) decode any bbcode from the message editor + // 4) decode any encoded html tags + // 5) remove html tags + $msg['textversion'] + = strip_tags(html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r", "\\n"), "\n",$msg['body']))),ENT_QUOTES,'UTF-8')); + + // html version + // process the message body to display properly in text mode + // 1) substitute a
    tag for the "\" then "n", so it behaves properly (it doesn't come in as a \n character) + // 2) remove escape slashes + // 3) decode any bbcode from the message editor + // 4) decode any encoded html tags + $msg['htmlversion'] + = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), "
    \n",$msg['body'])))); + + // load the template for private message notifications + $tpl = load_view_file('view/mail_received_eml.tpl'); + + // import the data into the template $email_tpl = replace_macros($tpl, array( - '$sitename' => $a->config['sitename'], - '$siteurl' => $a->get_baseurl(), - '$username' => $importer['username'], - '$email' => $importer['email'], - '$from' => $msg['from-name'], - '$title' => stripslashes($msg['title']), - '$body' => $body + '$siteName' => $a->config['sitename'], // name of this site + '$siteurl' => $a->get_baseurl(), // descriptive url of this site + '$thumb' => $importer['thumb'], // thumbnail url for sender icon + '$email' => $importer['email'], // email address to send to + '$url' => $importer['url'], // full url for the site + '$from' => $msg['from-name'], // name of the person sending the message + '$title' => stripslashes($msg['title']), // subject of the message + '$textversion' => $msg['textversion'], // text version of the message + '$htmlversion' => $msg['htmlversion'], // html version of the message + '$mimeboundary' => $msg['mimeboundary'], // mime message divider + '$hostname' => $a->get_hostname() // name of this host )); - - $res = mail($importer['email'], t('New mail received at ') . $a->config['sitename'], - $email_tpl, 'From: ' . t('Administrator') . '@' . $a->get_hostname() . "\r\n" - . 'MIME-Version: 1.0' . "\r\n" - . 'Content-type: text/plain; charset=UTF-8' . "\r\n" - . 'Content-transfer-encoding: quoted-printable' . "\r\n" + + logger("message headers: " . $msg['headers']); + logger("message body: " . $mail_tpl); + + + // send the message + $res = mail( + $importer['email'], // send to address + t('New mail received at ') . $a->config['sitename'], // subject + $email_tpl, // message body + $msg['headers'] // message headers ); } xml_status(0); @@ -391,8 +436,9 @@ function dfrn_notify_post(&$a) { intval($importer['importer_uid']) ); if(count($myconv)) { + $importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname']; foreach($myconv as $conv) { - if(! link_compare($conv['author-link'],$importer['url'])) + if(! link_compare($conv['author-link'],$importer_url)) continue; require_once('bbcode.php'); $from = stripslashes($datarray['author-name']); diff --git a/mod/display.php b/mod/display.php index 3215ae90a..b07e1aee5 100644 --- a/mod/display.php +++ b/mod/display.php @@ -153,7 +153,7 @@ function display_content(&$a) { } if($item['last-child']) { $comment = replace_macros($cmnt_tpl,array( - '$return_path' => $_SESSION['return_url'], + '$return_path' => '', // $_SESSION['return_url'], '$type' => 'wall-comment', '$id' => $item['item_id'], '$parent' => $item['parent'], diff --git a/mod/item.php b/mod/item.php index a83373f59..2cc2b9eb2 100644 --- a/mod/item.php +++ b/mod/item.php @@ -490,7 +490,12 @@ function item_post(&$a) { } } - goaway($a->get_baseurl() . "/" . $_POST['return'] ); + if((x($_POST,'return')) && strlen($_POST['return'])) + goaway($a->get_baseurl() . "/" . $_POST['return'] ); + + $json = array('success' => 1); + echo json_encode($json); + killme(); // NOTREACHED } diff --git a/mod/network.php b/mod/network.php index f11db45a8..f09b302e9 100644 --- a/mod/network.php +++ b/mod/network.php @@ -340,7 +340,7 @@ function network_content(&$a, $update = 0) { if($item['last-child']) { $comment = replace_macros($cmnt_tpl,array( - '$return_path' => $_SESSION['return_url'], + '$return_path' => '', // $_SESSION['return_url'], '$type' => 'net-comment', '$id' => $item['item_id'], '$parent' => $item['parent'], diff --git a/mod/photos.php b/mod/photos.php index 9acde458d..a44eb5a5f 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -1048,7 +1048,7 @@ function photos_content(&$a) { if($can_post || can_write_wall($a,$owner_uid)) { if($link_item['last-child']) { $o .= replace_macros($cmnt_tpl,array( - '$return_path' => $return_url, + '$return_path' => '', // $return_url, '$type' => 'wall-comment', '$id' => $link_item['id'], '$parent' => $link_item['id'], diff --git a/mod/profile.php b/mod/profile.php index 8ec29d382..57abc479d 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -293,7 +293,7 @@ function profile_content(&$a, $update = 0) { } if($item['last-child']) { $comment = replace_macros($cmnt_tpl,array( - '$return_path' => $_SESSION['return_url'], + '$return_path' => '', // $_SESSION['return_url'], '$type' => 'wall-comment', '$id' => $item['item_id'], '$parent' => $item['parent'], diff --git a/update.php b/update.php index 84eaebe18..131014d4a 100644 --- a/update.php +++ b/update.php @@ -370,3 +370,7 @@ function update_1037() { } +function update_1038() { + q("ALTER TABLE `item` ADD `plink` CHAR( 255 ) NOT NULL AFTER `target` "); +} + diff --git a/view/comment_item.tpl b/view/comment_item.tpl index 1b1f3a49e..885d735ed 100644 --- a/view/comment_item.tpl +++ b/view/comment_item.tpl @@ -1,5 +1,5 @@
    -
    + @@ -13,9 +13,10 @@
    +
    diff --git a/view/de/mail_received_eml.tpl b/view/de/mail_received_eml.tpl index 466d31e79..bf9bb9ca9 100644 --- a/view/de/mail_received_eml.tpl +++ b/view/de/mail_received_eml.tpl @@ -1,17 +1,47 @@ +--$mimeboundary +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit -Lieber $username, - -du hast eine neue private Nachricht von '$from' auf '$sitename' erhhalten. ------ +Du hast eine neue private Nachricht von '$from' auf '$siteName' erhhalten. + $title ------ -$body ------ + +$textversion + Bitte melde dich unter $siteurl an um deine privaten Nachrichte zu lesen und zu beantworten. Viele Grüße, - $sitename Administrator +$siteName Administrator - +--$mimeboundary +Content-Type: text/html; charset=utf-8 +Content-Transfer-Encoding: 8bit + + + + + Friendika Nachricht + + + + + + + + + + + + + + + + + +
    Friendika
    Du hast eine neue private Nachricht von '$from' auf '$siteName' erhhalten.
    $from
    $title
    $htmlversion
    Bitte melde dich unter $siteurl an um deine privaten Nachrichte zu lesen und zu beantworten.
    Viele Grüße,
    $siteName Administrator
    + + + +--$mimeboundary-- \ No newline at end of file diff --git a/view/de/msg-header.tpl b/view/de/msg-header.tpl index 3d2567f62..174e6c985 100644 --- a/view/de/msg-header.tpl +++ b/view/de/msg-header.tpl @@ -6,14 +6,14 @@ tinyMCE.init({ theme : "advanced", mode : "specific_textareas", editor_selector: /(profile-jot-text|prvmail-text)/, - plugins : "bbcode", + plugins : "bbcode,paste", theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor", theme_advanced_buttons2 : "", theme_advanced_buttons3 : "", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "center", - theme_advanced_styles : "Code=codeStyle;Quote=quoteStyle", - content_css : "bbcode.css", + theme_advanced_blockformats : "blockquote,code", + paste_text_sticky : true, entity_encoding : "raw", add_unload_trigger : false, remove_linebreaks : false, @@ -44,8 +44,12 @@ tinyMCE.init({ $('#character-counter').addClass('red'); } $('#character-counter').text(text); - }); - } + }); + + ed.onInit.add(function(ed) { + ed.pasteAsPlainText = true; + }); + } }); diff --git a/view/de/strings.php b/view/de/strings.php index bc31fab78..ef6892e8d 100644 --- a/view/de/strings.php +++ b/view/de/strings.php @@ -57,6 +57,18 @@ $a->strings['December'] = 'Dezember'; $a->strings['Birthdays this week:'] = 'Geburtstage diese Woche:'; $a->strings["\x28Adjusted for local time\x29"] = "\x28an die lokale Zeit angepasst\x29"; $a->strings['[today]'] = '[heute]'; +$a->strings['Unable to locate original post.'] = 'Unable to locate original post.'; +$a->strings['Empty post discarded.'] = 'Empty post discarded.'; +$a->strings['Wall Photos'] = 'Wall Photos'; +$a->strings[" commented on your item at "] = " commented on your item at "; +$a->strings[" posted on your profile wall at "] = " posted on your profile wall at "; +$a->strings['System error. Post not saved.'] = 'System error. Post not saved.'; +$a->strings['This message was sent to you by '] = 'This message was sent to you by '; +$a->strings[', a member of the Friendika social network.'] = ', a member of the Friendika social network.'; +$a->strings['You may visit them online at'] = 'You may visit them online at'; +$a->strings['Please contact the sender by replying to this post if you do not wish to receive these messages.'] = 'Please contact the sender by replying to this post if you do not wish to receive these messages.'; +$a->strings['posted an update.'] = 'posted an update.'; +$a->strings['Item not found.'] = 'Item not found.'; $a->strings["Invite Friends"] = "Freunde einladen"; $a->strings['Connect/Follow [profile address]'] = 'Kontaktiere/Folge [Profil Adresse]'; $a->strings['Example: bob@example.com, http://example.com/barbara'] = 'Beispiel: bob@example.com, http://example.com/barbara'; @@ -76,6 +88,9 @@ $a->strings['Contact not found.'] = 'Kontakt nicht gefunden.'; $a->strings['Mutual Friendship'] = 'Beidseitige Freundschaft'; $a->strings['is a fan of yours'] = 'ist ein Fan von dir'; $a->strings['you are a fan of'] = 'du bist Fan von'; +$a->strings['Never'] = 'Niemals'; +$a->strings["\x28Update was successful\x29"] = "\x28Aktualisierung war erfolgreich\x29"; +$a->strings["\x28Update was not successful\x29"] = "\x28Aktualisierung war nicht erfolgreich\x29"; $a->strings['Contact Editor'] = 'Kontakt Editor'; $a->strings['Visit $name\'s profile'] = 'Besuche das Profil von $name'; $a->strings['Block/Unblock contact'] = 'Kontakt blockieren/freischalten'; @@ -83,7 +98,6 @@ $a->strings['Ignore contact'] = 'Ignoriere den Kontakt'; $a->strings['Delete contact'] = 'Lösche den Kontakt'; $a->strings['Last updated: '] = 'Letzte Aktualisierung: '; $a->strings['Update public posts: '] = 'Aktualisierung öffentlicher Nachrichten: '; -$a->strings['Never'] = 'Niemals'; $a->strings['Update now'] = 'Jetzt aktualisieren'; $a->strings['Unblock this contact'] = 'Blockade dieses Kontakts aufheben'; $a->strings['Block this contact'] = 'Diesen Kontakt blockieren'; @@ -159,7 +173,6 @@ $a->strings['Your profile address:'] = 'Deine Profiladresse:'; $a->strings['Submit Request'] = 'Anfrage abschicken'; $a->strings['Cancel'] = 'Abbrechen'; $a->strings['Global Directory'] = 'Weltweites Verzeichnis'; -$a->strings['Item not found.'] = 'Eintrag nicht gefunden.'; $a->strings['Private Message'] = 'Private Nachricht'; $a->strings['This is you'] = 'Das bist du'; $a->strings['View $name\'s profile'] = 'Profile von $name'; @@ -215,16 +228,6 @@ $a->strings['Your message:'] = 'Deine Nachricht:'; $a->strings['Please join my social network on '] = 'Bitte trete meinem sozialen Netzwerk bei '; $a->strings['To accept this invitation, please visit:'] = 'Um diese Einladung anzunehmen beuche bitte:'; $a->strings['Once you have registered, please connect with me via my profile page at:'] = 'Sobald du registriert bist kontaktiere mich bitte auf meiner Profilseite:'; -$a->strings['Unable to locate original post.'] = 'Konnte das original Posting nicht finden.'; -$a->strings['Empty post discarded.'] = 'Leere Nachricht verworfen.'; -$a->strings['Wall Photos'] = 'Pinnwand Fotos'; -$a->strings[" commented on your item at "] = " kommentierte eines deiner Postings auf "; -$a->strings[" posted on your profile wall at "] = " schrieb an deine Profilwand auf "; -$a->strings['This message was sent to you by '] = 'This message was sent to you by '; -$a->strings[', a member of the Friendika social network.'] = ', a member of the Friendika social network.'; -$a->strings['You may visit them online at'] = 'You may visit them online at'; -$a->strings['Please contact the sender by replying to this post if you do not wish to receive these messages.'] = 'Please contact the sender by replying to this post if you do not wish to receive these messages.'; -$a->strings['posted an update.'] = 'posted an update.'; $a->strings['photo'] = 'Foto'; $a->strings['status'] = 'Status'; $a->strings['likes'] = 'mag das'; @@ -356,7 +359,9 @@ $a->strings['Register'] = 'Registrieren'; $a->strings['Please login.'] = 'Bitte melde dich an.'; $a->strings['Registration revoked for '] = 'Registration zurückgezogen '; $a->strings['Account approved.'] = 'Account freigegeben.'; -$a->strings['View in context'] = 'Im Kontext betrachten'; +$a->strings['Remove My Account'] = 'Remove My Account'; +$a->strings['This will completely remove your account. Once this has been done it is not recoverable.'] = 'This will completely remove your account. Once this has been done it is not recoverable.'; +$a->strings['Please enter your password for verification:'] = 'Please enter your password for verification:'; $a->strings['Passwords do not match. Password unchanged.'] = 'Die Passwörter stimmen nicht überein. Das Passwort bleibt unverändert.'; $a->strings['Empty passwords are not allowed. Password unchanged.'] = 'Leere Passwörter sind nicht erlaubt. Passwort bleibt unverändert.'; $a->strings['Password changed.'] = 'Passwort ändern.'; @@ -364,6 +369,7 @@ $a->strings['Password update failed. Please try again.'] = 'Aktualisierung des P $a->strings[' Please use a shorter name.'] = ' Bitte verwende einen kürzeren Namen.'; $a->strings[' Name too short.'] = ' Name ist zu kurz.'; $a->strings[' Not valid email.'] = ' Keine gültige EMail.'; +$a->strings[' Cannot change to that email.'] = ' Cannot change to that email.'; $a->strings['Settings updated.'] = 'Einstellungen aktualisiert.'; $a->strings['Plugin Settings'] = 'Plugin Einstellungen'; $a->strings['Account Settings'] = 'Account Einstellungen'; @@ -487,6 +493,23 @@ $a->strings['File has an invalid extension, it should be one of '] = 'Die Dateie $a->strings['Upload was cancelled, or server error encountered'] = 'Upload abgebrochen oder Serverfehler aufgetreten'; $a->strings['Randplace Settings'] = 'Randplace Settings'; $a->strings['Enable Randplace Plugin'] = 'Randplace Erweiterung aktivieren'; +$a->strings['No consumer key pair for StatusNet found. Register your Friendika Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.
    Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendika installation at your favorited StatusNet installation.'] = 'No consumer key pair for StatusNet found. Register your Friendika Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.
    Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendika installation at your favorited StatusNet installation.'; +$a->strings['OAuth Consumer Key'] = 'OAuth Consumer Key'; +$a->strings['OAuth Consumer Secret'] = 'OAuth Consumer Secret'; +$a->strings['Base API Path (remember the trailing /] = 'Base API Path (remember the trailing /; +$a->strings['To connect to your StatusNet account click the button below to get a security code from StatusNet which you have to copy into the input box below and submit the form. Only your public posts will be posted to StatusNet.'] = 'To connect to your StatusNet account click the button below to get a security code from StatusNet which you have to copy into the input box below and submit the form. Only your public posts will be posted to StatusNet.'; +$a->strings['Log in with StatusNet'] = 'Log in with StatusNet'; +$a->strings['Copy the security code from StatusNet here'] = 'Copy the security code from StatusNet here'; +$a->strings['Currently connected to: '] = 'Currently connected to: '; +$a->strings['If enabled all your public postings will be posted to the associated StatusNet account as well.'] = 'If enabled all your public postings will be posted to the associated StatusNet account as well.'; +$a->strings['Send public postings to StatusNet'] = 'Send public postings to StatusNet'; +$a->strings['Clear OAuth configuration'] = 'Clear OAuth configuration'; +$a->strings['Twitter Posting Settings'] = 'Twitter Posting Settings'; +$a->strings['No consumer key pair for Twitter found. Please contact your site administrator.'] = 'No consumer key pair for Twitter found. Please contact your site administrator.'; +$a->strings['At this Friendika instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your public posts will be posted to Twitter.'] = 'At this Friendika instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your public posts will be posted to Twitter.'; +$a->strings['Copy the PIN from Twitter here'] = 'Copy the PIN from Twitter here'; +$a->strings['If enabled all your public postings will be posted to the associated Twitter account as well.'] = 'If enabled all your public postings will be posted to the associated Twitter account as well.'; +$a->strings['Send public postings to Twitter'] = 'Send public postings to Twitter'; $a->strings['Africa/Abidjan'] = 'Africa/Abidjan'; $a->strings['Africa/Accra'] = 'Africa/Accra'; $a->strings['Africa/Addis_Ababa'] = 'Africa/Addis_Ababa'; diff --git a/view/en/mail_received_eml.tpl b/view/en/mail_received_eml.tpl index 261aec4be..802280052 100644 --- a/view/en/mail_received_eml.tpl +++ b/view/en/mail_received_eml.tpl @@ -1,16 +1,47 @@ +--$mimeboundary +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit -Dear $username, - - You've received a new private message at $sitename from '$from'. ------ +$from sent you a new private message at $siteName. + $title ------ -$body ------ + +$textversion + Please login at $siteurl to read and reply to your private messages. Thank you, - $sitename administrator +$siteName administrator - +--$mimeboundary +Content-Type: text/html; charset=utf-8 +Content-Transfer-Encoding: 8bit + + + + + Friendika Message + + + + + + + + + + + + + + + + + + +
    Friendika
    $from sent you a new private message at $siteName.
    $from
    $title
    $htmlversion
    Please login at $siteurl to read and reply to your private messages.
    Thank You,
    $siteName Administrator
    + + + +--$mimeboundary-- diff --git a/view/en/msg-header.tpl b/view/en/msg-header.tpl index 3d2567f62..174e6c985 100644 --- a/view/en/msg-header.tpl +++ b/view/en/msg-header.tpl @@ -6,14 +6,14 @@ tinyMCE.init({ theme : "advanced", mode : "specific_textareas", editor_selector: /(profile-jot-text|prvmail-text)/, - plugins : "bbcode", + plugins : "bbcode,paste", theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor", theme_advanced_buttons2 : "", theme_advanced_buttons3 : "", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "center", - theme_advanced_styles : "Code=codeStyle;Quote=quoteStyle", - content_css : "bbcode.css", + theme_advanced_blockformats : "blockquote,code", + paste_text_sticky : true, entity_encoding : "raw", add_unload_trigger : false, remove_linebreaks : false, @@ -44,8 +44,12 @@ tinyMCE.init({ $('#character-counter').addClass('red'); } $('#character-counter').text(text); - }); - } + }); + + ed.onInit.add(function(ed) { + ed.pasteAsPlainText = true; + }); + } }); diff --git a/view/fr/mail_received_eml.tpl b/view/fr/mail_received_eml.tpl index 261aec4be..f872a6713 100644 --- a/view/fr/mail_received_eml.tpl +++ b/view/fr/mail_received_eml.tpl @@ -1,16 +1,46 @@ +--$mimeboundary +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit -Dear $username, - - You've received a new private message at $sitename from '$from'. ------ +$from t'a envoyŽ un message ˆ $siteName. + $title ------ -$body ------ -Please login at $siteurl to read and reply to your private messages. -Thank you, - $sitename administrator +$textversion - +Ouvrez une session svp ˆ $siteurl pour lire et rŽpondre ˆ vos messages privŽs. +Merci, +$siteName Administrateur + +--$mimeboundary +Content-Type: text/html; charset=utf-8 +Content-Transfer-Encoding: 8bit + + + + + Friendika Message + + + + + + + + + + + + + + + + + + +
    Friendika
    $from t'a envoyŽ un message ˆ $siteName.
    $from
    $title
    $htmlversion
    Ouvrez une session svp ˆ $siteurl pour lire et rŽpondre ˆ vos messages privŽs.
    Merci,
    $siteName Administrateur
    + + + +--$mimeboundary-- \ No newline at end of file diff --git a/view/fr/msg-header.tpl b/view/fr/msg-header.tpl index 3d2567f62..174e6c985 100644 --- a/view/fr/msg-header.tpl +++ b/view/fr/msg-header.tpl @@ -6,14 +6,14 @@ tinyMCE.init({ theme : "advanced", mode : "specific_textareas", editor_selector: /(profile-jot-text|prvmail-text)/, - plugins : "bbcode", + plugins : "bbcode,paste", theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor", theme_advanced_buttons2 : "", theme_advanced_buttons3 : "", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "center", - theme_advanced_styles : "Code=codeStyle;Quote=quoteStyle", - content_css : "bbcode.css", + theme_advanced_blockformats : "blockquote,code", + paste_text_sticky : true, entity_encoding : "raw", add_unload_trigger : false, remove_linebreaks : false, @@ -44,8 +44,12 @@ tinyMCE.init({ $('#character-counter').addClass('red'); } $('#character-counter').text(text); - }); - } + }); + + ed.onInit.add(function(ed) { + ed.pasteAsPlainText = true; + }); + } }); diff --git a/view/it/mail_received_eml.tpl b/view/it/mail_received_eml.tpl index 137614ca4..829c0fee5 100644 --- a/view/it/mail_received_eml.tpl +++ b/view/it/mail_received_eml.tpl @@ -1,16 +1,46 @@ +--$mimeboundary +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit -Caro/a $username, - - Hai ricevuto un nuovo messsaggio privato su $sitename da '$from'. ------ +Hai ricevuto un nuovo messsaggio privato su $siteName da '$from'. + $title ------ -$body ------ + +$textversion + Accedi a $siteurl per leggere e rispondere ai tuoi messaggi privati. Grazie, - L'amministratore di $sitename +L'amministratore di $siteName - +--$mimeboundary +Content-Type: text/html; charset=utf-8 +Content-Transfer-Encoding: 8bit + + + + + Friendika Messsaggio + + + + + + + + + + + + + + + + + +
    Friendika
    Hai ricevuto un nuovo messsaggio privato su $siteName da '$from'.
    $from
    $title
    $htmlversion
    Accedi a $siteurl per leggere e rispondere ai tuoi messaggi privati.
    Grazie,
    L'amministratore di $siteName
    + + + +--$mimeboundary-- \ No newline at end of file diff --git a/view/it/msg-header.tpl b/view/it/msg-header.tpl index f6f437864..69e813ae2 100644 --- a/view/it/msg-header.tpl +++ b/view/it/msg-header.tpl @@ -6,14 +6,14 @@ tinyMCE.init({ theme : "advanced", mode : "specific_textareas", editor_selector: /(profile-jot-text|prvmail-text)/, - plugins : "bbcode", + plugins : "bbcode,paste", theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor", theme_advanced_buttons2 : "", theme_advanced_buttons3 : "", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "center", - theme_advanced_styles : "Code=codeStyle;Quote=quoteStyle", - content_css : "bbcode.css", + theme_advanced_blockformats : "blockquote,code", + paste_text_sticky : true, entity_encoding : "raw", add_unload_trigger : false, remove_linebreaks : false, @@ -44,8 +44,12 @@ tinyMCE.init({ $('#character-counter').addClass('red'); } $('#character-counter').text(text); - }); - } + }); + + ed.onInit.add(function(ed) { + ed.pasteAsPlainText = true; + }); + } }); diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index 45e5efb6c..ac3562d1c 100644 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -605,6 +605,10 @@ input#dfrn-url { #profile-photo-link-select-wrapper { margin-top: 2em; } +#profile-photo-wrapper img { + width:175px; + height:175px; +} #profile-edit-profile-name-label, #profile-edit-name-label, @@ -814,7 +818,7 @@ input#dfrn-url { .wall-item-wrapper { float: left; margin-right: 5px; - width: 150px; + width: 250px; } .wall-item-lock { height: 20px; @@ -859,7 +863,7 @@ input#dfrn-url { float: left; /*width: 450px;*/ margin-left: 10px; - margin-bottom: 20px; +/* margin-bottom: 20px;*/ padding: 20px; max-height: 400px; overflow: auto; @@ -874,7 +878,7 @@ input#dfrn-url { .wall-item-body { float: left; width: 450px; - margin-top: 30px; + margin-top: 10px; } .comment-edit-wrapper { @@ -885,8 +889,8 @@ input#dfrn-url { .comment-wwedit-wrapper { margin-top: 15px; - background: #CCCCCC; - margin-left: 250px; + background: #f3f3f3; + margin-left: 50px; } .comment-edit-photo { @@ -1807,6 +1811,10 @@ a.mail-list-link { .contact-block-link { float: left; } +.contact-block-img { + width:48px; + height:48px; +} #tag-remove { margin-bottom: 15px; diff --git a/view/theme/loozah/style.css b/view/theme/loozah/style.css index 2a037bf9f..a87252016 100644 --- a/view/theme/loozah/style.css +++ b/view/theme/loozah/style.css @@ -737,6 +737,10 @@ input#dfrn-url { #profile-photo-link-select-wrapper { margin-top: 2em; } +#profile-photo-wrapper img { + width:175px; + height:175px; +} #profile-edit-profile-name-label, #profile-edit-name-label, @@ -1933,6 +1937,10 @@ a.mail-list-link { .contact-block-link { float: left; } +.contact-block-img { + width:48px; + height:48px; +} #tag-remove { margin-bottom: 15px;