Merge branch 'friendika-master'

This commit is contained in:
fabrixxm 2011-01-25 19:03:41 +01:00
commit 6558ee1e22
57 changed files with 2930 additions and 11 deletions

View file

@ -756,7 +756,7 @@ function get_item_contact($item,$contacts) {
} }
function dfrn_deliver($owner,$contact,$atom) { function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
$a = get_app(); $a = get_app();
@ -827,6 +827,8 @@ function dfrn_deliver($owner,$contact,$atom) {
$postvars['dfrn_id'] = $idtosend; $postvars['dfrn_id'] = $idtosend;
$postvars['dfrn_version'] = DFRN_PROTOCOL_VERSION; $postvars['dfrn_version'] = DFRN_PROTOCOL_VERSION;
if($dissolve)
$postvars['dissolve'] = '1';
if(($contact['rel']) && ($contact['rel'] != REL_FAN) && (! $contact['blocked']) && (! $contact['readonly'])) { if(($contact['rel']) && ($contact['rel'] != REL_FAN) && (! $contact['blocked']) && (! $contact['readonly'])) {
$postvars['data'] = $atom; $postvars['data'] = $atom;
@ -838,7 +840,7 @@ function dfrn_deliver($owner,$contact,$atom) {
$postvars['data'] = str_replace('<dfrn:comment-allow>1','<dfrn:comment-allow>0',$atom); $postvars['data'] = str_replace('<dfrn:comment-allow>1','<dfrn:comment-allow>0',$atom);
} }
if($rino && $rino_allowed) { if($rino && $rino_allowed && (! $dissolve)) {
$key = substr(random_string(),0,16); $key = substr(random_string(),0,16);
$data = bin2hex(aes_encrypt($postvars['data'],$key)); $data = bin2hex(aes_encrypt($postvars['data'],$key));
$postvars['data'] = $data; $postvars['data'] = $data;

View file

@ -11,6 +11,7 @@ function dfrn_notify_post(&$a) {
$challenge = ((x($_POST,'challenge')) ? notags(trim($_POST['challenge'])) : ''); $challenge = ((x($_POST,'challenge')) ? notags(trim($_POST['challenge'])) : '');
$data = ((x($_POST,'data')) ? $_POST['data'] : ''); $data = ((x($_POST,'data')) ? $_POST['data'] : '');
$key = ((x($_POST,'key')) ? $_POST['key'] : ''); $key = ((x($_POST,'key')) ? $_POST['key'] : '');
$dissolve = ((x($_POST,'dissolve')) ? intval($_POST['dissolve']) : 0);
$direction = (-1); $direction = (-1);
if(strpos($dfrn_id,':') == 1) { if(strpos($dfrn_id,':') == 1) {
@ -51,6 +52,8 @@ function dfrn_notify_post(&$a) {
} }
$r = q("SELECT `contact`.*, `contact`.`uid` AS `importer_uid`, $r = q("SELECT `contact`.*, `contact`.`uid` AS `importer_uid`,
`contact`.`pubkey` AS `cpubkey`, `contact`.`prvkey` AS `cprvkey`, `user`.* FROM `contact` `contact`.`pubkey` AS `cpubkey`, `contact`.`prvkey` AS `cprvkey`, `user`.* FROM `contact`
LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid`
@ -65,19 +68,13 @@ function dfrn_notify_post(&$a) {
//NOTREACHED //NOTREACHED
} }
// $importer in this case contains the contact record for the remote contact joined with the user record of our user.
$importer = $r[0]; $importer = $r[0];
logger('dfrn_notify: received notify from ' . $importer['name'] . ' for ' . $importer['username']); logger('dfrn_notify: received notify from ' . $importer['name'] . ' for ' . $importer['username']);
logger('dfrn_notify: data: ' . $data, LOGGER_DATA); logger('dfrn_notify: data: ' . $data, LOGGER_DATA);
if($importer['readonly']) {
// We aren't receiving stuff from this person. But we will quietly ignore them
// rather than a blatant "go away" message.
logger('dfrn_notify: ignoring');
xml_status(0);
//NOTREACHED
}
if(strlen($key)) { if(strlen($key)) {
$rawkey = hex2bin(trim($key)); $rawkey = hex2bin(trim($key));
logger('rino: md5 raw key: ' . md5($rawkey)); logger('rino: md5 raw key: ' . md5($rawkey));
@ -95,6 +92,28 @@ function dfrn_notify_post(&$a) {
logger('rino: decrypted data: ' . $data, LOGGER_DATA); logger('rino: decrypted data: ' . $data, LOGGER_DATA);
} }
if($dissolve == 1) {
/**
* Relationship is dissolved permanently
*/
contact_remove($importer['id']);
logger('relationship dissolved : ' . $importer['name'] . ' dissolved ' . $importer['username']);
xml_status(0);
}
if($importer['readonly']) {
// We aren't receiving stuff from this person. But we will quietly ignore them
// rather than a blatant "go away" message.
logger('dfrn_notify: ignoring');
xml_status(0);
//NOTREACHED
}
// Consume notification feed. This may differ from consuming a public feed in several ways // Consume notification feed. This may differ from consuming a public feed in several ways
// - might contain email // - might contain email
// - might contain remote followup to our message // - might contain remote followup to our message

View file

@ -240,7 +240,7 @@ function network_content(&$a, $update = 0) {
'$lock' => $lock, '$lock' => $lock,
'$thumb' => $profile_avatar, '$thumb' => $profile_avatar,
'$title' => $item['title'], '$title' => $item['title'],
'$body' => bbcode($item['body']), '$body' => smilies(bbcode($item['body'])),
'$ago' => relative_date($item['created']), '$ago' => relative_date($item['created']),
'$location' => $location, '$location' => $location,
'$indent' => '', '$indent' => '',

View file

@ -0,0 +1,17 @@
Hallo $username,
'$from' hat einen Pinnwandeintrag kommentiert dem du auch folgst.
-----
$body
-----
Um die gesamte Konversation zu sehen melde dich bitte bei $siteurl an:
$display
Danke für die Aufmerksamkeit
$sitename Administrator

83
view/de/contact_edit.tpl Normal file
View file

@ -0,0 +1,83 @@
<h2>$header</h2>
<div id="contact-edit-banner-name">$name</div>
<div id="contact-edit-wrapper" >
<div id="contact-edit-photo-wrapper" >
<img id="contact-edit-direction-icon" src="$dir_icon" alt="$alt_text" title="$alt_text" />
<div id="contact-edit-photo" >
<a href="$url" title="$visit" /><img src="$photo" $sparkle alt="$name" /></a>
</div>
<div id="contact-edit-photo-end" ></div>
</div>
<div id="contact-edit-nav-wrapper" >
<div id="contact-edit-links" >
<a href="contacts/$contact_id/block" id="contact-edit-block-link" ><img src="images/b_block.gif" alt="$blockunblock" title="$block_text"/></a>
<a href="contacts/$contact_id/ignore" id="contact-edit-ignore-link" ><img src="images/no.gif" alt="$ignorecont" title="$ignore_text"/></a>
</div>
<div id="contact-drop-links" >
<a href="contacts/$contact_id/drop" id="contact-edit-drop-link" onclick="return confirmDelete();" ><img src="images/b_drophide.gif" alt="$delete" title="$delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" /></a>
</div>
<div id="contact-edit-nav-end"></div>
<div id="contact-edit-poll-wrapper">
<div id="contact-edit-last-update-text">$lastupdtext<span id="contact-edit-last-updated">$last_update</span</div>
<div id="contact-edit-poll-text">$updpub</div>
$poll_interval
</div>
</div>
<div id="contact-edit-end" ></div>
$insecure
$blocked
$ignored
<form action="contacts/$contact_id" method="post" >
<input type="hidden" name="contact_id" value="$contact_id">
<div id="contact-edit-info-wrapper">
<h4>Kontaktinformation / Notizen</h4>
<textarea id="contact-edit-info" rows="10" cols="72" name="info" >$info</textarea>
</div>
<div id="contact-edit-info-end"></div>
<input class="contact-edit-submit" type="submit" name="submit" value="Submit" />
<div id="contact-edit-profile-select-text">
<h4>Profil Sichtbarkeit</h4>
<p>Bitte wähle das Profil, das du $name gezeigt werden soll, wenn er sich dein
Profil in Friendika betrachtet.
</p>
</div>
$profile_select
<div id="contact-edit-profile-select-end"></div>
<input class="contact-edit-submit" type="submit" name="submit" value="Submit" />
<div id="contact-edit-rating-wrapper">
<h4>Online Reputation</h4>
<p>
Gelegentlich werden sich deine Freunde nach der online Legitimität dieser
Person erkundigen. Du kannst ihnen helfen bei der Entscheidung ob sie mit
dieser Person interagieren wollen indem du den "Ruf" der Person bewertest.
</p>
<div id="contact-edit-rating-select-wrapper">
$rating
</div>
<div id="contact-edit-rating-explain">
<p>
Bitte nimm dir einen Moment um deine Auswahl zu kommentieren wenn du meinst das
könnte anderen weiter helfen.
</p>
<textarea id="contact-edit-rating-text" name="reason" rows="3" cols="64" >$reason</textarea>
</div>
</div>
$groups
<input class="contact-edit-submit" type="submit" name="submit" value="Submit" />
</form>
</div>

58
view/de/cropbody.tpl Normal file
View file

@ -0,0 +1,58 @@
<h1>Bild zuschneiden</h1>
<p id="cropimage-desc">
Zur optimalen Darstellung des Bildes kann es nun auf einen Bereich
zugeschnitten werden. Bitte wähle diesen Bereich.
</p>
<div id="cropimage-wrapper">
<img src="$image_url" id="croppa" class="imgCrop" alt="" />
</div>
<div id="cropimage-preview-wrapper" >
<div id="previewWrap" ></div>
</div>
<script type="text/javascript" language="javascript">
function onEndCrop( coords, dimensions ) {
$( 'x1' ).value = coords.x1;
$( 'y1' ).value = coords.y1;
$( 'x2' ).value = coords.x2;
$( 'y2' ).value = coords.y2;
$( 'width' ).value = dimensions.width;
$( 'height' ).value = dimensions.height;
}
Event.observe( window, 'load', function() {
new Cropper.ImgWithPreview(
'croppa',
{
previewWrap: 'previewWrap',
minWidth: 175,
minHeight: 175,
maxWidth: 640,
maxHeight: 640,
ratioDim: { x: 100, y:100 },
displayOnInit: true,
onEndCrop: onEndCrop
}
);
}
);
</script>
<form action="profile_photo/$resource" id="crop-image-form" method="post" />
<input type="hidden" name="imagename" value="$hash" />
<input type="hidden" name="cropfinal" value="1" />
<input type="hidden" name="xstart" id="x1" />
<input type="hidden" name="ystart" id="y1" />
<input type="hidden" name="xfinal" id="x2" />
<input type="hidden" name="yfinal" id="y2" />
<input type="hidden" name="height" id="height" />
<input type="hidden" name="width" id="width" />
<div id="crop-image-submit-wrapper" >
<input type="submit" name="submit" value="Done Editing" />
</div>
</form>

View file

@ -0,0 +1,17 @@
<p id="dfrn-request-homecoming" >
Willkommen zu Hause $username.
<br />
Bitte bestätige deine Vorstellung bei $dfrn_url.
</p>
<form id="dfrn-request-homecoming-form" action="dfrn_request/$nickname" method="post">
<input type="hidden" name="dfrn_url" value="$dfrn_url" />
<input type="hidden" name="confirm_key" value="$confirm_key" />
<input type="hidden" name="localconfirm" value="1" />
$aes_allow
<div id="dfrn-request-homecoming-submit-wrapper" >
<input id="dfrn-request-homecoming-submit" type="submit" name="submit" value="Confirm" />
</div>
</form>

View file

@ -0,0 +1,14 @@
<h1>Verzeichnis dieser Seite</h1>
$globaldir
$finding
<div id="directory-search-wrapper">
<form id="directory-search-form" action="directory" method="get" >
<input type="text" name="search" id="directory-search" class="search-input" onfocus="this.select();" value="$search" />
<input type="submit" name="submit" id="directory-search-submit" value="Find" />
</form>
</div>
<div id="directory-search-end"></div>

View file

@ -0,0 +1,15 @@
Hallo $myname,
'$requestor' folgt dir jetzt auf $sitename.
Du kannst das Profil unter $url abrufen.
Bitte melde dich auf deiner Seite an um die Anfrage zu bestätigen, abzulehnen
oder zu ignorieren.
$siteurl
Grüße,
$sitename Administrator

View file

@ -0,0 +1,22 @@
Lieber $username,
großartige Neuigkeiten... '$fn' von '$dfrn_url' hat deine Kontaktaufnahme auf
'$sitename' bestätigt.
Ihr seit nun beidseitige Freunde und könnt Statusmitteilungen, Fotos und
EMail ohne Einschränkungen austauschen.
Bitte rufe deine 'Kontakte' Seite auf $sitename auf um du Änderungen an
dieser Freundschaft vorzunehmen.
$siteurl
[Du könntest zum Beispiel ein neue Profil anlegen mit Informationen die nicht
für die Allgemeinheit bestimmt sind, die du aber gerne mit '$fn' teilen
möchtest].
Mit freundlichen Grüßen
$sitename Administrator

24
view/de/group_edit.tpl Normal file
View file

@ -0,0 +1,24 @@
<h2>Gruppen Editor</h2>
<div id="group-edit-wrapper" >
<form action="group/$gid" id="group-edit-form" method="post" >
<div id="group-edit-name-wrapper" >
<label id="group-edit-name-label" for="group-edit-name" >Gruppen Name: </label>
<input type="text" id="group-edit-name" name="groupname" value="$name" />
</div>
<div id="group-edit-name-end"></div>
<div id="group-edit-select-wrapper" >
<label id="group_members_select_label" for="group_members_select" >Mitglieder:</label>
$selector
</div>
$drop
<div id="group_members_select_end"></div>
<div id="group-edit-submit-wrapper" >
<input type="submit" name="submit" value="Submit" >
</div>
<div id="group-edit-select-end" ></div>
</form>
</div>

23
view/de/group_new.tpl Normal file
View file

@ -0,0 +1,23 @@
<div id="group-new-wrapper" >
<form action="group/new" method="post">
<div id="group-new-text">
<p>
Erstelle eine neue Gruppe für Freunde/Kontakte.
<div id="group-new-input-wrapper">
<label id="group-new-label" for="group-new-name" >Gruppen Name: </label>
<input name="groupname" id="group-new-name" />
</div>
<div id="group-new-input-end" ></div>
<div id="group-new-submit-wrapper" >
<input type="submit" name="submit" value="Submit" />
</form>
</div>
<div id="group-new-end"></div>

31
view/de/head.tpl Normal file
View file

@ -0,0 +1,31 @@
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<base href="$baseurl" />
<link rel="stylesheet" type="text/css" href="$stylesheet" media="all" />
<link rel="shortcut icon" href="$baseurl/images/ff-32.jpg">
<!--[if IE]>
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script type="text/javascript" src="$baseurl/include/jquery.js" ></script>
<script type="text/javascript" src="$baseurl/include/main.js" ></script>
<script>
function confirmDelete() { return confirm("Delete this item?"); }
function commentOpen(obj,id) {
if(obj.value == 'Comment') {
obj.value = '';
obj.className = "comment-edit-text-full";
openMenu("comment-edit-submit-wrapper-" + id);
}
}
function commentClose(obj,id) {
if(obj.value == '') {
obj.value = 'Comment';
obj.className="comment-edit-text-empty";
closeMenu("comment-edit-submit-wrapper-" + id);
}
}
</script>

64
view/de/htconfig.tpl Normal file
View file

@ -0,0 +1,64 @@
<?php
// Set the following for your MySQL installation
// Copy or rename this file to .htconfig.php
$db_host = '$dbhost';
$db_user = '$dbuser';
$db_pass = '$dbpass';
$db_data = '$dbdata';
// If you are using a subdirectory of your domain you will need to put the
// relative path (from the root of your domain) here.
// For instance if your URL is 'http://example.com/directory/subdirectory',
// set $a->path to 'directory/subdirectory'.
$a->path = '$urlpath';
// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
// It can be changed later and only applies to timestamps for anonymous viewers.
$default_timezone = '$timezone';
// What is your site name?
$a->config['sitename'] = "My Friend Network";
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
// Be certain to create your own personal account before setting
// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on
// the registration page. REGISTER_APPROVE requires you set 'admin_email'
// to the email address of an already registered person who can authorise
// and/or approve/deny the request.
$a->config['register_policy'] = REGISTER_OPEN;
$a->config['register_text'] = '';
$a->config['admin_email'] = '';
// Maximum size of an imported message, 0 is unlimited
$a->config['max_import_size'] = 10000;
// maximum size of uploaded photos
$a->config['system']['maximagesize'] = 800000;
// Location of PHP command line processor
$a->config['php_path'] = '$phpath';
// Location of global directory submission page.
$a->config['system']['directory_submit_url'] = 'http://dir.friendika.com/submit';
$a->config['system']['directory_search_url'] = 'http://dir.friendika.com/directory?search=';
// PuSH - aka pubsubhubbub URL. This makes delivery of public posts as fast as private posts
$a->config['system']['huburl'] = 'http://pubsubhubbub.appspot.com';
// Server-to-server private message encryption (RINO) is allowed by default.
// Encryption will only be provided if this setting is true and the
// PHP mcrypt extension is installed on both systems
$a->config['system']['rino_encrypt'] = true;

8
view/de/insecure_net.tpl Normal file
View file

@ -0,0 +1,8 @@
<div id="profile-edit-insecure">
<p>
Das Soziale Netzwerk dem $name angehört ist ein offenes Netzwerk das nur
eingeschränkte oder nicht existente Privatspäreneinstellungen bietet.
Bitte verhalte dich entsprechend diskret.
</p>
</div>

40
view/de/install_db.tpl Normal file
View file

@ -0,0 +1,40 @@
<h3>Friendika Social Network</h3>
<h3>Installation</h3>
<p>
Um Friendika installieren zu können müssen wir wissen wie wir die Datenbank erreichen könne. Bitte kontaktire deinen Hosting Anbieter oder Seitenadministrator wenn du Fragen zu diesen Einstellungen hast. Die Datenbank die du weiter unten angibst muss bereits existieren. Sollte dies nicht der Fall sein erzeuge sie bitte bevor du mit der Installation fortfährst.
</p>
<form id="install-form" action="$baseurl/install" method="post">
<input type="hidden" name="phpath" value="$phpath" />
<label for="install-dbhost" id="install-dbhost-label">Datenbank Servername</label>
<input type="text" name="dbhost" id="install-dbhost" value="$dbhost" />
<div id="install-dbhost-end"></div>
<label for="install-dbuser" id="install-dbuser-label">Datenbank Anmeldename</label>
<input type="text" name="dbuser" id="install-dbuser" value="$dbuser" />
<div id="install-dbuser-end"></div>
<label for="install-dbpass" id="install-dbpass-label">Datenbank Anmeldepassword</label>
<input type="password" name="dbpass" id="install-dbpass" value="$dbpass" />
<div id="install-dbpass-end"></div>
<label for="install-dbdata" id="install-dbdata-label">Datenbankname</label>
<input type="text" name="dbdata" id="install-dbdata" value="$dbdata" />
<div id="install-dbdata-end"></div>
<div id="install-tz-desc">
Bitte wähle die Standard-Zeitzone deiner Webseite
</div>
$tzselect
<div id="install-tz-end" ></div>
<input id="install-submit" type="submit" name="submit" value="$submit" />
</form>
<div id="install-end" ></div>

View file

@ -0,0 +1,18 @@
Lieber $username,
'$fn' von '$dfrn_url' hat deine Kontaktanfrage auf '$sitename' bestätigt.
'$fn' hat sich dazu entschlossen dich als "Fan" mit eingeschränkten
Kommunikationsmöglichkeiten zu akzeptieren. Dies umfasst private Nachrichten
und einige Profilaktivitäten. Sollte dies eine Prominenten oder
Gemeinschaftsseite sein, wurden diese Einstellungen automatisch vorgenommen.
'$fn' kann sich in Zukunft dazu entschließen eure Beziehung in eine beidseitige
Freundschaft oder freizügigere Beziehung zu erweitern.
Ab sofort wirst du Statusmitteilungen von '$fn' erhalten, die auf deiner
'Netzwerkseite' erscheinen werden.
Mit freundlichen Grüßen,
$sitename Administrator

7
view/de/intros-top.tpl Normal file
View file

@ -0,0 +1,7 @@
<h1>Schwebende Freundschafts/Kontakt Benachrichtigungen</h1>
<div id="notification-show-hide-wrapper" >
<a href="$hide_url" id="notification-show-hide-link">$hide_text</a>
</div>

132
view/de/jot-header.tpl Normal file
View file

@ -0,0 +1,132 @@
<script language="javascript" type="text/javascript" src="$baseurl/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
theme : "advanced",
mode : "specific_textareas",
editor_selector: /(profile-jot-text|prvmail-text)/,
plugins : "bbcode",
theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "center",
theme_advanced_blockformats : "blockquote,code",
entity_encoding : "raw",
add_unload_trigger : false,
remove_linebreaks : false,
force_p_newlines : false,
force_br_newlines : true,
forced_root_block : '',
convert_urls: false,
content_css: "$baseurl/view/custom_tinymce.css",
//Character count
theme_advanced_path : false,
setup : function(ed) {
ed.onKeyUp.add(function(ed, e) {
var txt = tinyMCE.activeEditor.getContent();
var text = txt.length;
if(txt.length <= 140) {
$('#character-counter').removeClass('red');
$('#character-counter').removeClass('orange');
$('#character-counter').addClass('grey');
}
if((txt.length > 140) && (txt .length <= 420)) {
$('#character-counter').removeClass('grey');
$('#character-counter').removeClass('red');
$('#character-counter').addClass('orange');
}
if(txt.length > 420) {
$('#character-counter').removeClass('grey');
$('#character-counter').removeClass('orange');
$('#character-counter').addClass('red');
}
$('#character-counter').text(text);
});
}
});
</script>
<script type="text/javascript" src="include/ajaxupload.js" ></script>
<script>
$(document).ready(function() {
var uploader = new window.AjaxUpload(
'wall-image-upload',
{ action: 'wall_upload/$nickname',
name: 'userfile',
onSubmit: function(file,ext) { $('#profile-rotator').show(); },
onComplete: function(file,response) {
tinyMCE.execCommand('mceInsertRawHTML',false,response);
$('#profile-rotator').hide();
}
}
);
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
var selstr;
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
selstr = $(this).text();
$('#profile-jot-perms img').attr('src', 'images/lock_icon.gif');
});
if(selstr == null)
$('#profile-jot-perms img').attr('src', 'images/unlock_icon.gif');
}).trigger('change');
});
function jotGetLink() {
reply = prompt("Bitte URL des Links angeben:");
if(reply && reply.length) {
$('#profile-rotator').show();
$.get('parse_url?url=' + reply, function(data) {
tinyMCE.execCommand('mceInsertRawHTML',false,data);
$('#profile-rotator').hide();
});
}
}
function jotGetVideo() {
reply = prompt("Bitte den YouTube Link angeben:");
if(reply && reply.length) {
tinyMCE.execCommand('mceInsertRawHTML',false,'[youtube]' + reply + '[/youtube]');
}
}
function jotGetLocation() {
reply = prompt("Wo bist du im Moment?", $('#jot-location').val());
if(reply && reply.length) {
$('#jot-location').val(reply);
}
}
function linkdropper(event) {
var linkFound = event.dataTransfer.types.contains("text/uri-list");
if(linkFound)
event.preventDefault();
}
function linkdrop(event) {
var reply = event.dataTransfer.getData("text/uri-list");
event.target.textContent = reply;
event.preventDefault();
if(reply && reply.length) {
$('#profile-rotator').show();
$.get('parse_url?url=' + reply, function(data) {
tinyMCE.execCommand('mceInsertRawHTML',false,data);
$('#profile-rotator').hide();
});
}
}
function jotClearLocation() {
$('#jot-coord').val('');
$('#profile-nolocation-wrapper').hide();
}
$geotag
</script>

45
view/de/jot.tpl Normal file
View file

@ -0,0 +1,45 @@
<div id="profile-jot-wrapper" >
<div id="profile-jot-banner-wrapper">
<div id="profile-jot-desc" >&nbsp;</div>
<div id="character-counter" class="grey"></div>
</div>
<div id="profile-jot-banner-end"></div>
<form id="profile-jot-form" action="item" method="post" >
<input type="hidden" name="type" value="wall" />
<input type="hidden" name="profile_uid" value="$profile_uid" />
<input type="hidden" name="return" value="$return_path" />
<input type="hidden" name="location" id="jot-location" value="$defloc" />
<input type="hidden" name="coord" id="jot-coord" value="" />
<textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" ></textarea>
<div id="profile-jot-submit-wrapper" >
<input type="submit" id="profile-jot-submit" name="submit" value="Share" />
<div id="profile-upload-wrapper" style="display: $visitor;" >
<div id="wall-image-upload-div" ><img id="wall-image-upload" src="images/camera-icon.gif" alt="Foto hochladen" title="Foto hochladen" /></div>
</div>
<div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<img id="profile-link" src="images/link-icon.gif" alt="Weblink einfügen" title="Weblink einfügen" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink();" />
</div>
<div id="profile-youtube-wrapper" style="display: $visitor;" >
<img id="profile-video" src="images/youtube_icon.gif" alt="YouTube Video einfügen" title="YouTube Video einfügen" onclick="jotGetVideo();" />
</div>
<div id="profile-location-wrapper" style="display: $visitor;" >
<img id="profile-location" src="images/globe.gif" alt="Deinen Standort festlegen" title="Deinen Standort festlegen" onclick="jotGetLocation();" />
</div>
<div id="profile-nolocation-wrapper" style="display: none;" >
<img id="profile-nolocation" src="images/noglobe.gif" alt="Browser Standort leeren" title="Browser Standort leeren" onclick="jotClearLocation();" />
</div>
<div id="profile-rotator-wrapper" style="display: $visitor;" >
<img id="profile-rotator" src="images/rotator.gif" alt="Bitte warten" title="Bitte warten" style="display: none;" />
</div>
<div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" ><img id="jot-perms-icon" src="images/$lockstate_icon.gif" alt="Berechtigungseinstellungen" title="Berechtigungseinstellungen" onClick="openClose('profile-jot-acl-wrapper');" />$bang</div>
<div id="profile-jot-perms-end"></div>
<div id="profile-jot-acl-wrapper" style="display: none;" >$acl</div>
</div>
<div id="profile-jot-end"></div>
</form>
</div>

5
view/de/like.tpl Normal file
View file

@ -0,0 +1,5 @@
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id">
<img src="images/like.gif" alt="Ich mag das" title="Ich mag das [toggle]" onclick="dolike($id,'like');" />
<img src="images/dislike.gif" alt="Ich mag das nicht" title="Ich mag das nicht [toggle]" onclick="dolike($id,'dislike');" />
<img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="Bitte warten" title="Bitte warten" style="display: none;" />
</div>

6
view/de/logout.tpl Normal file
View file

@ -0,0 +1,6 @@
<form action="" method="post" >
<div class="logout-wrapper">
<input type="hidden" name="auth-params" value="logout" />
<input type="submit" name="submit" id="logout-button" value="Logout" />
</div>
</form>

18
view/de/lostpass.tpl Normal file
View file

@ -0,0 +1,18 @@
<h3>Passwort vergessen?</h3>
<p id="lostpass-desc">
Trage deine EMail Adresse ein um ein neues Passwort anzufordern. Du wirst eine EMail mit weiteren Anweisungen erhalten.
</p>
<form action="lostpass" method="post" >
<div id="login-name-wrapper">
<label for="login-name" id="label-login-name">Spitzname oder EMail: </label>
<input type="text" maxlength="60" name="login-name" id="login-name" value="" />
</div>
<div id="login-extra-end"></div>
<div id="login-submit-wrapper" >
<input type="submit" name="submit" id="lostpass-submit-button" value="Reset" />
</div>
<div id="login-submit-end"></div>
</form>

32
view/de/lostpass_eml.tpl Normal file
View file

@ -0,0 +1,32 @@
Lieber $username,
wir haben gerade eine Anfrage erhalten dein Passwort auf $sitename zu ändern.
Um diese Anfrage zu bestätigen folge bitte dem Bestätigungslink oder kopiere
ihn in die Adresszeile deines Browsers.
Solltest du KEINE Änderungsanfrage gestellt haben ignoriere diese EMail einfach
und folge dem angegebenen Link UNTER KEINEN UMSTÄNDEN.
Dein Passwort wird nicht geändert wenn du die Anfrage nicht bestätigst.
Folge diesem Link zur Verifizierung der Anfrage:
$reset_link
Anschließend wirst du eine EMail erhalten die dein neues Passwort enthält.
Du kannst dein Passwort jederzeit in den Einstellungen deines Accounts ändern
nachdem du angemeldet bist.
Die Anmelde Daten sind die Folgenden:
Adresse der Seite: $siteurl
Anmelde Name: $email
Mit freundlichen Grüßen,
$sitename Administrator

View file

@ -0,0 +1,17 @@
Lieber $username,
du hast eine neue private Nachricht von '$from' auf '$sitename' erhhalten.
-----
$title
-----
$body
-----
Bitte melde dich unter $siteurl an um deine privaten Nachrichte zu lesen und zu
beantworten.
Viele Grüße,
$sitename Administrator

100
view/de/msg-header.tpl Normal file
View file

@ -0,0 +1,100 @@
<script language="javascript" type="text/javascript" src="$baseurl/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
theme : "advanced",
mode : "specific_textareas",
editor_selector: /(profile-jot-text|prvmail-text)/,
plugins : "bbcode",
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",
entity_encoding : "raw",
add_unload_trigger : false,
remove_linebreaks : false,
force_p_newlines : false,
force_br_newlines : true,
forced_root_block : '',
convert_urls: false,
content_css: "$baseurl/view/custom_tinymce.css",
//Character count
theme_advanced_path : false,
setup : function(ed) {
ed.onKeyUp.add(function(ed, e) {
var txt = tinyMCE.activeEditor.getContent();
var text = txt.length;
if(txt.length <= 140) {
$('#character-counter').removeClass('red');
$('#character-counter').removeClass('orange');
$('#character-counter').addClass('grey');
}
if((txt.length > 140) && (txt .length <= 420)) {
$('#character-counter').removeClass('grey');
$('#character-counter').removeClass('red');
$('#character-counter').addClass('orange');
}
if(txt.length > 420) {
$('#character-counter').removeClass('grey');
$('#character-counter').removeClass('orange');
$('#character-counter').addClass('red');
}
$('#character-counter').text(text);
});
}
});
</script>
<script type="text/javascript" src="include/ajaxupload.js" ></script>
<script>
$(document).ready(function() {
var uploader = new window.AjaxUpload(
'prvmail-upload',
{ action: 'wall_upload/$nickname',
name: 'userfile',
onSubmit: function(file,ext) { $('#profile-rotator').show(); },
onComplete: function(file,response) {
tinyMCE.execCommand('mceInsertRawHTML',false,response);
$('#profile-rotator').hide();
}
}
);
});
function jotGetLink() {
reply = prompt("Please enter a link URL:");
if(reply && reply.length) {
$('#profile-rotator').show();
$.get('parse_url?url=' + reply, function(data) {
tinyMCE.execCommand('mceInsertRawHTML',false,data);
$('#profile-rotator').hide();
});
}
}
function linkdropper(event) {
var linkFound = event.dataTransfer.types.contains("text/uri-list");
if(linkFound)
event.preventDefault();
}
function linkdrop(event) {
var reply = event.dataTransfer.getData("text/uri-list");
event.target.textContent = reply;
event.preventDefault();
if(reply && reply.length) {
$('#profile-rotator').show();
$.get('parse_url?url=' + reply, function(data) {
tinyMCE.execCommand('mceInsertRawHTML',false,data);
$('#profile-rotator').hide();
});
}
}
</script>

14
view/de/netfriend.tpl Normal file
View file

@ -0,0 +1,14 @@
<div class="intro-approve-as-friend-desc">Genehmigen als: </div>
<div class="intro-approve-as-friend-wrapper">
<label class="intro-approve-as-friend-label" for="intro-approve-as-friend-$intro_id">Freund</label>
<input type="radio" name="duplex" id="intro-approve-as-friend-$intro_id" class="intro-approve-as-friend" $friend_selected value="1" />
<div class="intro-approve-friend-break" ></div>
</div>
<div class="intro-approve-as-friend-end"></div>
<div class="intro-approve-as-fan-wrapper">
<label class="intro-approve-as-fan-label" for="intro-approve-as-fan-$intro_id">Fan/Verehrer</label>
<input type="radio" name="duplex" id="intro-approve-as-fan-$intro_id" class="intro-approve-as-fan" $fan_selected value="0" />
<div class="intro-approve-fan-break"></div>
</div>
<div class="intro-approve-as-end"></div>

25
view/de/pagetypes.tpl Normal file
View file

@ -0,0 +1,25 @@
<div id="settings-normal-wrapper">
<label id="settings-normal-label" for="settings-normal">Normales Profil</label>
<input type="radio" name="page-flags" id="settings-normal" $normal_selected value="$page_normal" />
<span id="settings-normal-desc">Dieser Account ist ein normaler persönlicher Account</span>
</div>
<div id="settings-normal-break" ></div>
<div id="settings-soapbox-wrapper">
<label id="settings-soapbox-label" for="settings-soapbox">Sandkasten Profil</label>
<input type="radio" name="page-flags" id="settings-soapbox" $soapbox_selected value="$page_soapbox" />
<span id="settings-soapbox-desc">Alle Kontakt/Freundschaftsanfragen werden automatisch als Nur-Lese Fans akzepdiert</span>
</div>
<div id="settings-soapbox-break" ></div>
<div id="settings-community-wrapper">
<label id="settings-community-label" for="settings-community">Gemeindschafts/Prominenten Profil</label>
<input type="radio" name="page-flags" id="settings-community" $community_selected value="$page_community" />
<span id="settings-community-desc">Alle Kontakt/Freundschaftsanfragen werden automatisch als Lese-und-Schreiben Fans akzepdiert</span>
</div>
<div id="settings-community-break" ></div>
<div id="settings-freelove-wrapper">
<label id="settings-freelove-label" for="settings-freelove">Automatisches Freundschafts-Profil</label>
<input type="radio" name="page-flags" id="settings-freelove" $freelove_selected value="$page_freelove" />
<span id="settings-freelove-desc">Alle Kontakt/Freundschaftsanfragen werden automatisch als Freund akzepdiert</span>
</div>
<div id="settings-freelove-break" ></div>

View file

@ -0,0 +1,20 @@
Lieber $username,
dein Passwort wurde wie gewünscht geändert. Bitte hebe diese Informationen
für deine Unterlagen auf (oder ändere das Passwort augenblicklich in etwas
das du dir merken kannst).
Deine Anmeldedaten sind die Folgenden:
Adresse der Seite: $siteurl
Anmelde Name: $email
Passwort: $new_password
Du kannst diesen Passwort auf der "Einstellungen" Seite deines Accounts
ändern nachdem du angemeldet bits.
Viele Grüße,
$sitename Administrator

View file

@ -0,0 +1,16 @@
<p id="hide-friends-text">
Verberge meine Kontaktliste von Leuten die dieses Profil ansehen?
</p>
<div id="hide-friends-yes-wrapper">
<label id="hide-friends-yes-label" for="hide-friends-yes">Ja</label>
<input type="radio" name="hide-friends" id="hide-friends-yes" $yes_selected value="1" />
<div id="hide-friends-break" ></div>
</div>
<div id="hide-friends-no-wrapper">
<label id="hide-friends-no-label" for="hide-friends-no">Nein</label>
<input type="radio" name="hide-friends" id="hide-friends-no" $no_selected value="0" />
<div id="hide-friends-end"></div>
</div>

View file

@ -0,0 +1,16 @@
<p id="profile-in-directory">
Soll dein Standard-Profil im Verzeichnis dieser Seite veröffentlich werden?
</p>
<div id="profile-in-dir-yes-wrapper">
<label id="profile-in-dir-yes-label" for="profile-in-dir-yes">Ja</label>
<input type="radio" name="profile_in_directory" id="profile-in-dir-yes" $yes_selected value="1" />
<div id="profile-in-dir-break" ></div>
</div>
<div id="profile-in-dir-no-wrapper">
<label id="profile-in-dir-no-label" for="profile-in-dir-no">Nein</label>
<input type="radio" name="profile_in_directory" id="profile-in-dir-no" $no_selected value="0" />
<div id="profile-in-dir-end"></div>
</div>

View file

@ -0,0 +1,16 @@
<p id="profile-in-directory">
Soll dein Standard-Profil im globalen Verzeichnis veröffentlicht werden?
</p>
<div id="profile-in-netdir-yes-wrapper">
<label id="profile-in-netdir-yes-label" for="profile-in-netdir-yes">Ja</label>
<input type="radio" name="profile_in_netdirectory" id="profile-in-netdir-yes" $yes_selected value="1" />
<div id="profile-in-netdir-break" ></div>
</div>
<div id="profile-in-netdir-no-wrapper">
<label id="profile-in-netdir-no-label" for="profile-in-netdir-no">Nein</label>
<input type="radio" name="profile_in_netdirectory" id="profile-in-netdir-no" $no_selected value="0" />
<div id="profile-in-netdir-end"></div>
</div>

72
view/de/profile.php Normal file
View file

@ -0,0 +1,72 @@
<!DOCTYPE html ><?php // This is a perfect example of why I prefer to use template files rather than mixed PHP/HTML ?>
<html>
<head>
<title><?php if(x($page,'title')) echo $page['title']; ?></title>
<?php if(x($page,'htmlhead')) echo $page['htmlhead']; ?>
</head>
<body>
<header><?php if(x($page,'header')) echo $page['header']; ?></header>
<nav><div id="top-margin"></div><?php if(x($page,'nav')) echo $page['nav']; ?></nav>
<aside>
<?php if((is_array($profile)) && count($profile)) { ?>
<div class="vcard">
<?php if(strlen($profile['name'])) { ?>
<div class="fn"><?php echo $profile['name']; ?></div>
<?php } ?>
<?php if(strlen($profile['photo'])) { ?>
<div id="profile-photo-wrapper"><img class="photo" src="<?php echo $profile['photo']; ?>" alt="<?php echo $profile['name']; ?>" /></div>
<?php } ?>
<div id="profile-extra-links">
<ul>
<?php if($profile['uid'] != $_SESSION['uid']) { ?>
<li><a id="dfrn-request-link" href="dfrn_request/<?php echo $profile['nickname']; ?>">In Verbindung treten</a></li>
<?php } ?>
</ul>
</div>
<?php if ( (strlen($profile['address']))
|| (strlen($profile['locality']))
|| (strlen($profile['region']))
|| (strlen($profile['postal-code']))
|| (strlen($profile['country-name']))) { ?>
<div class="location">Standort:
<div class="adr">
<div class="street-address"><?php if(strlen($profile['address'])) echo $profile['address']; ?></div>
<span class="city-state-zip"><span class="locality"><?php echo $profile['locality']; ?></span><?php if(strlen($profile['locality'])) echo ', '; ?><span class="region"><?php echo $profile['region'] ?></span><?php if(strlen($profile['postal-code'])) { ?> <span class="postal-code"><?php echo $profile['postal-code']; ?></span><?php } ?></span>
<span class="country-name"><?php echo $profile['country-name']; ?></span>
</div>
</div>
<?php } ?>
<?php if(strlen($profile['gender'])) { ?>
<div class="mf">Geschlecht: <span class="x-gender"><?php echo $profile['gender']; ?></span></div>
<?php } ?>
<?php if(strlen($profile['pubkey'])) { ?>
<div class="key" style="display: none;"><?php echo $profile['pubkey']; ?></div>
<?php } ?>
</div>
<?php } ?>
<?php if(strlen($profile['marital'])) { ?>
<div class="marital"><span class="marital-label"><span class="heart">&hearts;</span> Status: </span><span class="marital-text"><?php echo $profile['marital']; ?></span></div>
<?php } ?>
<?php if(strlen($profile['homepage'])) { ?>
<div class="homepage"><span class="homepage-label">Homepage: </span><span class="homepage-url"><?php echo linkify($profile['homepage']); ?></span></div>
<?php } ?>
<?php if(x($page,'aside')) echo $page['aside'] ?>
</aside>
<section>
<?php if(x($page,'content')) echo $page['content']; ?>
<div id="page-footer"></div>
</section>
<footer>
<?php if(x($page,'footer')) echo $page['footer']; ?>
</footer>
</body>
</html>

View file

@ -0,0 +1,226 @@
<?php
$o .= '';
$o .= <<< EOT
<h2>Profile</h2>
EOT;
if($a->profile['name']) {
$o .= <<< EOT
<div id="advanced-profile-name-wrapper" >
<div id="advanced-profile-name-text">Full Name:</div>
<div id="advanced-profile-name">{$a->profile['name']}</div>
</div>
<div id="advanced-profile-name-end"></div>
EOT;
}
if($a->profile['gender']) {
$o .= <<< EOT
<div id="advanced-profile-gender-wrapper" >
<div id="advanced-profile-gender-text">Gender:</div>
<div id="advanced-profile-gender">{$a->profile['gender']}</div>
</div>
<div id="advanced-profile-gender-end"></div>
EOT;
}
if(($a->profile['dob']) && ($a->profile['dob'] != '0000-00-00')) {
$o .= <<< EOT
<div id="advanced-profile-dob-wrapper" >
<div id="advanced-profile-dob-text">Birthday:</div>
EOT;
// If no year, add an arbitrary one so just we can parse the month and day.
$o .= '<div id="advanced-profile-dob">'
. ((intval($a->profile['dob']))
? day_translate(datetime_convert('UTC','UTC',$a->profile['dob'] . ' 00:00 +00:00','j F, Y'))
: day_translate(datetime_convert('UTC','UTC','2001-' . substr($a->profile['dob'],6) . ' 00:00 +00:00','j F')))
. "</div>\r\n</div>";
$o .= '<div id="advanced-profile-dob-end"></div>';
}
if($age = age($a->profile['dob'],$a->profile['timezone'],'')) {
$o .= <<< EOT
<div id="advanced-profile-age-wrapper" >
<div id="advanced-profile-age-text">Age:</div>
<div id="advanced-profile-age">$age</div>
</div>
<div id="advanced-profile-age-end"></div>
EOT;
}
if($a->profile['marital']) {
$o .= <<< EOT
<div id="advanced-profile-marital-wrapper" >
<div id="advanced-profile-marital-text"><span class="heart">&hearts;</span> Status:</div>
<div id="advanced-profile-marital">{$a->profile['marital']}</div>
EOT;
if($a->profile['with'])
$o .= "<div id=\"advanced-profile-with\">({$a->profile['with']})</div>";
$o .= <<< EOT
</div>
<div id="advanced-profile-marital-end"></div>
EOT;
}
if($a->profile['sexual']) {
$o .= <<< EOT
<div id="advanced-profile-sexual-wrapper" >
<div id="advanced-profile-sexual-text">Sexual Preference:</div>
<div id="advanced-profile-sexual">{$a->profile['sexual']}</div>
</div>
<div id="advanced-profile-sexual-end"></div>
EOT;
}
if($a->profile['homepage']) {
$homepage = linkify($a->profile['homepage']);
$o .= <<< EOT
<div id="advanced-profile-homepage-wrapper" >
<div id="advanced-profile-homepage-text">Homepage:</div>
<div id="advanced-profile-homepage">$homepage</div>
</div>
<div id="advanced-profile-homepage-end"></div>
EOT;
}
if($a->profile['politic']) {
$o .= <<< EOT
<div id="advanced-profile-politic-wrapper" >
<div id="advanced-profile-politic-text">Political Views:</div>
<div id="advanced-profile-politic">{$a->profile['politic']}</div>
</div>
<div id="advanced-profile-politic-end"></div>
EOT;
}
if($a->profile['religion']) {
$o .= <<< EOT
<div id="advanced-profile-religion-wrapper" >
<div id="advanced-profile-religion-text">Religion:</div>
<div id="advanced-profile-religion">{$a->profile['religion']}</div>
</div>
<div id="advanced-profile-religion-end"></div>
EOT;
}
if($txt = bbcode($a->profile['about'])) {
$o .= <<< EOT
<div id="advanced-profile-about-wrapper" >
<div id="advanced-profile-about-text">About:</div>
<br />
<div id="advanced-profile-about">$txt</div>
</div>
<div id="advanced-profile-about-end"></div>
EOT;
}
if($txt = bbcode($a->profile['interest'])) {
$o .= <<< EOT
<div id="advanced-profile-interest-wrapper" >
<div id="advanced-profile-interest-text">Hobbies/Interests:</div>
<br />
<div id="advanced-profile-interest">$txt</div>
</div>
<div id="advanced-profile-interest-end"></div>
EOT;
}
if($txt = bbcode($a->profile['contact'])) {
$o .= <<< EOT
<div id="advanced-profile-contact-wrapper" >
<div id="advanced-profile-contact-text">Contact information and Social Networks:</div>
<br />
<div id="advanced-profile-contact">$txt</div>
</div>
<div id="advanced-profile-contact-end"></div>
EOT;
}
if($txt = bbcode($a->profile['music'])) {
$o .= <<< EOT
<div id="advanced-profile-music-wrapper" >
<div id="advanced-profile-music-text">Musical interests:</div>
<br />
<div id="advanced-profile-music">$txt</div>
</div>
<div id="advanced-profile-music-end"></div>
EOT;
}
if($txt = bbcode($a->profile['book'])) {
$o .= <<< EOT
<div id="advanced-profile-book-wrapper" >
<div id="advanced-profile-book-text">Books, literature:</div>
<br />
<div id="advanced-profile-book">$txt</div>
</div>
<div id="advanced-profile-book-end"></div>
EOT;
}
if($txt = bbcode($a->profile['tv'])) {
$o .= <<< EOT
<div id="advanced-profile-tv-wrapper" >
<div id="advanced-profile-tv-text">Television:</div>
<br />
<div id="advanced-profile-tv">$txt</div>
</div>
<div id="advanced-profile-tv-end"></div>
EOT;
}
if($txt = bbcode($a->profile['film'])) {
$o .= <<< EOT
<div id="advanced-profile-film-wrapper" >
<div id="advanced-profile-film-text">Film/dance/culture/entertainment:</div>
<br />
<div id="advanced-profile-film">$txt</div>
</div>
<div id="advanced-profile-film-end"></div>
EOT;
}
if($txt = bbcode($a->profile['romance'])) {
$o .= <<< EOT
<div id="advanced-profile-romance-wrapper" >
<div id="advanced-profile-romance-text">Love/romance:</div>
<br />
<div id="advanced-profile-romance">$txt</div>
</div>
<div id="advanced-profile-romance-end"></div>
EOT;
}
if($txt = bbcode($a->profile['work'])) {
$o .= <<< EOT
<div id="advanced-profile-work-wrapper" >
<div id="advanced-profile-work-text">Work/employment:</div>
<br />
<div id="advanced-profile-work">$txt</div>
</div>
<div id="advanced-profile-work-end"></div>
EOT;
}
if($txt = bbcode($a->profile['education'])) {
$o .= <<< EOT
<div id="advanced-profile-education-wrapper" >
<div id="advanced-profile-education-text">School/education:</div>
<br />
<div id="advanced-profile-education">$txt</div>
</div>
<div id="advanced-profile-education-end"></div>
EOT;
}

293
view/de/profile_edit.tpl Normal file
View file

@ -0,0 +1,293 @@
<h1>Proil Details Bearbeiten</h1>
<div id="profile-edit-links">
<ul>
<li><a href="profile/$profile_id/view?tab=profile" id="profile-edit-view-link" title="View this profile">View this profile</a></li>
<li><a href="profiles/clone/$profile_id" id="profile-edit-clone-link" title="Create a new profile using these settings">Clone this profile</a></li>
<li></li>
<li><a href="profiles/drop/$profile_id" id="profile-edit-drop-link" title="Delete this profile" $disabled >Delete this profile</a></li>
</ul>
</div>
<div id="profile-edit-links-end"></div>
$default
<div id="profile-edit-wrapper" >
<form id="profile-edit-form" name="form1" action="profiles/$profile_id" method="post" >
<div id="profile-edit-profile-name-wrapper" >
<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >Profile Name: </label>
<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="$profile_name" /><div class="required">*</div>
</div>
<div id="profile-edit-profile-name-end"></div>
<div id="profile-edit-name-wrapper" >
<label id="profile-edit-name-label" for="profile-edit-name" >Your Full Name: </label>
<input type="text" size="32" name="name" id="profile-edit-name" value="$name" />
</div>
<div id="profile-edit-name-end"></div>
<div id="profile-edit-pdesc-wrapper" >
<label id="profile-edit-pdesc-label" for="profile-edit-pdesc" >Title/Description: </label>
<input type="text" size="32" name="pdesc" id="profile-edit-pdesc" value="$pdesc" />
</div>
<div id="profile-edit-pdesc-end"></div>
<div id="profile-edit-gender-wrapper" >
<label id="profile-edit-gender-label" for="gender-select" >Your Gender: </label>
$gender
</div>
<div id="profile-edit-gender-end"></div>
<div id="profile-edit-dob-wrapper" >
<label id="profile-edit-dob-label" for="dob-select" >Birthday (y/m/d): </label>
<div id="profile-edit-dob" >
$dob $age
</div>
</div>
<div id="profile-edit-dob-end"></div>
$hide_friends
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="Submit" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="profile-edit-address-wrapper" >
<label id="profile-edit-address-label" for="profile-edit-address" >Street Address: </label>
<input type="text" size="32" name="address" id="profile-edit-address" value="$address" />
</div>
<div id="profile-edit-address-end"></div>
<div id="profile-edit-locality-wrapper" >
<label id="profile-edit-locality-label" for="profile-edit-locality" >Locality/City: </label>
<input type="text" size="32" name="locality" id="profile-edit-locality" value="$locality" />
</div>
<div id="profile-edit-locality-end"></div>
<div id="profile-edit-postal-code-wrapper" >
<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >Postal/Zip Code: </label>
<input type="text" size="32" name="postal_code" id="profile-edit-postal-code" value="$postal_code" />
</div>
<div id="profile-edit-postal-code-end"></div>
<div id="profile-edit-country-name-wrapper" >
<label id="profile-edit-country-name-label" for="profile-edit-country-name" >Country: </label>
<select name="country_name" id="profile-edit-country-name" onChange="Fill_States('$region');">
<option selected="selected" >$country_name</option>
<option>temp</option>
</select>
</div>
<div id="profile-edit-country-name-end"></div>
<div id="profile-edit-region-wrapper" >
<label id="profile-edit-region-label" for="profile-edit-region" >Region/State: </label>
<select name="region" id="profile-edit-region" onChange="Update_Globals();" >
<option selected="selected" >$region</option>
<option>temp</option>
</select>
</div>
<div id="profile-edit-region-end"></div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="Submit" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="profile-edit-marital-wrapper" >
<label id="profile-edit-marital-label" for="profile-edit-marital" ><span class="heart">&hearts;</span> (Marital) Status: </label>
$marital
</div>
<label id="profile-edit-with-label" for="profile-edit-with" > Who: (if applicable) </label>
<input type="text" size="32" name="with" id="profile-edit-with" value="$with" />
<div id="profile-edit-marital-end"></div>
<div id="profile-edit-sexual-wrapper" >
<label id="profile-edit-sexual-label" for="sexual-select" >Sexual Preference: </label>
$sexual
</div>
<div id="profile-edit-sexual-end"></div>
<div id="profile-edit-homepage-wrapper" >
<label id="profile-edit-homepage-label" for="profile-edit-homepage" >Homepage URL: </label>
<input type="text" size="32" name="homepage" id="profile-edit-homepage" value="$homepage" />
</div>
<div id="profile-edit-homepage-end"></div>
<div id="profile-edit-politic-wrapper" >
<label id="profile-edit-politic-label" for="profile-edit-politic" >Political Views: </label>
<input type="text" size="32" name="politic" id="profile-edit-politic" value="$politic" />
</div>
<div id="profile-edit-politic-end"></div>
<div id="profile-edit-religion-wrapper" >
<label id="profile-edit-religion-label" for="profile-edit-religion" >Religion: </label>
<input type="text" size="32" name="religion" id="profile-edit-religion" value="$religion" />
</div>
<div id="profile-edit-religion-end"></div>
<div id="profile-edit-keywords-wrapper" >
<label id="profile-edit-keywords-label" for="profile-edit-keywords" >Keywords: </label>
<input type="text" size="32" name="keywords" id="profile-edit-keywords" title="Example: fishing photography software" value="$keywords" />
</div><div id="profile-edit-keywords-desc">(Used for searching public profiles, never shown to others)</div>
<div id="profile-edit-keywords-end"></div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="Submit" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="about-jot-wrapper" >
<p id="about-jot-desc" >
Tell us about yourself...
</p>
<textarea rows="10" cols="72" id="profile-jot-text" name="about" >$about</textarea>
</div>
<div id="about-jot-end"></div>
</div>
<div id="interest-jot-wrapper" >
<p id="interest-jot-desc" >
Hobbies/Interests
</p>
<textarea rows="10" cols="72" id="interest-jot-text" name="interest" >$interest</textarea>
</div>
<div id="interest-jot-end"></div>
</div>
<div id="contact-jot-wrapper" >
<p id="contact-jot-desc" >
Contact information and Social Networks
</p>
<textarea rows="10" cols="72" id="contact-jot-text" name="contact" >$contact</textarea>
</div>
<div id="contact-jot-end"></div>
</div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="Submit" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="music-jot-wrapper" >
<p id="music-jot-desc" >
Musical interests
</p>
<textarea rows="10" cols="72" id="music-jot-text" name="music" >$music</textarea>
</div>
<div id="music-jot-end"></div>
</div>
<div id="book-jot-wrapper" >
<p id="book-jot-desc" >
Books, literature
</p>
<textarea rows="10" cols="72" id="book-jot-text" name="book" >$book</textarea>
</div>
<div id="book-jot-end"></div>
</div>
<div id="tv-jot-wrapper" >
<p id="tv-jot-desc" >
Television
</p>
<textarea rows="10" cols="72" id="tv-jot-text" name="tv" >$tv</textarea>
</div>
<div id="tv-jot-end"></div>
</div>
<div id="film-jot-wrapper" >
<p id="film-jot-desc" >
Film/dance/culture/entertainment
</p>
<textarea rows="10" cols="72" id="film-jot-text" name="film" >$film</textarea>
</div>
<div id="film-jot-end"></div>
</div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="Submit" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="romance-jot-wrapper" >
<p id="romance-jot-desc" >
Love/romance
</p>
<textarea rows="10" cols="72" id="romance-jot-text" name="romance" >$romance</textarea>
</div>
<div id="romance-jot-end"></div>
</div>
<div id="work-jot-wrapper" >
<p id="work-jot-desc" >
Work/employment
</p>
<textarea rows="10" cols="72" id="work-jot-text" name="work" >$work</textarea>
</div>
<div id="work-jot-end"></div>
</div>
<div id="education-jot-wrapper" >
<p id="education-jot-desc" >
School/education
</p>
<textarea rows="10" cols="72" id="education-jot-text" name="education" >$education</textarea>
</div>
<div id="education-jot-end"></div>
</div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="Submit" />
</div>
<div class="profile-edit-submit-end"></div>
</form>
</div>
<script type="text/javascript">Fill_Country('$country_name');Fill_States('$region');</script>

View file

@ -0,0 +1,9 @@
<div class="profile-listing" >
<div class="profile-listing-photo-wrapper" >
<a href="profiles/$id" class="profile-listing-edit-link" ><img class="profile-listing-photo" id="profile-listing-photo-$id" src="$photo" alt="Profilbild" /></a>
</div>
<div class="profile-listing-photo-end" ></div>
<div class="profile-listing-name" id="profile-listing-name-$id"><a href="profiles/$id" class="profile-listing-edit-link" >$profile_name</a></div>
</div>
<div class="profile-listing-end"></div>

View file

@ -0,0 +1,8 @@
<h1>Profile</h1>
<p id="profile-listing-desc" >
<a href="profile_photo" >Profilbild ändern</a>
</p>
<div id="profile-listing-new-link-wrapper" >
<a href="profiles/new" id="profile-listing-new-link" name="Neues Profil anlegen" >Neues Profil anlegen</a>
</div>

14
view/de/profile_photo.tpl Normal file
View file

@ -0,0 +1,14 @@
<h1>Profilbild Hochladen</h1>
<form enctype="multipart/form-data" action="profile_photo" method="post">
<div id="profile-photo-upload-wrapper">
<label id="profile-photo-upload-label" for="profile-photo-upload">Datei hochladen: </label>
<input name="userfile" type="file" id="profile-photo-upload" size="48" />
</div>
<div id="profile-photo-submit-wrapper">
<input type="submit" name="submit" id="profile-photo-submit" value="Upload">
</div>
</form>

7
view/de/profile_tabs.tpl Normal file
View file

@ -0,0 +1,7 @@
<div id="profile-tabs-wrapper" >
<a href="$url" id="profile-tab-status-link" class="profile-tabs" >Status</a>
<a href="$url?tab=profile" id="profile-tab-profile-link" class="profile-tabs" >Profil</a>
<a href="$phototab" id="profile-tab-photos-link" class="profile-tabs" >Fotos</a>
<div id="profile-tabs-end"></div>
</div>

16
view/de/pwdreset.tpl Normal file
View file

@ -0,0 +1,16 @@
<h3>Zurücksetzen des Passworts</h3>
<p>
Dein Passwort wurde wie gewünscht zurück gesetzt.
</p>
<p>
Dein neues Passwort lautet:
</p>
<p>
$newpass
</p>
<p>
Sichere oder kopiere dein neues Passwort und melde dich <a href="$baseurl" >dann hier an</a>.
</p>
<p>
Nachdem du dich angemeldet hast kannst du dein Passwort auf der "Einstellungen" Seite ändern.

View file

@ -0,0 +1 @@
<a href="register" name="Neuen Account anlegen" id="register-link" >Registrieren</a>

View file

@ -0,0 +1,22 @@
Lieber $username,
danke für die Registrierung bei $sitename. Dein neuer Account wurde angelegt.
Die Anmeldedetails sind die Folgenden.
Adresse der Seite: $siteurl
Anmelde Name: $email
Passwort: $password
Du kannst dein Passwort auf der "Einstellungen" Seite deines Accounts ändern
nachdem du dich angemeldet hast.
Nimm dir bitte ein paar Augenblicke Zeit um die anderen Einstellungen deines
Accounts zu bearbeiten. Standardmäßig ist dein Account privat und versteckt
(unsichtbar für andere Personen). Falls du möchtest kannst du dein Profil
veröffentlichen, damit andere Leute dich im Verzeichnis finden.
Vielen Dank und Willkommen auf $sitename.
Mit freundlichem Gruß,
$sitename Administrator

View file

@ -0,0 +1,21 @@
Ein neuer Nutzer hat sich auf $sitename registriert. Diese Registration
benötigt noch deine Zustimmung.
Die Anmeldedetails sind Folgende:
Kompletter Name: $username
Adresse der Seite: $siteurl
Anmelde Name: $email
Um dieser Anmeldung zuzustimmen folge bitte diesem Link:
$siteurl/regmod/allow/$hash
Um die Anfrage abzulehen und den Account zu entfernen folge diesem Link:
$siteurl/regmod/deny/$hash
Besten Dank!

View file

@ -0,0 +1,3 @@
<h1>Schwebende Neuanmeldungen</h1>

View file

@ -0,0 +1,14 @@
Lieber $myname,
du hast gerade eine Kontaktanfrage von '$requestor' auf $sitename erhalten.
Du kannst dir das Profil unter $url ansehen.
Bitte melde dich auf deiner Seite an um die komplette Vorstellung anzusehen
und bestätige oder ignoriere die Anfrage.
$siteurl
Schöne Grüße,
$sitename Administrator

163
view/de/settings.tpl Normal file
View file

@ -0,0 +1,163 @@
<h1>Account Einstellungen</h1>
<div id="plugin-settings-link"><a href="settings/addon">Plugin Einstellungen</a></div>
$nickname_block
<form action="settings" id="settings-form" method="post" autocomplete="false" >
<h3 class="settings-heading">Grundeinstellungen</h3>
<div id="settings-username-wrapper" >
<label id="settings-username-label" for="settings-username" >Kompletter Name: </label>
<input type="text" name="username" id="settings-username" value="$username" />
</div>
<div id="settings-username-end" ></div>
<div id="settings-email-wrapper" >
<label id="settings-email-label" for="settings-email" >EMail Adresse: </label>
<input type="text" name="email" id="settings-email" value="$email" />
</div>
<div id="settings-email-end" ></div>
<div id="settings-timezone-wrapper" >
<label id="settings-timezone-label" for="timezone_select" >Deine Zeitzone: </label>
$zoneselect
</div>
<div id="settings-timezone-end" ></div>
<div id="settings-defloc-wrapper" >
<label id="settings-defloc-label" for="settings-defloc" >Standardwert Sendestandort: </label>
<input type="text" name="defloc" id="settings-defloc" value="$defloc" />
</div>
<div id="settings-defloc-end" ></div>
<div id="settings-allowloc-wrapper" >
<label id="settings-allowloc-label" for="settings-allowloc" >Browser Standort verwenden: </label>
<input type="checkbox" name="allow_location" id="settings-allowloc" value="1" $loc_checked />
</div>
<div id="settings-allowloc-end" ></div>
<div id="settings-theme-select">
<label id="settings-theme-label" for="theme-select" >Anzeige Thema: </label>
$theme
</div>
<div id="settings-theme-end"></div>
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="Submit" />
</div>
<h3 class="settings-heading">Sicherheits und Privatsphären Einstellungen</h3>
<input type="hidden" name="visibility" value="$visibility" />
<div id="settings-maxreq-wrapper">
<label id="settings-maxreq-label" for="settings-maxreq" >Maximale Anzahl an Freundschaftsanfragen pro Tagy</label>
<input id="settings-maxreq" name="maxreq" value="$maxreq" />
<div id="settings-maxreq-desc">(um SPAM zu verhindern)</div>
</div>
<div id="settings-maxreq-end"></div>
$profile_in_dir
$profile_in_net_dir
<div id="settings-default-perms" class="settings-default-perms" >
<div id="settings-default-perms-menu" class="fakelink" onClick="openClose('settings-default-perms-select');" >&#x21e9; $permissions</div>
<div id="settings-default-perms-menu-end"></div>
<div id="settings-default-perms-select" style="display: none;" >
$aclselect
</div>
</div>
<div id="settings-default-perms-end"></div>
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="Submit" />
</div>
<h3 class="settings-heading">Benachrichtigungs Einstellungen</h3>
<div id="settings-notify-wrapper">
<div id="settings-notify-desc">Benachrichtigungsemail senden wenn: </div>
<label for="notify1" id="settings-label-notify1">Du eine Vorstellung empfängst</label>
<input id="notify1" type="checkbox" $sel_notify1 name="notify1" value="1" />
<div id="notify1-end"></div>
<label for="notify2" id="settings-label-notify2">Deine Vorstellung bestätigt wurde</label>
<input id="notify2" type="checkbox" $sel_notify2 name="notify2" value="2" />
<div id="notify2-end"></div>
<label for="notify3" id="settings-label-notify3">Jemand etwas auf deiner Profilwand postet</label>
<input id="notify3" type="checkbox" $sel_notify3 name="notify3" value="4" />
<div id="notify3-end"></div>
<label for="notify4" id="settings-label-notify4">Jemand einen Folgebeitrag schreibt</label>
<input id="notify4" type="checkbox" $sel_notify4 name="notify4" value="8" />
<div id="notify4-end"></div>
<label for="notify5" id="settings-label-notify5">Du eine private Nachricht erhälst</label>
<input id="notify5" type="checkbox" $sel_notify5 name="notify5" value="16" />
<div id="notify5-end"></div>
</div>
<div id="settings=notify-end"></div>
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="Submit" />
</div>
<h3 class="settings-heading">Passwort Einstellungen</h3>
<div id="settings-password-wrapper" >
<p id="settings-password-desc" >
Lass die Passwortfelder frei außer du willst das Passwort ändern.
</p>
<label id="settings-password-label" for="settings-password" >Neues Passwort: </label>
<input type="password" id="settings-password" name="npassword" />
</div>
<div id="settings-password-end" ></div>
<div id="settings-confirm-wrapper" >
<label id="settings-confirm-label" for="settings-confirm" >Bestätigen: </label>
<input type="password" id="settings-confirm" name="confirm" />
</div>
<div id="settings-confirm-end" ></div>
<div id="settings-openid-wrapper" >
$oidhtml
</div>
<div id="settings-openid-end" ></div>
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="Submit" />
</div>
<h3 class="settings-heading">Erweiterte Seiteneinstellungen</h3>
$pagetype
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="Submit" />
</div>

View file

@ -0,0 +1,9 @@
<div id="settings-nick-wrapper" >
<p id="settings-nickname-desc">
<span class="error-message">Deine Profiladresse lautet <strong>'$nickname@$basepath'</strong></span>
</p>
$subdir
</div>
<div id="settings-nick-end" ></div>

View file

@ -0,0 +1,9 @@
<p>
Es scheint so als ob deine Friendika Installation in einem Unterverzeichnis von $hostname
liegt, es könnte deshalb unzuverlässig arbeiten.
</p>
<p>
Solltest du irgendwelche Probleme haben versuche bitte folgende Profil Adresse
'<strong>$baseurl/profile/$nickname</strong>' eventuell funktioniert es damit
besser.
</p>

View file

@ -0,0 +1,16 @@
<div id="settings-nick-wrapper" >
<p id="settings-nickname-desc">
Deine Profil URL ist im Moment <strong>'$baseurl/profile/$uid'</strong>.
Wenn du einen Spitznamen wählst kann man diese URL freundlicher ausdrücken
z.B. <strong>'spitzname@$basepath'</strong>.
<br />
Einmal gewählt kann der Spitzname nicht mehr geändert werden. Er
<strong>muss</strong> mit einem Buchstaben beginnen. Es sind ausschließlich
Buchstaben, Zahlen sowie Binde- und Unterstriche erlaubt.
</p>
<label id="settings-nick-label" for="settings-nick" >URL Spitzname: </label>
<input type="text" name="nick" id="settings-nick" value="$nickname" />
</div>
<div id="settings-nick-end" ></div>

1005
view/de/strings.php Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,4 @@
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" ><a
href="item/drop/$id" onclick="return confirmDelete();" ><img
src="images/b_drophide.gif" alt="Löschen" title="Löschen" id="wall-item-delete-icon-$id" class="wall-item-delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></div>
<div class="wall-item-delete-end"></div>

View file

@ -0,0 +1,18 @@
Hallo $username,
'$from' hat etwas auf deiner Profilwand gepostet.
-----
$body
-----
Bitte melde dich unter $siteurl an um den Eintrag anzusehen oder zu löschen.
$display
Besten Dank!
$sitename Administrator

36
view/de/wallwall_item.tpl Normal file
View file

@ -0,0 +1,36 @@
<div class="wall-item-outside-wrapper$indent" id="wall-item-outside-wrapper-$id" >
<div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" >
<div class="wall-item-photo-wrapper" id="wall-item-ownerphoto-wrapper-$id" >
<a href="$owner_url" title="Gehe zum Profil von $owner_name" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$id">
<img src="$owner_photo" class="wall-item-photo$osparkle" id="wall-item-ownerphoto-$id" height="80" width="80" alt="$owner_name" /></a>
</div>
<div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="Wall-To-Wall" /></div>
<div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" >
<a href="$profile_url" title="Betrachte das Profil von $name" class="wall-item-photo-link" id="wall-item-photo-link-$id">
<img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" height="80" width="80" alt="$name" /></a>
</div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
$lock
<a href="$profile_url" title="Betrachte das Profil von $name" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> to <a href="$owner_url" title="View $owner_name's profile" class="wall-item-name-link"><span class="wall-item-name$osparkle" id="wall-item-ownername-$id">$owner_name</span></a> via Wall-To-Wall:<br />
<div class="wall-item-ago" id="wall-item-ago-$id">$ago</div>
<div class="wall-item-location" id="wall-item-location-$id">$location</div>
$vote
</div>
<div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
</div>
$drop
</div>
<div class="wall-item-wrapper-end"></div>
<div class="wall-item-like" id="wall-item-like-$id">$like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div>
<div class="wall-item-comment-separator"></div>
<div class="wall-item-comment-wrapper" >
$comment
</div>
</div>
<div class="wall-item-outside-wrapper-end$indent" ></div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

View file

@ -0,0 +1,29 @@
@import url('../duepuntozero/style.css');
/* green variation by Tobias Diekershoff <tobias.diekershoff@gmx.net> */
a, a:visited { color: #549f4f; text-decoration: none; }
a:hover {text-decoration: underline; }
body { background-image: url(head.jpg); }
aside( background-image: url(border.jpg); }
section { background-image: url(border.jpg); }
#profile-tabs-wrapper { background-image: url(head.jpg); }
div.wall-item-content-wrapper.shiny { background-image: url('shiny.png'); }
.nav-commlink, .nav-login-link {
background-color: #aed3b2;
}
.fakelink, .fakelink:visited {
color: #549f4f;
}
.wall-item-name-link {
color: #549f4f;
}