1
1
Fork 0

Merge remote branch 'upstream/master'

This commit is contained in:
zottel 2012-04-02 08:52:24 +02:00
commit 7127626f55
115 changed files with 12740 additions and 313 deletions

View file

@ -9,9 +9,9 @@ require_once('include/nav.php');
require_once('include/cache.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_VERSION', '2.3.1297' );
define ( 'FRIENDICA_VERSION', '2.3.1299' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
define ( 'DB_UPDATE_VERSION', 1133 );
define ( 'DB_UPDATE_VERSION', 1134 );
define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@ -293,6 +293,8 @@ class App {
public $nav_sel;
public $category;
private $scheme;
private $hostname;
private $baseurl;
@ -377,6 +379,9 @@ class App {
$this->argc = count($this->argv);
if((array_key_exists('0',$this->argv)) && strlen($this->argv[0])) {
$this->module = str_replace(".", "_", $this->argv[0]);
if(array_key_exists('2',$this->argv)) {
$this->category = $this->argv[2];
}
}
else {
$this->argc = 1;
@ -984,6 +989,12 @@ function profile_sidebar($profile, $block = 0) {
if((remote_user()) && ($_SESSION['visitor_visiting'] == $profile['uid']))
$connect = False;
if(get_my_url() && $profile['unkmail'])
$wallmessage = t('Message');
else
$wallmessage = false;
// show edit profile to yourself
if ($profile['uid'] == local_user()) {
@ -1066,6 +1077,7 @@ function profile_sidebar($profile, $block = 0) {
$o .= replace_macros($tpl, array(
'$profile' => $profile,
'$connect' => $connect,
'$wallmessage' => $wallmessage,
'$location' => template_escape($location),
'$gender' => $gender,
'$pdesc' => $pdesc,
@ -1313,8 +1325,12 @@ function feed_birthday($uid,$tz) {
*
*/
$birthday = '';
if(! strlen($tz))
$tz = 'UTC';
$p = q("SELECT `dob` FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1",
intval($uid)
);

View file

@ -289,9 +289,10 @@ CREATE TABLE IF NOT EXISTS `mail` (
`convid` int(10) unsigned NOT NULL,
`title` char(255) NOT NULL,
`body` mediumtext NOT NULL,
`seen` tinyint(1) NOT NULL,
`seen` tinyint(1) NOT NULL DEFAULT '0',
`reply` tinyint(1) NOT NULL DEFAULT '0',
`replied` tinyint(1) NOT NULL,
`replied` tinyint(1) NOT NULL DEFAULT '0',
`unknown` tinyint(1) NOT NULL DEFAULT '0',
`uri` char(255) NOT NULL,
`parent-uri` char(255) NOT NULL,
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
@ -300,6 +301,7 @@ CREATE TABLE IF NOT EXISTS `mail` (
KEY `guid` (`guid`),
KEY `convid` (`convid`),
KEY `reply` (`reply`),
KEY `unknown` (`unknown`),
KEY `uri` (`uri`),
KEY `parent-uri` (`parent-uri`),
KEY `created` (`created`)
@ -453,6 +455,8 @@ CREATE TABLE IF NOT EXISTS `user` (
`blockwall` tinyint(1) unsigned NOT NULL DEFAULT '0',
`hidewall` tinyint(1) unsigned NOT NULL DEFAULT '0',
`blocktags` tinyint(1) unsigned NOT NULL DEFAULT '0',
`unkmail` tinyint(1) unsigned NOT NULL DEFAULT '0',
`cntunkmail` int(11) unsigned NOT NULL DEFAULT '10',
`notify-flags` int(11) unsigned NOT NULL DEFAULT '65535',
`page-flags` int(11) unsigned NOT NULL DEFAULT '0',
`prvnets` tinyint(1) NOT NULL DEFAULT '0',
@ -472,6 +476,8 @@ CREATE TABLE IF NOT EXISTS `user` (
KEY `account_expired` (`account_expired`),
KEY `hidewall` (`hidewall`),
KEY `blockwall` (`blockwall`),
KEY `unkmail` (`unkmail`),
KEY `cntunkmail` (`cntunkmail`),
KEY `blocked` (`blocked`),
KEY `verified` (`verified`),
KEY `login_date` (`login_date`)

View file

@ -5,6 +5,7 @@ Friendica Documentation and Resources
**Contents**
* [Account Basics](help/Account-Basics)
* [New User Quick Start](help/guide)
* [Profiles](help/Profiles)
* [Connectors](help/Connectors)
* [Making Friends](help/Making-Friends)

24
doc/andfinally.md Normal file
View file

@ -0,0 +1,24 @@
And that brings the Quick Start to an end.
Here are some more things to help get you started:
**Groups**
- <a href = "https://kakste.com/profile/newhere">New Here</a> - a group for people new to Friendica
- <a href = "http://helpers.pyxis.uberspace.de/profile/helpers">Friendica Support</a> - problems? This is the place to ask.
- <a href = "https://kakste.com/profile/public_stream">Public Stream</a> - a place to talk about anything to anyone.
- <a href = "https://letstalk.pyxis.uberspace.de/profile/letstalk">Let's Talk</a> a group for finding people and groups who share similar interests.
- <a href = "http://newzot.hydra.uberspace.de/profile/newzot">Local Friendica</a> a page for local Friendica groups</a>
**Documentation**
- <a href = "/help/Connectors">Connecting to more networks</a>
- <a href = "/help">Help Index</a>

11
doc/groupsandpages.md Normal file
View file

@ -0,0 +1,11 @@
This is the global directory. If you get lost, you can <a href = "/help/groupsandpages">click this link</a> to bring yourself back here.
On this page, you'll find a collection of groups, forums and celebrity pages. Groups are not real people. Connecting to them is similar to "liking" something on Facebook, or signing up for a new forum. You don't have to feel awkward about introducing yourself to a new person, because they're not people!
When you connect to a group, all messages to that group will start appearing in your network tab. You can comment on these posts, or post to the group yourself without ever having to add any of the groups members. This is a great way to make friends dynamically - you'll find people you like and add each other naturally instead of adding random strangers. Simply find a group you're interested in, and connect to it the same way you did with people in the last section. There are a lot of groups, and you're likely to get lost. Remember the link at the top of this page will bring you back here.
Once you've added some groups, <a href = "/help/andfinally">move on to the next section</a>.
<iframe src="http://dir.friendica.com/directory/forum" width="950" height = "600"></iframe>

13
doc/guide.md Normal file
View file

@ -0,0 +1,13 @@
First things first, let's make sure you're logged in to your account. If you're not already logged in, do so in the frame below.
Once you've logged in (or if you are already logged in), you'll now be looking at your profile page.
This is a bit like your Facebook wall. It's where all your status messgages are kept, and where your friends come to post on your wall. To write your status, simply click in the box that says "share". When you do this, the box will expand. You can see some formatting options at the top such as Bold, Italics and Underline, as well as ways to add links and pictures. At the bottom you'll find some more links. You can use these to upload pictures and files from your computer, share websites with a bit of preview text, or embed video and audio files from elsewhere on the web. You can also set your post location here.
Once you've finished writing your post, click on the padlock icon to select who can see it. If you do not use the padlock icon, your post will be public. This means it will appear to anybody who views your profile, and in the community tab if your site has it enabled, as well as in the network tab of any of your contacts.
Play around with this a bit, then when you're ready to move on, we'll take a look at the <a href = "/help/network">Network Tab</a>
<iframe src="/login" width="950" height = "600"></iframe>

11
doc/makingnewfriends.md Normal file
View file

@ -0,0 +1,11 @@
This is your Suggested Friends page. If you get lost, you can <a href = "/help/makenewfriends">click this link</a> to bring yourself back here.
This is a bit like the Friend Suggestions page of Facebook. Everybody on this list has agreed that they may be suggested as a friend. This means they're unlikely to refuse an introduction you send, and they want to meet new people too!
See somebody you like the look of? Click the connect button beneath their photograph. This will bring you to the introductions page. Fill in the form as instructed, and add a small note (optional). Now, wait a bit and they'll accept your request - note that these are real people, and it might take a while. Now you've added one, you're probably lost. Click the link at the top of this page to go back to the suggested friends list and add some more.
Feel uncomfortable adding people you don't know? Don't worry - that's where <a href = "/help/groupsandpages">Groups and Pages</a> come in!
<iframe src="/suggest" width="950" height = "600"></iframe>

9
doc/network.md Normal file
View file

@ -0,0 +1,9 @@
This is your Network Tab. If you get lost, you can <a href = "/help/network">click this link</a> to bring yourself back here.
This is a bit like the Newsfeed at Facebook or the Stream at Diaspora. It's where all the posts from your contacts, groups, and feeds will appear. If you're new, you won't see anything in this page, unless you posted your status in the last step. If you've already added a few friends, you'll be able to see their posts. Here, you can comment, like, or dislike posts, or click on somebody's name to visit their profile page where you can write on their wall.
Now we need to fill it up, the first step, is to <a href = "/help/peopleyouknow"> add people you already know from Facebook</a>.
<iframe src="/network" width="950" height = "600"></iframe>

13
doc/peopleyouknow.md Normal file
View file

@ -0,0 +1,13 @@
This is your connector settings page. If you get lost, you can <a href = "/help/network">click this link</a> to bring yourself back here.
This is the bit that makes Friendica unique. You can connect to <i>anybody on the internet</i> from your Friendica account using this page! The available connectors varies depending on which plugins you have installed, but for now, we'll walk you through Facebook. Note that not all servers have the Facebook connector installed. If you can't find it in the list below, don't worry, we'll look at ways of connecting to more people in the following pages.
The biggest of all social networks is Facebook. Fortunately, this connector is really easy. Scroll down the page, and click Facebook Connector Settings. Enter your Facebook user name and password and let the application (the connector) do everything the options suggest. You can <a href = "https://github.com/friendica/friendica/wiki/How-to:-Friendica%E2%80%99s-Facebook-connector" target="new">fine tune this</a> or experiment with the other connectors too. If you need help, you can always ask at <a href = "http://helpers.pyxis.uberspace.de/profile/helpers" target="new">Friendica Support</a> or <a href = "/help/Connectors" target="new">see the instructions here</a>.
When you're ready, we can move on to <a href = "/help/makingnewfriends">making new friends</a>.
<iframe src="/settings/connectors" width="950" height = "600"></iframe>

View file

@ -83,7 +83,7 @@
$record = $r[0];
} else {
logger('API_login failure: ' . print_r($_SERVER,true), LOGGER_DEBUG);
header('WWW-Authenticate: Basic realm="Friendika"');
header('WWW-Authenticate: Basic realm="Friendica"');
header('HTTP/1.0 401 Unauthorized');
die('This api requires login');
}

View file

@ -87,7 +87,7 @@ function fileas_widget($baseurl,$selected = '') {
$cnt = preg_match_all('/\[(.*?)\]/',$saved,$matches,PREG_SET_ORDER);
if($cnt) {
foreach($matches as $mtch) {
$unescaped = file_tag_decode($mtch[1]);
$unescaped = xmlify(file_tag_decode($mtch[1]));
$terms[] = array('name' => $unescaped,'selected' => (($selected == $unescaped) ? 'selected' : ''));
}
}
@ -103,3 +103,31 @@ function fileas_widget($baseurl,$selected = '') {
));
}
function categories_widget($baseurl,$selected = '') {
$a = get_app();
$saved = get_pconfig($a->profile['profile_uid'],'system','filetags');
if(! strlen($saved))
return;
$matches = false;
$terms = array();
$cnt = preg_match_all('/<(.*?)>/',$saved,$matches,PREG_SET_ORDER);
if($cnt) {
foreach($matches as $mtch) {
$unescaped = xmlify(file_tag_decode($mtch[1]));
$terms[] = array('name' => $unescaped,'selected' => (($selected == $unescaped) ? 'selected' : ''));
}
}
return replace_macros(get_markup_template('categories_widget.tpl'),array(
'$title' => t('Categories'),
'$desc' => '',
'$sel_all' => (($selected == '') ? 'selected' : ''),
'$all' => t('Everything'),
'$terms' => $terms,
'$base' => $baseurl,
));
}

View file

@ -250,7 +250,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$threads = array();
$threadsid = -1;
if(count($items)) {
if($items && count($items)) {
if($mode === 'network-new' || $mode === 'search' || $mode === 'community') {
@ -974,6 +974,8 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
'$shortnoloc' => t('clear location'),
'$title' => "",
'$placeholdertitle' => t('Set title'),
'$category' => "",
'$placeholdercategory' => t('Categories (comma-separated list)'),
'$wait' => t('Please wait'),
'$permset' => t('Permission settings'),
'$shortpermset' => t('permissions'),

View file

@ -1920,6 +1920,7 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
$images = array();
$title = $item['title'];
$body = $item['body'];
/*
@ -1944,9 +1945,12 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
}
}
*/
$body = xmlify(html_entity_decode(bb2diaspora($body)));
if(strlen($title))
$body = xmlify('**' . html_entity_decode($title) . '**' . "\n") . $body;
if($item['attach']) {
$cnt = preg_match_all('/href=\"(.*?)\"(.*?)title=\"(.*?)\"/ism',$item['attach'],$matches,PREG_SET_ORDER);
if(cnt) {

View file

@ -416,7 +416,7 @@ function get_atom_elements($feed,$item) {
// the wild, by sanitising it and converting supported tags to bbcode before we rip out any remaining
// html.
if((strpos($res['body'],'<') !== false) || (strpos($res['body'],'>') !== false)) {
if((strpos($res['body'],'<') !== false) && (strpos($res['body'],'>') !== false)) {
$res['body'] = reltoabs($res['body'],$base_url);
@ -429,13 +429,21 @@ function get_atom_elements($feed,$item) {
// we shouldn't need a whitelist, because the bbcode converter
// will strip out any unsupported tags.
// $config->set('HTML.Allowed', 'p,b,a[href],i');
$purifier = new HTMLPurifier($config);
$res['body'] = $purifier->purify($res['body']);
$res['body'] = html2bbcode($res['body']);
$res['body'] = @html2bbcode($res['body']);
}
elseif(! $have_real_body) {
// it's not one of our messages and it has no tags
// so it's probably just text. We'll escape it just to be safe.
$res['body'] = escape_tags($res['body']);
}
// this tag is obsolete but we keep it for really old sites
$allow = $item->get_item_tags(NAMESPACE_DFRN,'comment-allow');
if($allow && $allow[0]['data'] == 1)

View file

@ -1,4 +1,5 @@
<?php
// send a private message
@ -155,3 +156,87 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
}
}
function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){
$a = get_app();
if(! $recipient) return -1;
if(! strlen($subject))
$subject = t('[no subject]');
$hash = random_string();
$uri = 'urn:X-dfrn:' . $a->get_baseurl() . ':' . local_user() . ':' . $hash ;
$convid = 0;
$reply = false;
require_once('include/Scrape.php');
$me = probe_url($replyto);
if(! $me['name'])
return -2;
$conv_guid = get_guid();
$recip_handle = $recipient['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
$sender_nick = basename($replyto);
$sender_host = substr($replyto,strpos($replyto,'://')+3);
$sender_host = substr($sender_host,0,strpos($sender_host,'/'));
$sender_handle = $sender_nick . '@' . $sender_host;
$handles = $recip_handle . ';' . $sender_handle;
$r = q("insert into conv (uid,guid,creator,created,updated,subject,recips) values(%d, '%s', '%s', '%s', '%s', '%s', '%s') ",
intval(local_user()),
dbesc($conv_guid),
dbesc($sender_handle),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc($subject),
dbesc($handles)
);
$r = q("select * from conv where guid = '%s' and uid = %d limit 1",
dbesc($conv_guid),
intval($recipient['uid'])
);
if(count($r))
$convid = $r[0]['id'];
if(! $convid) {
logger('send message: conversation not found.');
return -4;
}
$r = q("INSERT INTO `mail` ( `uid`, `guid`, `convid`, `from-name`, `from-photo`, `from-url`,
`contact-id`, `title`, `body`, `seen`, `reply`, `replied`, `uri`, `parent-uri`, `created`, `unknown`)
VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, %d, '%s', '%s', '%s', %d )",
intval($recipient['uid']),
dbesc(get_guid()),
intval($convid),
dbesc($me['name']),
dbesc($me['photo']),
dbesc($me['url']),
0,
dbesc($subject),
dbesc($body),
0,
0,
0,
dbesc($uri),
dbesc($replyto),
datetime_convert(),
1
);
return 0;
}

View file

@ -364,6 +364,9 @@ function lrdd($uri, $debug = false) {
logger('lrdd: host_meta: ' . $xml, LOGGER_DATA);
if(! stristr($xml,'<xrd'))
return array();
$h = parse_xml_string($xml);
if(! $h)
return array();

View file

@ -205,7 +205,6 @@ function hex2bin($s) {
return '';
if(! ctype_xdigit($s)) {
logger('hex2bin: illegal input: ' . print_r(debug_backtrace(), true));
return($s);
}
@ -726,6 +725,8 @@ function smilies($s, $sample = false) {
'\\o/',
'o.O',
'O.o',
'o_O',
'O_o',
":'(",
":-!",
":-/",
@ -760,6 +761,8 @@ function smilies($s, $sample = false) {
'<img src="' . $a->get_baseurl() . '/images/smiley-thumbsup.gif" alt="\\o/" />',
'<img src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="o.O" />',
'<img src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="O.o" />',
'<img src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="o_O" />',
'<img src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="O_o" />',
'<img src="' . $a->get_baseurl() . '/images/smiley-cry.gif" alt=":\'(" />',
'<img src="' . $a->get_baseurl() . '/images/smiley-foot-in-mouth.gif" alt=":-!" />',
'<img src="' . $a->get_baseurl() . '/images/smiley-undecided.gif" alt=":-/" />',
@ -921,7 +924,7 @@ function prepare_body($item,$attach = false) {
foreach($matches as $mtch) {
if(strlen($x))
$x .= ',';
$x .= file_tag_decode($mtch[1]);
$x .= xmlify(file_tag_decode($mtch[1]));
}
if(strlen($x))
$s .= '<div class="categorytags"><span>' . t('Categories:') . ' </span>' . $x . '</div>';
@ -936,7 +939,7 @@ function prepare_body($item,$attach = false) {
foreach($matches as $mtch) {
if(strlen($x))
$x .= '&nbsp;&nbsp;&nbsp;';
$x .= file_tag_decode($mtch[1]). ' <a href="' . $a->get_baseurl() . '/filerm/' . $item['id'] . '?f=&term=' . file_tag_decode($mtch[1]) . '" title="' . t('remove') . '" >' . t('[remove]') . '</a>';
$x .= xmlify(file_tag_decode($mtch[1])) . ' <a href="' . $a->get_baseurl() . '/filerm/' . $item['id'] . '?f=&term=' . xmlify(file_tag_decode($mtch[1])) . '" title="' . t('remove') . '" >' . t('[remove]') . '</a>';
}
if(strlen($x) && (local_user() == $item['uid']))
$s .= '<div class="filesavetags"><span>' . t('Filed under:') . ' </span>' . $x . '</div>';
@ -1307,13 +1310,126 @@ function file_tag_decode($s) {
}
function file_tag_file_query($table,$s,$type = 'file') {
if($type == 'file')
$str = preg_quote( '[' . file_tag_encode($s) . ']' );
$str = preg_quote( '[' . str_replace('%','%%',file_tag_encode($s)) . ']' );
else
$str = preg_quote( '<' . file_tag_encode($s) . '>' );
$str = preg_quote( '<' . str_replace('%','%%',file_tag_encode($s)) . '>' );
return " AND " . (($table) ? dbesc($table) . '.' : '') . "file regexp '" . dbesc($str) . "' ";
}
// ex. given music,video return <music><video> or [music][video]
function file_tag_list_to_file($list,$type = 'file') {
$tag_list = '';
if(strlen($list)) {
$list_array = explode(",",$list);
if($type == 'file') {
$lbracket = '[';
$rbracket = ']';
}
else {
$lbracket = '<';
$rbracket = '>';
}
foreach($list_array as $item) {
if(strlen($item)) {
$tag_list .= $lbracket . file_tag_encode(trim($item)) . $rbracket;
}
}
}
return $tag_list;
}
// ex. given <music><video>[friends], return music,video or friends
function file_tag_file_to_list($file,$type = 'file') {
$matches = false;
$list = '';
if($type == 'file') {
$cnt = preg_match_all('/\[(.*?)\]/',$file,$matches,PREG_SET_ORDER);
}
else {
$cnt = preg_match_all('/<(.*?)>/',$file,$matches,PREG_SET_ORDER);
}
if($cnt) {
foreach($matches as $mtch) {
if(strlen($list))
$list .= ',';
$list .= file_tag_decode($mtch[1]);
}
}
return $list;
}
function file_tag_update_pconfig($uid,$file_old,$file_new,$type = 'file') {
// $file_old - categories previously associated with an item
// $file_new - new list of categories for an item
if(! intval($uid))
return false;
if($file_old == $file_new)
return true;
$saved = get_pconfig($uid,'system','filetags');
if(strlen($saved)) {
if($type == 'file') {
$lbracket = '[';
$rbracket = ']';
}
else {
$lbracket = '<';
$rbracket = '>';
}
$filetags_updated = $saved;
// check for new tags to be added as filetags in pconfig
$new_tags = array();
$check_new_tags = explode(",",file_tag_file_to_list($file_new,$type));
foreach($check_new_tags as $tag) {
if(! stristr($saved,$lbracket . file_tag_encode($tag) . $rbracket))
$new_tags[] = $tag;
}
$filetags_updated .= file_tag_list_to_file(implode(",",$new_tags),$type);
// check for deleted tags to be removed from filetags in pconfig
$deleted_tags = array();
$check_deleted_tags = explode(",",file_tag_file_to_list($file_old,$type));
foreach($check_deleted_tags as $tag) {
if(! stristr($file_new,$lbracket . file_tag_encode($tag) . $rbracket))
$deleted_tags[] = $tag;
}
foreach($deleted_tags as $key => $tag) {
$r = q("select file from item where uid = %d " . file_tag_file_query('item',$tag,$type),
intval($uid)
);
if(count($r)) {
unset($deleted_tags[$key]);
}
else {
$filetags_updated = str_replace($lbracket . file_tag_encode($tag) . $rbracket,'',$filetags_updated);
}
}
if($saved != $filetags_updated) {
set_pconfig($uid,'system','filetags', $filetags_updated);
}
return true;
}
else
if(strlen($file_new)) {
set_pconfig($uid,'system','filetags', $file_new);
}
return true;
}
function file_tag_save_file($uid,$item,$file) {
$result = false;
if(! intval($uid))

View file

@ -243,6 +243,8 @@ if (file_exists($theme_info_file)){
if(! x($a->page,'content'))
$a->page['content'] = '';
if(! $install)
call_hooks('page_content_top',$a->page['content']);
/**
* Call module functions

View file

@ -16,6 +16,7 @@
document.getElementById(theID).style.display = "none"
}
var src = null;
var prev = null;
var livetime = null;
@ -88,10 +89,12 @@
return false;
});
$('html').click(function() {
last_popup_menu.hide();
last_popup_button.removeClass("selected");
last_popup_menu = null;
last_popup_button = null;
if(last_popup_menu) {
last_popup_menu.hide();
last_popup_button.removeClass("selected");
last_popup_menu = null;
last_popup_button = null;
}
});
// fancyboxes
@ -166,6 +169,12 @@
NavUpdate();
// Allow folks to stop the ajax page updates with the pause/break key
$(document).keydown(function(event) {
if(event.keyCode == '8') {
var target = event.target || event.srcElement;
if (!/input|textarea/i.test(target.nodeName)) {
return false;
}
}
if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) {
event.preventDefault();
if(stopped == false) {

View file

@ -1,4 +1,8 @@
In order to make TinyMCE work smoothly with Friendica, the files in this directory are those few files we've changed in TinyMCE. We will attempt to keep them current, but if you decide to upgrade tinymce, it is best to save current copies of the files in question from the active tinymce tree and replace them or merge them after upgrade.
Except for some simple theming, the primary changes are the advanced theme icon set, which we changed the "html" icon to "[]" to represent BBcode, and major changes have been made to the bbcode plugin.
in TinyMCE 3.5b2 it appears that we are getting double linefeeds. Code has been put in place in mod/item.php and mod/message.php to reduce the duplicates.

View file

@ -664,8 +664,8 @@ function dfrn_request_content(&$a) {
else
$tpl = get_markup_template('auto_request.tpl');
$page_desc = sprintf( t('Diaspora members: Please do not use this form. Instead, enter "%s" into your Diaspora search bar.'),
$target_addr) . EOL . EOL;
# $page_desc = sprintf( t('Diaspora members: Please do not use this form. Instead, enter "%s" into your Diaspora search bar.'),
# $target_addr) . EOL . EOL;
$page_desc .= t("Please enter your 'Identity Address' from one of the following supported communications networks:");
@ -699,7 +699,7 @@ function dfrn_request_content(&$a) {
'$friendica' => t('Friendica'),
'$statusnet' => t('StatusNet/Federated Social Web'),
'$diaspora' => t('Diaspora'),
'$diasnote' => t('- please share from your own site as noted above'),
'$diasnote' => sprintf (t(' - please do not use this form. Instead, enter %s into your Diaspora search bar.'),$target_addr),
'$your_address' => t('Your Identity Address:'),
'$invite_desc' => $invite_desc,
'$emailnet' => $emailnet,

View file

@ -115,6 +115,8 @@ function editpost_content(&$a) {
'$jotnets' => $jotnets,
'$title' => $itm[0]['title'],
'$placeholdertitle' => t('Set title'),
'$category' => file_tag_file_to_list($itm[0]['file'], 'category'),
'$placeholdercategory' => t('Categories (comma-separated list)'),
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $lockstate,
'$acl' => '', // populate_acl((($group) ? $group_acl : $a->user), $celeb),

View file

@ -11,8 +11,8 @@ function filer_content(&$a) {
killme();
}
$term = notags(trim($_GET['term']));
$item_id = (($a->argc > 1) ? notags(trim($a->argv[1])) : 0);
$term = unxmlify(trim($_GET['term']));
$item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
logger('filer: tag ' . $term . ' item ' . $item_id);

View file

@ -6,8 +6,8 @@ function filerm_content(&$a) {
killme();
}
$term = notags(trim($_GET['term']));
$item_id = (($a->argc > 1) ? notags(trim($a->argv[1])) : 0);
$term = unxmlify(trim($_GET['term']));
$item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
logger('filerm: tag ' . $term . ' item ' . $item_id);

View file

@ -216,8 +216,6 @@ function item_post(&$a) {
$emailcc = notags(trim($_REQUEST['emailcc']));
$body = escape_tags(trim($_REQUEST['body']));
// $categories = TODO
$private = ((strlen($str_group_allow) || strlen($str_contact_allow) || strlen($str_group_deny) || strlen($str_contact_deny)) ? 1 : 0);
if(($parent_item) &&
@ -255,6 +253,19 @@ function item_post(&$a) {
}
}
if(strlen($categories)) {
// get the "fileas" tags for this post
$filedas = file_tag_file_to_list($categories, 'file');
}
// save old and new categories, so we can determine what needs to be deleted from pconfig
$categories_old = $categories;
$categories = file_tag_list_to_file(trim($_REQUEST['category']), 'category');
$categories_new = $categories;
if(strlen($filedas)) {
// append the fileas stuff to the new categories list
$categories .= file_tag_list_to_file($filedas, 'file');
}
// Work around doubled linefeeds in Tinymce 3.5b2
// First figure out if it's a status post that would've been
// created using tinymce. Otherwise leave it alone.
@ -572,6 +583,9 @@ function item_post(&$a) {
intval($profile_uid)
);
// update filetags in pconfig
file_tag_update_pconfig($uid,$categories_old,$categories_new,'category');
proc_run('php', "include/notifier.php", 'edit_post', "$post_id");
if((x($_REQUEST,'return')) && strlen($return_path)) {
logger('return: ' . $return_path);
@ -585,8 +599,8 @@ function item_post(&$a) {
$r = q("INSERT INTO `item` (`guid`, `uid`,`type`,`wall`,`gravity`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`,
`author-name`, `author-link`, `author-avatar`, `created`, `edited`, `commented`, `received`, `changed`, `uri`, `thr-parent`, `title`, `body`, `app`, `location`, `coord`,
`tag`, `inform`, `verb`, `postopts`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private`, `pubmail`, `attach`, `bookmark`,`origin`, `moderated` )
VALUES( '%s', %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d )",
`tag`, `inform`, `verb`, `postopts`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private`, `pubmail`, `attach`, `bookmark`,`origin`, `moderated`, `file` )
VALUES( '%s', %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, '%s' )",
dbesc($datarray['guid']),
intval($datarray['uid']),
dbesc($datarray['type']),
@ -624,8 +638,9 @@ function item_post(&$a) {
dbesc($datarray['attach']),
intval($datarray['bookmark']),
intval($datarray['origin']),
intval($datarray['moderated'])
);
intval($datarray['moderated']),
dbesc($datarray['file'])
);
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' LIMIT 1",
dbesc($datarray['uri']));
@ -633,6 +648,9 @@ function item_post(&$a) {
$post_id = $r[0]['id'];
logger('mod_item: saved item ' . $post_id);
// update filetags in pconfig
file_tag_update_pconfig($uid,$categories_old,$categories_new,'category');
if($parent) {
// This item is the last leaf and gets the comment box, clear any ancestors

View file

@ -192,15 +192,12 @@ function message_content(&$a) {
return $o;
}
if(($a->argc == 1) || ($a->argc == 2 && $a->argv[1] === 'sent')) {
if($a->argc == 1) {
// list messages
$o .= $header;
if($a->argc == 2)
$eq = sprintf( "AND `from-url` = '%s'", dbesc($myprofile));
else
$eq = '';
$r = q("SELECT count(*) AS `total` FROM `mail`
WHERE `mail`.`uid` = %d AND `from-url` $eq '%s' GROUP BY `parent-uri` ORDER BY `created` DESC",
intval(local_user()),
@ -213,7 +210,7 @@ function message_content(&$a) {
`mail`.* , `contact`.`name`, `contact`.`url`, `contact`.`thumb` , `contact`.`network`,
count( * ) as count
FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id`
WHERE `mail`.`uid` = %d $eq GROUP BY `parent-uri` ORDER BY `mailcreated` DESC LIMIT %d , %d ",
WHERE `mail`.`uid` = %d GROUP BY `parent-uri` ORDER BY `mailcreated` DESC LIMIT %d , %d ",
intval(local_user()),
//
intval($a->pager['start']),
@ -226,9 +223,13 @@ function message_content(&$a) {
$tpl = get_markup_template('mail_list.tpl');
foreach($r as $rr) {
if ($rr['from-url'] == $myprofile){
if($rr['unknown']) {
$partecipants = sprintf( t("Unknown sender - %s"),$rr['from-name']);
}
elseif (link_compare($rr['from-url'],$myprofile)){
$partecipants = sprintf( t("You and %s"), $rr['name']);
} else {
}
else {
$partecipants = sprintf( t("%s and You"), $rr['from-name']);
}
@ -237,7 +238,7 @@ function message_content(&$a) {
'$from_name' => $partecipants,
'$from_url' => (($rr['network'] === NETWORK_DFRN) ? $a->get_baseurl(true) . '/redir/' . $rr['contact-id'] : $rr['url']),
'$sparkle' => ' sparkle',
'$from_photo' => $rr['thumb'],
'$from_photo' => (($rr['thumb']) ? $rr['thumb'] : $rr['from-photo']),
'$subject' => template_escape((($rr['mailseen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>')),
'$delete' => t('Delete conversation'),
'$body' => template_escape($rr['body']),
@ -300,7 +301,11 @@ function message_content(&$a) {
$mails = array();
$seen = 0;
$unknown = false;
foreach($messages as $message) {
if($message['unknown'])
$unknown = true;
if($message['from-url'] == $myprofile) {
$from_url = $myprofile;
$sparkle = '';
@ -326,7 +331,7 @@ function message_content(&$a) {
}
$select = $message['name'] . '<input type="hidden" name="messageto" value="' . $contact_id . '" />';
$parent = '<input type="hidden" name="replyto" value="' . $message['parent-uri'] . '" />';
$tpl = get_markup_template('mail_display.tpl');
$o = replace_macros($tpl, array(
@ -334,7 +339,8 @@ function message_content(&$a) {
'$thread_subject' => $message['title'],
'$thread_seen' => $seen,
'$delete' => t('Delete conversation'),
'$canreply' => (($unknown) ? false : '1'),
'$unknown_text' => t("No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."),
'$mails' => $mails,
// reply

View file

@ -393,7 +393,7 @@ function network_content(&$a, $update = 0) {
);
}
if(strlen($file)) {
$sql_extra .= file_tag_file_query('item',$file);
$sql_extra .= file_tag_file_query('item',unxmlify($file));
}
if($conv) {

View file

@ -13,6 +13,8 @@ function newmember_content(&$a) {
$o .= '<ul>';
$o .= '<li>' . '<a target="newmember" href="/help/guide">' . t('On your <em>Quick Start</em> page - find a brief introduction to your profile and network tabs, connect to Facebook, make some new connections, and find some groups to join.') . '</a></li>' . EOL;
$o .= '<li>' . '<a target="newmember" href="settings">' . t('On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web.') . '</a></li>' . EOL;
$o .= '<li>' . '<a target="newmember" href="settings">' . t('Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you.') . '</a></li>' . EOL;

View file

@ -2,6 +2,11 @@
function profile_init(&$a) {
require_once('include/contact_widgets.php');
if(! x($a->page,'aside'))
$a->page['aside'] = '';
$blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
if($a->argc > 1)
@ -59,6 +64,13 @@ function profile_init(&$a) {
function profile_content(&$a, $update = 0) {
if (x($a->category)) {
$category = $a->category;
}
else {
$category = ((x($_GET,'category')) ? $_GET['category'] : '');
}
if(get_config('system','block_public') && (! local_user()) && (! remote_user())) {
return login();
}
@ -112,7 +124,8 @@ function profile_content(&$a, $update = 0) {
return;
}
$a->page['aside'] .= categories_widget($a->get_baseurl(true) . '/profile/' . $a->profile['nickname'],(x($category) ? xmlify($category) : ''));
if(! $update) {
if(x($_GET,'tab'))
$tab = notags(trim($_GET['tab']));
@ -135,6 +148,7 @@ function profile_content(&$a, $update = 0) {
$celeb = ((($a->profile['page-flags'] == PAGE_SOAPBOX) || ($a->profile['page-flags'] == PAGE_COMMUNITY)) ? true : false);
if(can_write_wall($a,$a->profile['profile_uid'])) {
$x = array(
@ -178,6 +192,10 @@ function profile_content(&$a, $update = 0) {
}
else {
if(x($category)) {
$sql_extra .= file_tag_file_query('item',$category,'category');
}
$r = q("SELECT COUNT(*) AS `total`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
@ -204,6 +222,7 @@ function profile_content(&$a, $update = 0) {
intval($a->profile['profile_uid'])
);
}
$parents_arr = array();

View file

@ -8,6 +8,8 @@ function register_post(&$a) {
$verified = 0;
$blocked = 1;
$arr = array('post' => $_POST);
call_hooks('register_post', $arr);
$max_dailies = intval(get_config('system','max_daily_registrations'));
if($max_dailes) {
@ -218,8 +220,8 @@ function register_post(&$a) {
$spubkey = $spkey["key"];
$r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`,
`pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked` )
VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )",
`pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked`, `timezone` )
VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, 'UTC' )",
dbesc(generate_user_guid()),
dbesc($username),
dbesc($new_password_encoded),
@ -540,6 +542,11 @@ function register_content(&$a) {
$license = '';
$o = get_markup_template("register.tpl");
$arr = array('template' => $o);
call_hooks('register_form',$arr);
$o = replace_macros($o, array(
'$oidhtml' => $oidhtml,
'$invitations' => get_config('system','invitation_only'),

View file

@ -97,19 +97,16 @@ function search_content(&$a) {
// OR your own posts if you are a logged in member
// No items will be shown if the member has a blocked profile wall.
$s_regx = sprintf("AND ( `item`.`body` REGEXP '%s' OR `item`.`tag` REGEXP '%s' )",
dbesc(preg_quote($search)), dbesc('\\]' . preg_quote($search) . '\\['));
$search_alg = $s_regx;
$r = q("SELECT COUNT(*) AS `total`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` LEFT JOIN `user` ON `user`.`uid` = `item`.`uid`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
AND (( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND `item`.`private` = 0 AND `user`.`hidewall` = 0)
OR `item`.`uid` = %d )
AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
$search_alg ",
intval(local_user())
AND ( `item`.`body` REGEXP '%s' OR `item`.`tag` REGEXP '%s' )",
intval(local_user()),
dbesc(preg_quote($search)),
dbesc('\\]' . preg_quote($search) . '\\[')
);
if(count($r))
@ -131,9 +128,11 @@ function search_content(&$a) {
AND (( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND `item`.`private` = 0 AND `user`.`hidewall` = 0 )
OR `item`.`uid` = %d )
AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
$search_alg
AND ( `item`.`body` REGEXP '%s' OR `item`.`tag` REGEXP '%s' )
ORDER BY `received` DESC LIMIT %d , %d ",
intval(local_user()),
dbesc(preg_quote($search)),
dbesc('\\]' . preg_quote($search) . '\\['),
intval($a->pager['start']),
intval($a->pager['itemspage'])

View file

@ -303,7 +303,8 @@ function settings_post(&$a) {
$page_flags = (((x($_POST,'page-flags')) && (intval($_POST['page-flags']))) ? intval($_POST['page-flags']) : 0);
$blockwall = (((x($_POST,'blockwall')) && (intval($_POST['blockwall']) == 1)) ? 0: 1); // this setting is inverted!
$blocktags = (((x($_POST,'blocktags')) && (intval($_POST['blocktags']) == 1)) ? 0: 1); // this setting is inverted!
$unkmail = (((x($_POST,'unkmail')) && (intval($_POST['unkmail']) == 1)) ? 1: 0);
$cntunkmail = ((x($_POST,'cntunkmail')) ? intval($_POST['cntunkmail']) : 0);
$suggestme = ((x($_POST,'suggestme')) ? intval($_POST['suggestme']) : 0);
$hide_friends = (($_POST['hide-friends'] == 1) ? 1: 0);
$hidewall = (($_POST['hidewall'] == 1) ? 1: 0);
@ -391,7 +392,7 @@ function settings_post(&$a) {
set_pconfig(local_user(),'system','suggestme', $suggestme);
$r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `maxreq` = %d, `expire` = %d, `openidserver` = '%s', `blockwall` = %d, `hidewall` = %d, `blocktags` = %d WHERE `uid` = %d LIMIT 1",
$r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `maxreq` = %d, `expire` = %d, `openidserver` = '%s', `blockwall` = %d, `hidewall` = %d, `blocktags` = %d, `unkmail` = %d, `cntunkmail` = %d WHERE `uid` = %d LIMIT 1",
dbesc($username),
dbesc($email),
dbesc($openid),
@ -410,6 +411,8 @@ function settings_post(&$a) {
intval($blockwall),
intval($hidewall),
intval($blocktags),
intval($unkmail),
intval($cntunkmail),
intval(local_user())
);
if($r)
@ -760,17 +763,19 @@ function settings_content(&$a) {
if(count($p))
$profile = $p[0];
$username = $a->user['username'];
$email = $a->user['email'];
$nickname = $a->user['nickname'];
$timezone = $a->user['timezone'];
$notify = $a->user['notify-flags'];
$defloc = $a->user['default-location'];
$openid = $a->user['openid'];
$maxreq = $a->user['maxreq'];
$expire = ((intval($a->user['expire'])) ? $a->user['expire'] : '');
$blockwall = $a->user['blockwall'];
$blocktags = $a->user['blocktags'];
$username = $a->user['username'];
$email = $a->user['email'];
$nickname = $a->user['nickname'];
$timezone = $a->user['timezone'];
$notify = $a->user['notify-flags'];
$defloc = $a->user['default-location'];
$openid = $a->user['openid'];
$maxreq = $a->user['maxreq'];
$expire = ((intval($a->user['expire'])) ? $a->user['expire'] : '');
$blockwall = $a->user['blockwall'];
$blocktags = $a->user['blocktags'];
$unkmail = $a->user['unkmail'];
$cntunkmail = $a->user['cntunkmail'];
$expire_items = get_pconfig(local_user(), 'expire','items');
$expire_items = (($expire_items===false)? '1' : $expire_items); // default if not set: 1
@ -870,6 +875,12 @@ function settings_content(&$a) {
));
$unkmail = replace_macros($opt_tpl,array(
'$field' => array('unkmail', t('Permit unknown people to send you private mail?'), $unkmail, '', array(t('No'),t('Yes'))),
));
$invisible = (((! $profile['publish']) && (! $profile['net-publish']))
? true : false);
@ -946,7 +957,8 @@ function settings_content(&$a) {
'$profile_in_net_dir' => $profile_in_net_dir,
'$hide_friends' => $hide_friends,
'$hide_wall' => $hide_wall,
'$unkmail' => $unkmail,
'$cntunkmail' => array('cntunkmail', t('Maximum private messages per day from unknown people:'), $cntunkmail ,t("\x28to prevent spam abuse\x29")),
'$h_not' => t('Notification Settings'),

View file

@ -9,7 +9,8 @@ function view_init($a){
if ($a->argc == 4){
$theme = $a->argv[2];
$THEMEPATH = "view/theme/$theme";
require_once("view/theme/$theme/style.php");
if(file_exists("view/theme/$theme/style.php"))
require_once("view/theme/$theme/style.php");
}
killme();

149
mod/wallmessage.php Normal file
View file

@ -0,0 +1,149 @@
<?php
require_once('include/message.php');
function wallmessage_post(&$a) {
$replyto = get_my_url();
if(! $replyto) {
notice( t('Permission denied.') . EOL);
return;
}
$subject = ((x($_REQUEST,'subject')) ? notags(trim($_REQUEST['subject'])) : '');
$body = ((x($_REQUEST,'body')) ? escape_tags(trim($_REQUEST['body'])) : '');
$recipient = (($a->argc > 1) ? notags($a->argv[1]) : '');
if((! $recipient) || (! $body)) {
return;
}
$r = q("select * from user where nickname = '%s' limit 1",
dbesc($recipient)
);
if(! count($r)) {
logger('wallmessage: no recipient');
return;
}
$user = $r[0];
if(! intval($user['unkmail'])) {
notice( t('Permission denied.') . EOL);
return;
}
$r = q("select count(*) as total from mail where uid = %d and created > UTC_TIMESTAMP() - INTERVAL 1 day and unknown = 1",
intval($user['uid'])
);
if($r[0]['total'] > $user['cntunkmail']) {
notice( sprintf( t('Number of daily wall messages for %s exceeded. Message failed.', $user['username'])));
return;
}
// Work around doubled linefeeds in Tinymce 3.5b2
dbg(1);
$body = str_replace("\r\n","\n",$body);
$body = str_replace("\n\n","\n",$body);
$ret = send_wallmessage($user, $body, $subject, $replyto);
switch($ret){
case -1:
notice( t('No recipient selected.') . EOL );
break;
case -2:
notice( t('Unable to check your home location.') . EOL );
break;
case -3:
notice( t('Message could not be sent.') . EOL );
break;
case -4:
notice( t('Message collection failure.') . EOL );
break;
default:
info( t('Message sent.') . EOL );
}
dbg(0);
// goaway($a->get_baseurl() . '/profile/' . $user['nickname']);
}
function wallmessage_content(&$a) {
if(! get_my_url()) {
notice( t('Permission denied.') . EOL);
return;
}
$recipient = (($a->argc > 1) ? $a->argv[1] : '');
if(! $recipient) {
notice( t('No recipient.') . EOL);
return;
}
$r = q("select * from user where nickname = '%s' limit 1",
dbesc($recipient)
);
if(! count($r)) {
notice( t('No recipient.') . EOL);
logger('wallmessage: no recipient');
return;
}
$user = $r[0];
if(! intval($user['unkmail'])) {
notice( t('Permission denied.') . EOL);
return;
}
$r = q("select count(*) as total from mail where uid = %d and created > UTC_TIMESTAMP() - INTERVAL 1 day and unknown = 1",
intval($user['uid'])
);
if($r[0]['total'] > $user['cntunkmail']) {
notice( sprintf( t('Number of daily wall messages for %s exceeded. Message failed.', $user['username'])));
return;
}
$tpl = get_markup_template('wallmsg-header.tpl');
$a->page['htmlhead'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(true),
'$editselect' => '/(profile-jot-text|prvmail-text)/',
'$nickname' => $user['nickname'],
'$linkurl' => t('Please enter a link URL:')
));
$tpl = get_markup_template('wallmessage.tpl');
$o .= replace_macros($tpl,array(
'$header' => t('Send Private Message'),
'$subheader' => sprintf( t('If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders.'), $user['username']),
'$to' => t('To:'),
'$subject' => t('Subject:'),
'$recipname' => $user['username'],
'$nickname' => $user['nickname'],
'$subjtxt' => ((x($_REQUEST,'subject')) ? strip_tags($_REQUEST['subject']) : ''),
'$text' => ((x($_REQUEST,'body')) ? escape_tags(htmlspecialchars($_REQUEST['body'])) : ''),
'$readonly' => '',
'$yourmessage' => t('Your message:'),
'$select' => $select,
'$parent' => '',
'$upload' => t('Upload photo'),
'$insert' => t('Insert web link'),
'$wait' => t('Please wait')
));
return $o;
}

View file

@ -1,6 +1,6 @@
<?php
define( 'UPDATE_VERSION' , 1133 );
define( 'UPDATE_VERSION' , 1134 );
/**
*
@ -1136,3 +1136,8 @@ INDEX ( `username` )
}
function update_1133() {
q("ALTER TABLE `user` ADD `unkmail` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `blocktags` , ADD INDEX ( `unkmail` ) ");
q("ALTER TABLE `user` ADD `cntunkmail` INT NOT NULL DEFAULT '10' AFTER `unkmail` , ADD INDEX ( `cntunkmail` ) ");
q("ALTER TABLE `mail` ADD `unknown` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `replied` , ADD INDEX ( `unknown` ) ");
}

13
view/categories_widget.tpl Executable file
View file

@ -0,0 +1,13 @@
<div class="clear"></div>
<div id="categories-sidebar" class="widget">
<h3>$title</h3>
<div id="nets-desc">$desc</div>
<ul class="categories-ul">
<li class="tool"><a href="$base" class="categories-link categories-all{{ if $sel_all }} categories-selected{{ endif }}">$all</a></li>
{{ for $terms as $term }}
<li class="tool"><a href="$base?f=&category=$term.name" class="categories-link{{ if $term.selected }} categories-selected{{ endif }}">$term.name</a></li>
{{ endfor }}
</ul>
</div>

View file

@ -15,6 +15,7 @@
<input type="hidden" name="post_id" value="$post_id" />
<input type="hidden" name="preview" id="jot-preview" value="0" />
<div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
<div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
<div id="jot-text-wrap">
<img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
<textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>

View file

@ -3,4 +3,8 @@
{{ inc mail_conv.tpl }}{{endinc}}
{{ endfor }}
{{ if $canreply }}
{{ inc prv_message.tpl }}{{ endinc }}
{{ else }}
$unknown_text
{{endif }}

View file

@ -38,6 +38,9 @@
{{ if $connect }}
<li><a id="dfrn-request-link" href="dfrn_request/$profile.nickname">$connect</a></li>
{{ endif }}
{{ if $wallmessage }}
<li><a id="wallmessage-link" href="wallmessage/$profile.nickname">$wallmessage</a></li>
{{ endif }}
</ul>
</div>
</div>

View file

@ -56,6 +56,10 @@ $blocktags
$suggestme
$unkmail
{{inc field_input.tpl with $field=$cntunkmail }}{{endinc}}
{{inc field_input.tpl with $field=$expire.days }}{{endinc}}
<div class="field input">
<span class="field_help"><a href="#advanced-expire-popup" id="advanced-expire" class='popupbox' title="$expire.advanced">$expire.label</a></span>

View file

@ -76,17 +76,21 @@ input#dfrn-url {
}
#jot-title {
#jot-title, #jot-category {
background-color: #333333;
border: 1px solid #333333;
}
#jot-title::-webkit-input-placeholder{ color: #555555!important;}
#jot-title:-moz-placeholder{color: #555555!important;}
#jot-category::-webkit-input-placeholder{ color: #555555!important;}
#jot-category:-moz-placeholder{color: #555555!important;}
#jot-title:hover,
#jot-title:focus {
#jot-title:focus,
#jot-category:hover,
#jot-category:focus {
border: 1px solid #cccccc;
}
blockquote {

View file

@ -18,14 +18,14 @@
{{ if $lastusers_title }}
<h3>Connectable Services<a id="close_services_icon" onClick="close_services()" class="icon close_box" title="close"></a></h3>
<div id="right_service_icons" style="margin-left: 16px; margin-top: 5px;">
<a href="$url/facebook"><img alt="Facebook" src="view/theme/diabook-blue/icons/facebook.png" title="Facebook"></a>
<a href="$url/settings/connectors"><img alt="StatusNet" src="view/theme/diabook-blue/icons/StatusNet.png?" title="StatusNet"></a>
<a href="$url/settings/connectors"><img alt="LiveJournal" src="view/theme/diabook-blue/icons/livejournal.png?" title="LiveJournal"></a>
<a href="$url/settings/connectors"><img alt="Posterous" src="view/theme/diabook-blue/icons/posterous.png?" title="Posterous"></a>
<a href="$url/settings/connectors"><img alt="Tumblr" src="view/theme/diabook-blue/icons/tumblr.png?" title="Tumblr"></a>
<a href="$url/settings/connectors"><img alt="Twitter" src="view/theme/diabook-blue/icons/twitter.png?" title="Twitter"></a>
<a href="$url/settings/connectors"><img alt="WordPress" src="view/theme/diabook-blue/icons/wordpress.png?" title="WordPress"></a>
<a href="$url/settings/connectors"><img alt="E-Mail" src="view/theme/diabook-blue/icons/email.png?" title="E-Mail"></a>
<a href="$url/facebook"><img alt="Facebook" src="view/theme/diabook-aerith/icons/facebook.png" title="Facebook"></a>
<a href="$url/settings/connectors"><img alt="StatusNet" src="view/theme/diabook-aerith/icons/StatusNet.png?" title="StatusNet"></a>
<a href="$url/settings/connectors"><img alt="LiveJournal" src="view/theme/diabook-aerith/icons/livejournal.png?" title="LiveJournal"></a>
<a href="$url/settings/connectors"><img alt="Posterous" src="view/theme/diabook-aerith/icons/posterous.png?" title="Posterous"></a>
<a href="$url/settings/connectors"><img alt="Tumblr" src="view/theme/diabook-aerith/icons/tumblr.png?" title="Tumblr"></a>
<a href="$url/settings/connectors"><img alt="Twitter" src="view/theme/diabook-aerith/icons/twitter.png?" title="Twitter"></a>
<a href="$url/settings/connectors"><img alt="WordPress" src="view/theme/diabook-aerith/icons/wordpress.png?" title="WordPress"></a>
<a href="$url/settings/connectors"><img alt="E-Mail" src="view/theme/diabook-aerith/icons/email.png?" title="E-Mail"></a>
</div>
{{ endif }}
</div>
@ -34,6 +34,7 @@
{{ if $nv }}
<h3>Find Friends<a id="close_friends_icon" onClick="close_friends()" class="icon close_box" title="close"></a></h3>
<a class="$nv.directory.2" href="$nv.directory.0" style="margin-left: 10px; " title="$nv.directory.3" >$nv.directory.1</a><br>
<a class="$nv.global_directory.2" href="$nv.global_directory.0" style="margin-left: 10px; " title="$nv.global_directory.3" >$nv.global_directory.1</a><br>
<a class="$nv.match.2" href="$nv.match.0" style="margin-left: 10px; " title="$nv.match.3" >$nv.match.1</a><br>
<a class="$nv.suggest.2" href="$nv.suggest.0" style="margin-left: 10px; " title="$nv.suggest.3" >$nv.suggest.1</a><br>
<a class="$nv.invite.2" href="$nv.invite.0" style="margin-left: 10px; " title="$nv.invite.3" >$nv.invite.1</a>

View file

@ -113,12 +113,12 @@ function showForm($error, $content) {
echo <<<EOF
<div class='wrap1'>
<h2><img class='logo' src='friendika-32.png' align='middle';/>
Friendika Bookmarklet</h2>
Friendica Bookmarklet</h2>
</div>
<div class="wrap2">
<form method="post" action="{$_SERVER['PHP_SELF']}">
Enter the email address of the Friendika Account that you want to cross-post to:(example: user@friendika.org)<br /><br />
Enter the email address of the Friendica Account that you want to cross-post to:(example: user@friendica.org)<br /><br />
Account ID: <input type="text" name="friendika_acct_name" value="{$username_cookie}" size="50"/><br />
Password: <input type="password" name="friendika_password" value="{$password_cookie}" size="50"/><br />
<textarea name="content" id="content" rows="6" cols="70">{$content}</textarea><br />

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

View file

@ -21,26 +21,26 @@
<div id="profile-jot-submit-wrapper" class="jothidden">
<div id="profile-upload-wrapper" style="/*display: $visitor;*/" >
<div id="profile-upload-wrapper" style="display: $visitor;" >
<div id="wall-image-upload-div" ><a href="#" onclick="return false;" id="wall-image-upload" class="camera" title="$upload"></a></div>
</div>
<div id="profile-attach-wrapper" style="/*display: $visitor;*/" >
<div id="profile-attach-wrapper" style="display: $visitor;" >
<div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="attach" title="$attach"></a></div>
</div>
<div id="profile-link-wrapper" style="/*display: $visitor;*/" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<a id="profile-link" class="weblink" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
</div>
<div id="profile-video-wrapper" style="/*display: $visitor;*/" >
<div id="profile-video-wrapper" style="display: $visitor;" >
<a id="profile-video" class="video2" title="$video" onclick="jotVideoURL();return false;"></a>
</div>
<div id="profile-audio-wrapper" style="/*display: $visitor;*/" >
<div id="profile-audio-wrapper" style="display: $visitor;" >
<a id="profile-audio" class="audio2" title="$audio" onclick="jotAudioURL();return false;"></a>
</div>
<div id="profile-location-wrapper" style="/*display: $visitor;*/" >
<div id="profile-location-wrapper" style="display: $visitor;" >
<a id="profile-location" class="globe" title="$setloc" onclick="jotGetLocation();return false;"></a>
</div>
<div id="profile-nolocation-wrapper" style="/*display: none;*/" >
<div id="profile-nolocation-wrapper" style="display: none;" >
<a id="profile-nolocation" class="noglobe" title="$noloc" onclick="jotClearLocation();return false;"></a>
</div>

View file

@ -0,0 +1,60 @@
<div class="wall-item-container $item.indent">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper"
<a href="$mail.profile_url" target="redir" title="$mail.from_name" class="contact-photo-link" id="wall-item-photo-link-$mail.id">
<img src="$mail.from_photo" class="contact-photo$mail.sparkle" id="wall-item-photo-$mail.id" alt="$mail.from_name" />
</a>
</div>
</div>
<div class="wall-item-content">
$mail.body
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
</div>
</div>
<div class="wall-item-bottom">
<div class="">
</div>
<div class="wall-item-actions">
<div class="wall-item-actions-author">
<a href="$mail.from_url" target="redir" class="wall-item-name-link"><span class="wall-item-name$mail.sparkle">$mail.from_name</span></a> <span class="wall-item-ago">$mail.date</span>
</div>
<div class="wall-item-actions-social">
</div>
<div class="wall-item-actions-tools">
<a href="message/drop/$mail.id" onclick="return confirmDelete();" class="icon delete s16" title="$mail.delete">$mail.delete</a>
</div>
</div>
</div>
<div class="wall-item-bottom">
</div>
</div>
{#
<div class="mail-conv-outside-wrapper">
<div class="mail-conv-sender" >
<a href="$mail.from_url" class="mail-conv-sender-url" ><img class="mframe mail-conv-sender-photo$mail.sparkle" src="$mail.from_photo" heigth="80" width="80" alt="$mail.from_name" /></a>
</div>
<div class="mail-conv-detail" >
<div class="mail-conv-sender-name" >$mail.from_name</div>
<div class="mail-conv-date">$mail.date</div>
<div class="mail-conv-subject">$mail.subject</div>
<div class="mail-conv-body">$mail.body</div>
<div class="mail-conv-delete-wrapper" id="mail-conv-delete-wrapper-$mail.id" ><a href="message/drop/$mail.id" class="icon drophide delete-icon mail-list-delete-icon" onclick="return confirmDelete();" title="$mail.delete" id="mail-conv-delete-icon-$mail.id" class="mail-conv-delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></div><div class="mail-conv-delete-end"></div>
<div class="mail-conv-outside-wrapper-end"></div>
</div>
</div>
<hr class="mail-conv-break" />
#}

View file

@ -0,0 +1,12 @@
<div id="mail-display-subject">
<span class="{{if $thread_seen}}seen{{else}}unseen{{endif}}">$thread_subject</span>
<a href="message/dropconv/$thread_id" onclick="return confirmDelete();" title="$delete" class="mail-delete icon s22 delete"></a>
</div>
{{ for $mails as $mail }}
<div id="tread-wrapper-$mail.id" class="tread-wrapper">
{{ inc mail_conv.tpl }}{{endinc}}
</div>
{{ endfor }}
{{ inc prv_message.tpl }}{{ endinc }}

View file

@ -0,0 +1,8 @@
<div class="mail-list-wrapper">
<span class="mail-subject {{if $seen}}seen{{else}}unseen{{endif}}"><a href="message/$id" class="mail-link">$subject</a></span>
<span class="mail-from">$from_name</span>
<span class="mail-date">$date</span>
<span class="mail-count">$count</span>
<a href="message/dropconv/$id" onclick="return confirmDelete();" title="$delete" class="mail-delete icon s22 delete"></a>
</div>

View file

@ -0,0 +1,10 @@
<div id="message-sidebar" class="widget">
<div id="message-new" class="{{ if $new.sel }}selected{{ endif }}"><a href="$new.url">$new.label</a> </div>
<ul class="message-ul">
{{ for $tabs as $t }}
<li class="tool {{ if $t.sel }}selected{{ endif }}"><a href="$t.url" class="message-link">$t.label</a></li>
{{ endfor }}
</ul>
</div>

View file

@ -11,16 +11,16 @@
{{ if $nav.network }}
<li id="nav-network-link" class="nav-menu-icon">
<a class="$nav.network.2" href="$nav.network.0" title="$nav.network.3" >
<span class="icon notifications">Benachrichtigungen</span></a>
<span id="net-update" class="nav-notify"></span>
<span class="icon notifications">Benachrichtigungen</span>
<span id="net-update" class="nav-notify"></span></a>
</li>
{{ endif }}
{{ if $nav.contacts }}
<li class="nav-menu-icon" id="nav-contacts-linkmenu">
<a href="$nav.contacts.0" rel="#nav-contacts-menu" title="$nav.contacts.1">
<span class="icon contacts">$nav.contacts.1</span></a>
<span id="intro-update" class="nav-notify"></span>
<span class="icon contacts">$nav.contacts.1</span>
<span id="intro-update" class="nav-notify"></span></a>
<ul id="nav-contacts-menu" class="menu-popup">
<li id="nav-contacts-see-intro"><a href="$nav.notifications.0">$nav.introductions.1</a><span id="intro-update" class="nav-notify"></span></li>
<li id="nav-contacts-all"><a href="contacts">$nav.contacts.1</a></li>
@ -31,8 +31,8 @@
{{ if $nav.messages }}
<li id="nav-messages-linkmenu" class="nav-menu-icon">
<a href="$nav.messages.0" rel="#nav-messages-menu" title="$nav.messages.1">
<span class="icon messages">$nav.messages.1</span></a>
<span id="mail-update" class="nav-notify"></span>
<span class="icon messages">$nav.messages.1</span>
<span id="mail-update" class="nav-notify"></span></a>
<ul id="nav-messages-menu" class="menu-popup">
<li id="nav-messages-see-all"><a href="$nav.messages.0">$nav.messages.1</a></li>
<li id="nav-messages-see-all"><a href="$nav.messages.inbox.0">$nav.messages.inbox.1</a></li>
@ -43,8 +43,10 @@
{{ endif }}
{{ if $nav.notifications }}
<li id="nav-notifications-linkmenu" class="nav-menu-icon"><a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1"><span class="icon notify">$nav.notifications.1</span></a>
<span id="notify-update" class="nav-notify"></span>
<li id="nav-notifications-linkmenu" class="nav-menu-icon">
<a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1">
<span class="icon notify">$nav.notifications.1</span>
<span id="notify-update" class="nav-notify"></span></a>
<ul id="nav-notifications-menu" class="menu-popup">
<li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">$nav.notifications.mark.1</a></li>
<li id="nav-notifications-see-all"><a href="$nav.notifications.all.0">$nav.notifications.all.1</a></li>
@ -100,8 +102,8 @@
{{ if $nav.settings }}
<li id="nav-home-link" class="nav-menu $sel.home">
<a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
<span id="home-update" class="nav-notify"></span>
<a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1
<span id="home-update" class="nav-notify"></span></a>
</li>
{{ endif }}
@ -135,9 +137,9 @@
</nav>
<div style="position: fixed; bottom: 5px; right: 10px;"><a href="javascript:scroll(0,0); "><img src="view/theme/diabook/icons/scroll_top.png" title="scroll to top"></a></div>
<div style="position: fixed; bottom: 5px; right: 10px;"><a href="javascript:scroll(0,0); "><img src="view/theme/diabook-aerith/icons/scroll_top.png" title="scroll to top"></a></div>
<div style="position: fixed; bottom: 3px; left: 25px;">$langselector</div>
<div style="position: fixed; bottom: 23px; left: 5px;"><a href="http://pad.toktan.org/p/diabook" target="blank" ><img src="view/theme/diabook/icons/bluebug.png" title="report bugs for the theme diabook"/></a></div>
<div style="position: fixed; bottom: 23px; left: 5px;"><a href="http://pad.toktan.org/p/diabook" target="blank" ><img src="view/theme/diabook-aerith/icons/bluebug.png" title="report bugs for the theme diabook-aerith"/></a></div>

View file

@ -0,0 +1,6 @@
<h3 style="border-bottom: 1px solid #D2D2D2;">Settings Menu</h3>
<ul class="rs_tabs">
{{ for $tabs as $tab }}
<li><a href="$tab.url" class="rs_tab button $tab.sel">$tab.label</a></li>
{{ endfor }}
</ul>

View file

@ -0,0 +1,100 @@
{{ if $item.indent }}{{ else }}
<div class="wall-item-decor">
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
{{ endif }}
<div class="wall-item-container $item.indent">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper"
onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id">
<img src="$item.thumb" class="contact-photo$item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" />
</a>
<a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</a>
<ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id">
$item.item_photo_menu
</ul>
</div>
</div>
<div class="wall-item-actions-author">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle">$item.name</span></a>
<span class="wall-item-ago">-
{{ if $item.plink }}<a class="link" title="$item.plink.title" href="$item.plink.href" style="color: #999">$item.ago</a>{{ else }} $item.ago {{ endif }}
{{ if $item.lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$item.id);">$item.lock</span> {{ endif }}
</span>
</div>
<div class="wall-item-content">
{{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
$item.body
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
{{ for $item.tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
<div class="wall-item-bottom">
<div class="">
</div>
<div class="wall-item-actions">
<div class="wall-item-actions-social">
{{ if $item.vote }}
<a href="#" id="like-$item.id" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
<a href="#" id="dislike-$item.id" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id" class="icon recycle" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>
{{ endif }}
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle">
<img src="images/star_dummy.png" class="icon star" alt="$item.star.do" /> </a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item icon file-as" title="$item.star.filer"></a>
{{ endif }}
{{ if $item.plink }}<a class="icon link" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
</div>
<div class="wall-item-actions-tools">
{{ if $item.drop.dropping }}
<input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" />
<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drop" title="$item.drop.delete">$item.drop.delete</a>
{{ endif }}
{{ if $item.edpost }}
<a class="icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
{{ endif }}
</div>
<div class="wall-item-location">$item.location&nbsp;</div>
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
</div>
</div>
<div class="wall-item-comment-wrapper" >
$item.comment
</div>

View file

@ -492,7 +492,7 @@ code {
float: right;
}
.tool a {
color: ##3F8FBA;
color: #3465A4;
}
.tool a:hover {
text-decoration: none;
@ -912,6 +912,10 @@ ul.menu-popup .empty {
/*profile_side*/
#profile_side {
margin-bottom: 30px;
}
#profile_side a{
color: #333;
}
#ps-usericon{
height: 25px
@ -1282,7 +1286,8 @@ right_aside .icon {width: 10px; height: 10px;}
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
/* wall item */
.tread-wrapper {
border-bottom: 1px solid #D2D2D2;
@ -1446,13 +1451,12 @@ transition: all 0.2s ease-in-out;
}
.wall-item-comment-wrapper textarea {
height: 2.0em;
width: 93%;
width: 100%;
font-size: 10px;
color: #999999;
border: 1px solid #DDD;
padding: 0.3em;
font-size: 14px;
margin-left: 20px;
}
.wall-item-comment-wrapper .comment-edit-text-full {
font-size: 14px;
@ -2117,7 +2121,7 @@ max-width: 85%;
padding: 0px;
width: 16px;
height: 16px;
top: -20px; left:0px;
top: -16px; left:0px;
overflow: hidden;
text-indent: 40px;
display: none;
@ -2496,8 +2500,8 @@ float: left;
display: none;
/* position: absolute; */
/* position: absolute; */
left: -2px;
top: -20px;
left: 0px;
top: -16px;
}
.contact-wrapper {
float: left;

View file

@ -2110,7 +2110,7 @@ max-width: 85%;
padding: 0px;
width: 16px;
height: 16px;
top: -20px; left:0px;
top: -16px; left:0px;
overflow: hidden;
text-indent: 40px;
display: none;
@ -2489,8 +2489,8 @@ float: left;
display: none;
/* position: absolute; */
/* position: absolute; */
left: -2px;
top: -20px;
left: 0px;
top: -16px;
}
.contact-wrapper {
float: left;

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
/**
/opt/lampp/htdocs/friendica/view/theme/diabook/search_item.tpl/**
* Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
* Additional Changes: Michael Vogel <icarus@dabo.de>
**/
@ -566,6 +566,86 @@ header #banner #logo-text {
position: absolute;
top: 10%;
}
/* messages */
#message-new {
background: #3465A4;
border: 1px solid #333;
width: 150px;
}
#message-new a {
color: #ffffff;
text-align: center;
display: block;
font-weight: bold;
padding: 1em 0px;
text-decoration: none;
}
.mail-list-wrapper {
background-color: #f6f7f8;
margin-bottom: 5px;
width: 100%;
height: auto;
overflow: hidden;
}
.mail-list-wrapper span {
display: block;
float: left;
width: 20%;
overflow: hidden;
}
.mail-list-wrapper .mail-subject {
width: 30%;
padding: 4px 0px 0px 4px;
}
.mail-list-wrapper .mail-subject a {
display: block;
}
.mail-list-wrapper .mail-subject.unseen a {
font-weight: bold;
}
.mail-list-wrapper .mail-date {
padding: 4px 4px 0px 4px;
}
.mail-list-wrapper .mail-from {
padding: 4px 4px 0px 4px;
}
.mail-list-wrapper .mail-count {
padding: 4px 4px 0px 4px;
text-align: right;
}
.mail-list-wrapper .mail-delete {
float: right;
}
#mail-display-subject {
background-color: #f6f7f8;
color: #2d2d2d;
margin-bottom: 10px;
width: 100%;
height: auto;
overflow: hidden;
}
#mail-display-subject span {
float: left;
overflow: hidden;
padding: 4px 0px 0px 10px;
}
#mail-display-subject .mail-delete {
float: right;
opacity: 0.5;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
#mail-display-subject:hover .mail-delete {
opacity: 1;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
/* nav */
nav {
width: 80%;
@ -1053,6 +1133,16 @@ aside #side-peoplefind-url {
overflow: auto;
height: auto;
}
aside #likes a, a:visited, a:link {
color: #3465A4;
text-decoration: none;
cursor: pointer;
}
aside #likes a:hover{
text-decoration: underline;
}
#contact-block .contact-block-h4 {
float: left;
margin: 5px 0px;
@ -1223,7 +1313,6 @@ body .pageheader{
.tread-wrapper a{
color: #3465A4;
}
.wall-item-decor {
position: absolute;
left: 790px;
@ -2041,7 +2130,7 @@ max-width: 85%;
padding: 0px;
width: 16px;
height: 16px;
top: -20px; left:0px;
top: -16px; left:0px;
overflow: hidden;
text-indent: 40px;
display: none;
@ -2411,8 +2500,8 @@ float: left;
display: none;
/* position: absolute; */
/* position: absolute; */
left: -2px;
top: -20px;
left: 0px;
top: -16px;
}
.contact-wrapper {
float: left;

View file

@ -15,7 +15,7 @@ $cssFile = null;
/**
* prints last community activity
*/
function diabook_blue_community_info(){
function diabook_aerith_community_info(){
$a = get_app();
//right_aside at networkpages
@ -139,7 +139,8 @@ function diabook_blue_community_info(){
//nav FIND FRIENDS
if(local_user()) {
$nv = array();
$nv['directory'] = Array('directory', t('Directory'), "", "");
$nv['directory'] = Array('directory', t('Local').' '.t('Directory'), "", "");
$nv['global_directory'] = Array('http://dir.friendica.com/', t('Global Directory'), "", "");
$nv['match'] = Array('match', t('Similar Interests'), "", "");
$nv['suggest'] = Array('suggest', t('Friend Suggestions'), "", "");
$nv['invite'] = Array('invite', t('Invite Friends'), "", "");
@ -234,7 +235,7 @@ if ($a->argv[0] === "network" && local_user()){
if($ccCookie != "8") {
// COMMUNITY
diabook_blue_community_info();
diabook_aerith_community_info();
// CUSTOM CSS
$cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook-aerith/style-network.css";
@ -247,20 +248,70 @@ if ($a->argv[0] === "network" && local_user()){
if ($a->argv[0].$a->argv[1] === "profile".$a->user['nickname']){
if($ccCookie != "8") {
// COMMUNITY
diabook_blue_community_info();
diabook_aerith_community_info();
// CUSTOM CSS
$cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook-aerith/style-profile.css";
}
}
//tabs at right_aside on settings page
if ($a->argv[0] === "settings"){
$tabs = array(
array(
'label' => t('Account settings'),
'url' => $a->get_baseurl(true).'/settings',
'sel' => (($a->argc == 1)?'active':''),
),
array(
'label' => t('Display settings'),
'url' => $a->get_baseurl(true).'/settings/display',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'display')?'active':''),
),
array(
'label' => t('Edit/Manage Profiles'),
'url' => $a->get_baseurl(true).'/profiles',
),
array(
'label' => t('Connector settings'),
'url' => $a->get_baseurl(true).'/settings/connectors',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''),
),
array(
'label' => t('Plugin settings'),
'url' => $a->get_baseurl(true).'/settings/addon',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
),
array(
'label' => t('Connections'),
'url' => $a->get_baseurl(true) . '/settings/oauth',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''),
),
array(
'label' => t('Export personal data'),
'url' => $a->get_baseurl(true) . '/uexport',
'sel' => ''
)
);
$tabtpl = file_get_contents(dirname(__file__).'/rs_common_tabs.tpl') ;
$a->page['aside'] = replace_macros($tabtpl, array(
'$tabs' => $tabs,
));
// CUSTOM CSS
$cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook-aerith/style-settings.css";
}
// custom css
if (!is_null($cssFile)) $a->page['htmlhead'] .= sprintf('<link rel="stylesheet" type="text/css" href="%s" />', $cssFile);
//load jquery.cookie.js
$cookieJS = $a->get_baseurl($ssl_state)."/view/theme/diabook-aerith/js/jquery.cookie.js";
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" />', $cookieJS);
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $cookieJS);
//js scripts

View file

@ -34,6 +34,7 @@
{{ if $nv }}
<h3>Find Friends<a id="close_friends_icon" onClick="close_friends()" class="icon close_box" title="close"></a></h3>
<a class="$nv.directory.2" href="$nv.directory.0" style="margin-left: 10px; " title="$nv.directory.3" >$nv.directory.1</a><br>
<a class="$nv.global_directory.2" href="$nv.global_directory.0" style="margin-left: 10px; " title="$nv.global_directory.3" >$nv.global_directory.1</a><br>
<a class="$nv.match.2" href="$nv.match.0" style="margin-left: 10px; " title="$nv.match.3" >$nv.match.1</a><br>
<a class="$nv.suggest.2" href="$nv.suggest.0" style="margin-left: 10px; " title="$nv.suggest.3" >$nv.suggest.1</a><br>
<a class="$nv.invite.2" href="$nv.invite.0" style="margin-left: 10px; " title="$nv.invite.3" >$nv.invite.1</a>

View file

@ -113,12 +113,12 @@ function showForm($error, $content) {
echo <<<EOF
<div class='wrap1'>
<h2><img class='logo' src='friendika-32.png' align='middle';/>
Friendika Bookmarklet</h2>
Friendica Bookmarklet</h2>
</div>
<div class="wrap2">
<form method="post" action="{$_SERVER['PHP_SELF']}">
Enter the email address of the Friendika Account that you want to cross-post to:(example: user@friendika.org)<br /><br />
Enter the email address of the Friendica Account that you want to cross-post to:(example: user@friendica.org)<br /><br />
Account ID: <input type="text" name="friendika_acct_name" value="{$username_cookie}" size="50"/><br />
Password: <input type="password" name="friendika_password" value="{$password_cookie}" size="50"/><br />
<textarea name="content" id="content" rows="6" cols="70">{$content}</textarea><br />

View file

@ -21,23 +21,23 @@
<div id="profile-jot-submit-wrapper" class="jothidden">
<div id="profile-upload-wrapper" style="/*display: $visitor;*/" >
<div id="profile-upload-wrapper" style="display: $visitor;" >
<div id="wall-image-upload-div" ><a href="#" onclick="return false;" id="wall-image-upload" class="camera" title="$upload"></a></div>
</div>
<div id="profile-attach-wrapper" style="/*display: $visitor;*/" >
<div id="profile-attach-wrapper" style="display: $visitor;" >
<div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="attach" title="$attach"></a></div>
</div>
<div id="profile-link-wrapper" style="/*display: $visitor;*/" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<a id="profile-link" class="weblink" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
</div>
<div id="profile-video-wrapper" style="/*display: $visitor;*/" >
<div id="profile-video-wrapper" style="display: $visitor;" >
<a id="profile-video" class="video2" title="$video" onclick="jotVideoURL();return false;"></a>
</div>
<div id="profile-audio-wrapper" style="/*display: $visitor;*/" >
<div id="profile-audio-wrapper" style="display: $visitor;" >
<a id="profile-audio" class="audio2" title="$audio" onclick="jotAudioURL();return false;"></a>
</div>
<div id="profile-location-wrapper" style="/*display: $visitor;*/" >
<div id="profile-location-wrapper" style="display: $visitor;" >
<a id="profile-location" class="globe" title="$setloc" onclick="jotGetLocation();return false;"></a>
</div>
<div id="profile-nolocation-wrapper" style="/*display: none;*/" >

View file

@ -0,0 +1,60 @@
<div class="wall-item-container $item.indent">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper"
<a href="$mail.profile_url" target="redir" title="$mail.from_name" class="contact-photo-link" id="wall-item-photo-link-$mail.id">
<img src="$mail.from_photo" class="contact-photo$mail.sparkle" id="wall-item-photo-$mail.id" alt="$mail.from_name" />
</a>
</div>
</div>
<div class="wall-item-content">
$mail.body
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
</div>
</div>
<div class="wall-item-bottom">
<div class="">
</div>
<div class="wall-item-actions">
<div class="wall-item-actions-author">
<a href="$mail.from_url" target="redir" class="wall-item-name-link"><span class="wall-item-name$mail.sparkle">$mail.from_name</span></a> <span class="wall-item-ago">$mail.date</span>
</div>
<div class="wall-item-actions-social">
</div>
<div class="wall-item-actions-tools">
<a href="message/drop/$mail.id" onclick="return confirmDelete();" class="icon delete s16" title="$mail.delete">$mail.delete</a>
</div>
</div>
</div>
<div class="wall-item-bottom">
</div>
</div>
{#
<div class="mail-conv-outside-wrapper">
<div class="mail-conv-sender" >
<a href="$mail.from_url" class="mail-conv-sender-url" ><img class="mframe mail-conv-sender-photo$mail.sparkle" src="$mail.from_photo" heigth="80" width="80" alt="$mail.from_name" /></a>
</div>
<div class="mail-conv-detail" >
<div class="mail-conv-sender-name" >$mail.from_name</div>
<div class="mail-conv-date">$mail.date</div>
<div class="mail-conv-subject">$mail.subject</div>
<div class="mail-conv-body">$mail.body</div>
<div class="mail-conv-delete-wrapper" id="mail-conv-delete-wrapper-$mail.id" ><a href="message/drop/$mail.id" class="icon drophide delete-icon mail-list-delete-icon" onclick="return confirmDelete();" title="$mail.delete" id="mail-conv-delete-icon-$mail.id" class="mail-conv-delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></div><div class="mail-conv-delete-end"></div>
<div class="mail-conv-outside-wrapper-end"></div>
</div>
</div>
<hr class="mail-conv-break" />
#}

View file

@ -0,0 +1,12 @@
<div id="mail-display-subject">
<span class="{{if $thread_seen}}seen{{else}}unseen{{endif}}">$thread_subject</span>
<a href="message/dropconv/$thread_id" onclick="return confirmDelete();" title="$delete" class="mail-delete icon s22 delete"></a>
</div>
{{ for $mails as $mail }}
<div id="tread-wrapper-$mail.id" class="tread-wrapper">
{{ inc mail_conv.tpl }}{{endinc}}
</div>
{{ endfor }}
{{ inc prv_message.tpl }}{{ endinc }}

View file

@ -0,0 +1,8 @@
<div class="mail-list-wrapper">
<span class="mail-subject {{if $seen}}seen{{else}}unseen{{endif}}"><a href="message/$id" class="mail-link">$subject</a></span>
<span class="mail-from">$from_name</span>
<span class="mail-date">$date</span>
<span class="mail-count">$count</span>
<a href="message/dropconv/$id" onclick="return confirmDelete();" title="$delete" class="mail-delete icon s22 delete"></a>
</div>

View file

@ -0,0 +1,10 @@
<div id="message-sidebar" class="widget">
<div id="message-new" class="{{ if $new.sel }}selected{{ endif }}"><a href="$new.url">$new.label</a> </div>
<ul class="message-ul">
{{ for $tabs as $t }}
<li class="tool {{ if $t.sel }}selected{{ endif }}"><a href="$t.url" class="message-link">$t.label</a></li>
{{ endfor }}
</ul>
</div>

View file

@ -11,16 +11,16 @@
{{ if $nav.network }}
<li id="nav-network-link" class="nav-menu-icon">
<a class="$nav.network.2" href="$nav.network.0" title="$nav.network.3" >
<span class="icon notifications">Benachrichtigungen</span></a>
<span id="net-update" class="nav-notify"></span>
<span class="icon notifications">Benachrichtigungen</span>
<span id="net-update" class="nav-notify"></span></a>
</li>
{{ endif }}
{{ if $nav.contacts }}
<li class="nav-menu-icon" id="nav-contacts-linkmenu">
<a href="$nav.contacts.0" rel="#nav-contacts-menu" title="$nav.contacts.1">
<span class="icon contacts">$nav.contacts.1</span></a>
<span id="intro-update" class="nav-notify"></span>
<span class="icon contacts">$nav.contacts.1</span>
<span id="intro-update" class="nav-notify"></span></a>
<ul id="nav-contacts-menu" class="menu-popup">
<li id="nav-contacts-see-intro"><a href="$nav.notifications.0">$nav.introductions.1</a><span id="intro-update" class="nav-notify"></span></li>
<li id="nav-contacts-all"><a href="contacts">$nav.contacts.1</a></li>
@ -31,8 +31,8 @@
{{ if $nav.messages }}
<li id="nav-messages-linkmenu" class="nav-menu-icon">
<a href="$nav.messages.0" rel="#nav-messages-menu" title="$nav.messages.1">
<span class="icon messages">$nav.messages.1</span></a>
<span id="mail-update" class="nav-notify"></span>
<span class="icon messages">$nav.messages.1</span>
<span id="mail-update" class="nav-notify"></span></a>
<ul id="nav-messages-menu" class="menu-popup">
<li id="nav-messages-see-all"><a href="$nav.messages.0">$nav.messages.1</a></li>
<li id="nav-messages-see-all"><a href="$nav.messages.inbox.0">$nav.messages.inbox.1</a></li>
@ -43,8 +43,10 @@
{{ endif }}
{{ if $nav.notifications }}
<li id="nav-notifications-linkmenu" class="nav-menu-icon"><a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1"><span class="icon notify">$nav.notifications.1</span></a>
<span id="notify-update" class="nav-notify"></span>
<li id="nav-notifications-linkmenu" class="nav-menu-icon">
<a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1">
<span class="icon notify">$nav.notifications.1</span>
<span id="notify-update" class="nav-notify"></span></a>
<ul id="nav-notifications-menu" class="menu-popup">
<li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">$nav.notifications.mark.1</a></li>
<li id="nav-notifications-see-all"><a href="$nav.notifications.all.0">$nav.notifications.all.1</a></li>
@ -100,8 +102,8 @@
{{ if $nav.settings }}
<li id="nav-home-link" class="nav-menu $sel.home">
<a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
<span id="home-update" class="nav-notify"></span>
<a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1
<span id="home-update" class="nav-notify"></span></a>
</li>
{{ endif }}

View file

@ -24,4 +24,5 @@
{{ endif }}
{{ if $tags.2 }}<div id="tag-remove"><a href="$tags.2">$tags.3</a></div>{{ endif }}
{{ if $edit }}$edit{{ endif }}
{{ if $edit }}$edit{{ endif }}

View file

@ -0,0 +1,6 @@
<h3 style="border-bottom: 1px solid #D2D2D2;">Settings Menu</h3>
<ul class="rs_tabs">
{{ for $tabs as $tab }}
<li><a href="$tab.url" class="rs_tab button $tab.sel">$tab.label</a></li>
{{ endfor }}
</ul>

View file

@ -0,0 +1,100 @@
{{ if $item.indent }}{{ else }}
<div class="wall-item-decor">
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
{{ endif }}
<div class="wall-item-container $item.indent">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper"
onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id">
<img src="$item.thumb" class="contact-photo$item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" />
</a>
<a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</a>
<ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id">
$item.item_photo_menu
</ul>
</div>
</div>
<div class="wall-item-actions-author">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle">$item.name</span></a>
<span class="wall-item-ago">-
{{ if $item.plink }}<a class="link" title="$item.plink.title" href="$item.plink.href" style="color: #999">$item.ago</a>{{ else }} $item.ago {{ endif }}
{{ if $item.lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$item.id);">$item.lock</span> {{ endif }}
</span>
</div>
<div class="wall-item-content">
{{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
$item.body
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
{{ for $item.tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
<div class="wall-item-bottom">
<div class="">
</div>
<div class="wall-item-actions">
<div class="wall-item-actions-social">
{{ if $item.vote }}
<a href="#" id="like-$item.id" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
<a href="#" id="dislike-$item.id" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id" class="icon recycle" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>
{{ endif }}
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle">
<img src="images/star_dummy.png" class="icon star" alt="$item.star.do" /> </a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item icon file-as" title="$item.star.filer"></a>
{{ endif }}
{{ if $item.plink }}<a class="icon link" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
</div>
<div class="wall-item-actions-tools">
{{ if $item.drop.dropping }}
<input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" />
<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drop" title="$item.drop.delete">$item.drop.delete</a>
{{ endif }}
{{ if $item.edpost }}
<a class="icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
{{ endif }}
</div>
<div class="wall-item-location">$item.location&nbsp;</div>
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
</div>
</div>
<div class="wall-item-comment-wrapper" >
$item.comment
</div>

View file

@ -1226,6 +1226,7 @@ right_aside #lastusers-wrapper { padding-left: 6px; padding-top: 3px; overflow:
right_aside #ra-photos-wrapper { padding-left: 5px; padding-top: 3px; overflow: auto; width: 100%; }
#page-sidebar-right_aside{margin-top: 0px; margin-bottom: 30px;}
#page-sidebar-right_aside ul {margin-top: 0px;}
#page-sidebar-right_aside .label {max-width: 128px;}
right_aside .icon {width: 10px; height: 10px;}
.close_box {
background-image: url("../../../view/theme/diabook-blue/icons/close_box.png");
@ -1408,13 +1409,12 @@ transition: all 0.2s ease-in-out;
}
.wall-item-comment-wrapper textarea {
height: 2.0em;
width: 93%;
width: 100%;
font-size: 10px;
color: #999999;
border: 1px solid #DDD;
padding: 0.3em;
font-size: 14px;
margin-left: 20px;
}
.wall-item-comment-wrapper .comment-edit-text-full {
font-size: 14px;
@ -2453,8 +2453,8 @@ float: left;
display: none;
/* position: absolute; */
/* position: absolute; */
left: -2px;
top: -20px;
left: 0px;
top: -16px;
}
.contact-wrapper {
float: left;

View file

@ -1225,6 +1225,7 @@ right_aside #lastusers-wrapper { padding-left: 6px; padding-top: 3px; overflow:
right_aside #ra-photos-wrapper { padding-left: 5px; padding-top: 3px; overflow: auto; width: 100%; }
#page-sidebar-right_aside{margin-top: 0px; margin-bottom: 30px;}
#page-sidebar-right_aside ul {margin-top: 0px;}
#page-sidebar-right_aside .label {max-width: 128px;}
right_aside .icon {width: 10px; height: 10px;}
.close_box {
background-image: url("../../../view/theme/diabook-blue/icons/close_box.png");
@ -2447,8 +2448,8 @@ float: left;
display: none;
/* position: absolute; */
/* position: absolute; */
left: -2px;
top: -20px;
left: 0px;
top: -16px;
}
.contact-wrapper {
float: left;

File diff suppressed because it is too large Load diff

View file

@ -551,6 +551,86 @@ header #banner #logo-text {
position: absolute;
top: 15%;
}
/* messages */
#message-new {
background: #055580;
border: 1px solid #333;
width: 150px;
}
#message-new a {
color: #ffffff;
text-align: center;
display: block;
font-weight: bold;
padding: 1em 0px;
text-decoration: none;
}
.mail-list-wrapper {
background-color: #f6f7f8;
margin-bottom: 5px;
width: 100%;
height: auto;
overflow: hidden;
}
.mail-list-wrapper span {
display: block;
float: left;
width: 20%;
overflow: hidden;
}
.mail-list-wrapper .mail-subject {
width: 30%;
padding: 4px 0px 0px 4px;
}
.mail-list-wrapper .mail-subject a {
display: block;
}
.mail-list-wrapper .mail-subject.unseen a {
font-weight: bold;
}
.mail-list-wrapper .mail-date {
padding: 4px 4px 0px 4px;
}
.mail-list-wrapper .mail-from {
padding: 4px 4px 0px 4px;
}
.mail-list-wrapper .mail-count {
padding: 4px 4px 0px 4px;
text-align: right;
}
.mail-list-wrapper .mail-delete {
float: right;
}
#mail-display-subject {
background-color: #f6f7f8;
color: #2d2d2d;
margin-bottom: 10px;
width: 100%;
height: auto;
overflow: hidden;
}
#mail-display-subject span {
float: left;
overflow: hidden;
padding: 4px 0px 0px 10px;
}
#mail-display-subject .mail-delete {
float: right;
opacity: 0.5;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
#mail-display-subject:hover .mail-delete {
opacity: 1;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
/* nav */
nav {
width: 80%;
@ -2368,8 +2448,8 @@ float: left;
display: none;
/* position: absolute; */
/* position: absolute; */
left: -2px;
top: -20px;
left: 0px;
top: -16px;
}
.contact-wrapper {
float: left;

View file

@ -139,7 +139,8 @@ function diabook_blue_community_info(){
//nav FIND FRIENDS
if(local_user()) {
$nv = array();
$nv['directory'] = Array('directory', t('Directory'), "", "");
$nv['directory'] = Array('directory', t('Local').' '.t('Directory'), "", "");
$nv['global_directory'] = Array('http://dir.friendica.com/', t('Global Directory'), "", "");
$nv['match'] = Array('match', t('Similar Interests'), "", "");
$nv['suggest'] = Array('suggest', t('Friend Suggestions'), "", "");
$nv['invite'] = Array('invite', t('Invite Friends'), "", "");
@ -254,13 +255,63 @@ if ($a->argv[0].$a->argv[1] === "profile".$a->user['nickname']){
}
}
//tabs at right_aside on settings page
if ($a->argv[0] === "settings"){
$tabs = array(
array(
'label' => t('Account settings'),
'url' => $a->get_baseurl(true).'/settings',
'sel' => (($a->argc == 1)?'active':''),
),
array(
'label' => t('Display settings'),
'url' => $a->get_baseurl(true).'/settings/display',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'display')?'active':''),
),
array(
'label' => t('Edit/Manage Profiles'),
'url' => $a->get_baseurl(true).'/profiles',
),
array(
'label' => t('Connector settings'),
'url' => $a->get_baseurl(true).'/settings/connectors',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''),
),
array(
'label' => t('Plugin settings'),
'url' => $a->get_baseurl(true).'/settings/addon',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
),
array(
'label' => t('Connections'),
'url' => $a->get_baseurl(true) . '/settings/oauth',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''),
),
array(
'label' => t('Export personal data'),
'url' => $a->get_baseurl(true) . '/uexport',
'sel' => ''
)
);
$tabtpl = file_get_contents(dirname(__file__).'/rs_common_tabs.tpl') ;
$a->page['aside'] = replace_macros($tabtpl, array(
'$tabs' => $tabs,
));
// CUSTOM CSS
$cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook-blue/style-settings.css";
}
// custom css
if (!is_null($cssFile)) $a->page['htmlhead'] .= sprintf('<link rel="stylesheet" type="text/css" href="%s" />', $cssFile);
//load jquery.cookie.js
$cookieJS = $a->get_baseurl($ssl_state)."/view/theme/diabook-blue/js/jquery.cookie.js";
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" />', $cookieJS);
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $cookieJS);
//js scripts

View file

@ -18,14 +18,14 @@
{{ if $lastusers_title }}
<h3>Connectable Services<a id="close_services_icon" onClick="close_services()" class="icon close_box" title="close"></a></h3>
<div id="right_service_icons" style="margin-left: 16px; margin-top: 5px;">
<a href="$url/facebook"><img alt="Facebook" src="view/theme/diabook-blue/icons/facebook.png" title="Facebook"></a>
<a href="$url/settings/connectors"><img alt="StatusNet" src="view/theme/diabook-blue/icons/StatusNet.png?" title="StatusNet"></a>
<a href="$url/settings/connectors"><img alt="LiveJournal" src="view/theme/diabook-blue/icons/livejournal.png?" title="LiveJournal"></a>
<a href="$url/settings/connectors"><img alt="Posterous" src="view/theme/diabook-blue/icons/posterous.png?" title="Posterous"></a>
<a href="$url/settings/connectors"><img alt="Tumblr" src="view/theme/diabook-blue/icons/tumblr.png?" title="Tumblr"></a>
<a href="$url/settings/connectors"><img alt="Twitter" src="view/theme/diabook-blue/icons/twitter.png?" title="Twitter"></a>
<a href="$url/settings/connectors"><img alt="WordPress" src="view/theme/diabook-blue/icons/wordpress.png?" title="WordPress"></a>
<a href="$url/settings/connectors"><img alt="E-Mail" src="view/theme/diabook-blue/icons/email.png?" title="E-Mail"></a>
<a href="$url/facebook"><img alt="Facebook" src="view/theme/diabook-red/icons/facebook.png" title="Facebook"></a>
<a href="$url/settings/connectors"><img alt="StatusNet" src="view/theme/diabook-red/icons/StatusNet.png?" title="StatusNet"></a>
<a href="$url/settings/connectors"><img alt="LiveJournal" src="view/theme/diabook-red/icons/livejournal.png?" title="LiveJournal"></a>
<a href="$url/settings/connectors"><img alt="Posterous" src="view/theme/diabook-red/icons/posterous.png?" title="Posterous"></a>
<a href="$url/settings/connectors"><img alt="Tumblr" src="view/theme/diabook-red/icons/tumblr.png?" title="Tumblr"></a>
<a href="$url/settings/connectors"><img alt="Twitter" src="view/theme/diabook-red/icons/twitter.png?" title="Twitter"></a>
<a href="$url/settings/connectors"><img alt="WordPress" src="view/theme/diabook-red/icons/wordpress.png?" title="WordPress"></a>
<a href="$url/settings/connectors"><img alt="E-Mail" src="view/theme/diabook-red/icons/email.png?" title="E-Mail"></a>
</div>
{{ endif }}
</div>
@ -34,6 +34,7 @@
{{ if $nv }}
<h3>Find Friends<a id="close_friends_icon" onClick="close_friends()" class="icon close_box" title="close"></a></h3>
<a class="$nv.directory.2" href="$nv.directory.0" style="margin-left: 10px; " title="$nv.directory.3" >$nv.directory.1</a><br>
<a class="$nv.global_directory.2" href="$nv.global_directory.0" style="margin-left: 10px; " title="$nv.global_directory.3" >$nv.global_directory.1</a><br>
<a class="$nv.match.2" href="$nv.match.0" style="margin-left: 10px; " title="$nv.match.3" >$nv.match.1</a><br>
<a class="$nv.suggest.2" href="$nv.suggest.0" style="margin-left: 10px; " title="$nv.suggest.3" >$nv.suggest.1</a><br>
<a class="$nv.invite.2" href="$nv.invite.0" style="margin-left: 10px; " title="$nv.invite.3" >$nv.invite.1</a>

View file

@ -113,12 +113,12 @@ function showForm($error, $content) {
echo <<<EOF
<div class='wrap1'>
<h2><img class='logo' src='friendika-32.png' align='middle';/>
Friendika Bookmarklet</h2>
Friendica Bookmarklet</h2>
</div>
<div class="wrap2">
<form method="post" action="{$_SERVER['PHP_SELF']}">
Enter the email address of the Friendika Account that you want to cross-post to:(example: user@friendika.org)<br /><br />
Enter the email address of the Friendica Account that you want to cross-post to:(example: user@friendica.org)<br /><br />
Account ID: <input type="text" name="friendika_acct_name" value="{$username_cookie}" size="50"/><br />
Password: <input type="password" name="friendika_password" value="{$password_cookie}" size="50"/><br />
<textarea name="content" id="content" rows="6" cols="70">{$content}</textarea><br />

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

View file

@ -21,23 +21,23 @@
<div id="profile-jot-submit-wrapper" class="jothidden">
<div id="profile-upload-wrapper" style="/*display: $visitor;*/" >
<div id="profile-upload-wrapper" style="display: $visitor;" >
<div id="wall-image-upload-div" ><a href="#" onclick="return false;" id="wall-image-upload" class="camera" title="$upload"></a></div>
</div>
<div id="profile-attach-wrapper" style="/*display: $visitor;*/" >
<div id="profile-attach-wrapper" style="display: $visitor;" >
<div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="attach" title="$attach"></a></div>
</div>
<div id="profile-link-wrapper" style="/*display: $visitor;*/" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<a id="profile-link" class="weblink" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
</div>
<div id="profile-video-wrapper" style="/*display: $visitor;*/" >
<div id="profile-video-wrapper" style="display: $visitor;" >
<a id="profile-video" class="video2" title="$video" onclick="jotVideoURL();return false;"></a>
</div>
<div id="profile-audio-wrapper" style="/*display: $visitor;*/" >
<div id="profile-audio-wrapper" style="display: $visitor;" >
<a id="profile-audio" class="audio2" title="$audio" onclick="jotAudioURL();return false;"></a>
</div>
<div id="profile-location-wrapper" style="/*display: $visitor;*/" >
<div id="profile-location-wrapper" style="display: $visitor;" >
<a id="profile-location" class="globe" title="$setloc" onclick="jotGetLocation();return false;"></a>
</div>
<div id="profile-nolocation-wrapper" style="/*display: none;*/" >

View file

@ -0,0 +1,60 @@
<div class="wall-item-container $item.indent">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper"
<a href="$mail.profile_url" target="redir" title="$mail.from_name" class="contact-photo-link" id="wall-item-photo-link-$mail.id">
<img src="$mail.from_photo" class="contact-photo$mail.sparkle" id="wall-item-photo-$mail.id" alt="$mail.from_name" />
</a>
</div>
</div>
<div class="wall-item-content">
$mail.body
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
</div>
</div>
<div class="wall-item-bottom">
<div class="">
</div>
<div class="wall-item-actions">
<div class="wall-item-actions-author">
<a href="$mail.from_url" target="redir" class="wall-item-name-link"><span class="wall-item-name$mail.sparkle">$mail.from_name</span></a> <span class="wall-item-ago">$mail.date</span>
</div>
<div class="wall-item-actions-social">
</div>
<div class="wall-item-actions-tools">
<a href="message/drop/$mail.id" onclick="return confirmDelete();" class="icon delete s16" title="$mail.delete">$mail.delete</a>
</div>
</div>
</div>
<div class="wall-item-bottom">
</div>
</div>
{#
<div class="mail-conv-outside-wrapper">
<div class="mail-conv-sender" >
<a href="$mail.from_url" class="mail-conv-sender-url" ><img class="mframe mail-conv-sender-photo$mail.sparkle" src="$mail.from_photo" heigth="80" width="80" alt="$mail.from_name" /></a>
</div>
<div class="mail-conv-detail" >
<div class="mail-conv-sender-name" >$mail.from_name</div>
<div class="mail-conv-date">$mail.date</div>
<div class="mail-conv-subject">$mail.subject</div>
<div class="mail-conv-body">$mail.body</div>
<div class="mail-conv-delete-wrapper" id="mail-conv-delete-wrapper-$mail.id" ><a href="message/drop/$mail.id" class="icon drophide delete-icon mail-list-delete-icon" onclick="return confirmDelete();" title="$mail.delete" id="mail-conv-delete-icon-$mail.id" class="mail-conv-delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></div><div class="mail-conv-delete-end"></div>
<div class="mail-conv-outside-wrapper-end"></div>
</div>
</div>
<hr class="mail-conv-break" />
#}

View file

@ -0,0 +1,12 @@
<div id="mail-display-subject">
<span class="{{if $thread_seen}}seen{{else}}unseen{{endif}}">$thread_subject</span>
<a href="message/dropconv/$thread_id" onclick="return confirmDelete();" title="$delete" class="mail-delete icon s22 delete"></a>
</div>
{{ for $mails as $mail }}
<div id="tread-wrapper-$mail.id" class="tread-wrapper">
{{ inc mail_conv.tpl }}{{endinc}}
</div>
{{ endfor }}
{{ inc prv_message.tpl }}{{ endinc }}

View file

@ -0,0 +1,8 @@
<div class="mail-list-wrapper">
<span class="mail-subject {{if $seen}}seen{{else}}unseen{{endif}}"><a href="message/$id" class="mail-link">$subject</a></span>
<span class="mail-from">$from_name</span>
<span class="mail-date">$date</span>
<span class="mail-count">$count</span>
<a href="message/dropconv/$id" onclick="return confirmDelete();" title="$delete" class="mail-delete icon s22 delete"></a>
</div>

View file

@ -0,0 +1,10 @@
<div id="message-sidebar" class="widget">
<div id="message-new" class="{{ if $new.sel }}selected{{ endif }}"><a href="$new.url">$new.label</a> </div>
<ul class="message-ul">
{{ for $tabs as $t }}
<li class="tool {{ if $t.sel }}selected{{ endif }}"><a href="$t.url" class="message-link">$t.label</a></li>
{{ endfor }}
</ul>
</div>

View file

@ -11,16 +11,16 @@
{{ if $nav.network }}
<li id="nav-network-link" class="nav-menu-icon">
<a class="$nav.network.2" href="$nav.network.0" title="$nav.network.3" >
<span class="icon notifications">Benachrichtigungen</span></a>
<span id="net-update" class="nav-notify"></span>
<span class="icon notifications">Benachrichtigungen</span>
<span id="net-update" class="nav-notify"></span></a>
</li>
{{ endif }}
{{ if $nav.contacts }}
<li class="nav-menu-icon" id="nav-contacts-linkmenu">
<a href="$nav.contacts.0" rel="#nav-contacts-menu" title="$nav.contacts.1">
<span class="icon contacts">$nav.contacts.1</span></a>
<span id="intro-update" class="nav-notify"></span>
<span class="icon contacts">$nav.contacts.1</span>
<span id="intro-update" class="nav-notify"></span></a>
<ul id="nav-contacts-menu" class="menu-popup">
<li id="nav-contacts-see-intro"><a href="$nav.notifications.0">$nav.introductions.1</a><span id="intro-update" class="nav-notify"></span></li>
<li id="nav-contacts-all"><a href="contacts">$nav.contacts.1</a></li>
@ -31,8 +31,8 @@
{{ if $nav.messages }}
<li id="nav-messages-linkmenu" class="nav-menu-icon">
<a href="$nav.messages.0" rel="#nav-messages-menu" title="$nav.messages.1">
<span class="icon messages">$nav.messages.1</span></a>
<span id="mail-update" class="nav-notify"></span>
<span class="icon messages">$nav.messages.1</span>
<span id="mail-update" class="nav-notify"></span></a>
<ul id="nav-messages-menu" class="menu-popup">
<li id="nav-messages-see-all"><a href="$nav.messages.0">$nav.messages.1</a></li>
<li id="nav-messages-see-all"><a href="$nav.messages.inbox.0">$nav.messages.inbox.1</a></li>
@ -43,8 +43,10 @@
{{ endif }}
{{ if $nav.notifications }}
<li id="nav-notifications-linkmenu" class="nav-menu-icon"><a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1"><span class="icon notify">$nav.notifications.1</span></a>
<span id="notify-update" class="nav-notify"></span>
<li id="nav-notifications-linkmenu" class="nav-menu-icon">
<a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1">
<span class="icon notify">$nav.notifications.1</span>
<span id="notify-update" class="nav-notify"></span></a>
<ul id="nav-notifications-menu" class="menu-popup">
<li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">$nav.notifications.mark.1</a></li>
<li id="nav-notifications-see-all"><a href="$nav.notifications.all.0">$nav.notifications.all.1</a></li>
@ -100,8 +102,8 @@
{{ if $nav.settings }}
<li id="nav-home-link" class="nav-menu $sel.home">
<a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
<span id="home-update" class="nav-notify"></span>
<a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1
<span id="home-update" class="nav-notify"></span></a>
</li>
{{ endif }}
@ -135,9 +137,9 @@
</nav>
<div style="position: fixed; bottom: 5px; right: 10px;"><a href="javascript:scroll(0,0); "><img src="view/theme/diabook/icons/scroll_top.png" title="scroll to top"></a></div>
<div style="position: fixed; bottom: 5px; right: 10px;"><a href="javascript:scroll(0,0); "><img src="view/theme/diabook-red/icons/scroll_top.png" title="scroll to top"></a></div>
<div style="position: fixed; bottom: 3px; left: 25px;">$langselector</div>
<div style="position: fixed; bottom: 23px; left: 5px;"><a href="http://pad.toktan.org/p/diabook" target="blank" ><img src="view/theme/diabook/icons/bluebug.png" title="report bugs for the theme diabook"/></a></div>
<div style="position: fixed; bottom: 23px; left: 5px;"><a href="http://pad.toktan.org/p/diabook" target="blank" ><img src="view/theme/diabook-red/icons/bluebug.png" title="report bugs for the theme diabook"/></a></div>

View file

@ -0,0 +1,6 @@
<h3 style="border-bottom: 1px solid #D2D2D2;">Settings Menu</h3>
<ul class="rs_tabs">
{{ for $tabs as $tab }}
<li><a href="$tab.url" class="rs_tab button $tab.sel">$tab.label</a></li>
{{ endfor }}
</ul>

View file

@ -0,0 +1,100 @@
{{ if $item.indent }}{{ else }}
<div class="wall-item-decor">
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
{{ endif }}
<div class="wall-item-container $item.indent">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper"
onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id">
<img src="$item.thumb" class="contact-photo$item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" />
</a>
<a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</a>
<ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id">
$item.item_photo_menu
</ul>
</div>
</div>
<div class="wall-item-actions-author">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle">$item.name</span></a>
<span class="wall-item-ago">-
{{ if $item.plink }}<a class="link" title="$item.plink.title" href="$item.plink.href" style="color: #999">$item.ago</a>{{ else }} $item.ago {{ endif }}
{{ if $item.lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$item.id);">$item.lock</span> {{ endif }}
</span>
</div>
<div class="wall-item-content">
{{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
$item.body
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
{{ for $item.tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
<div class="wall-item-bottom">
<div class="">
</div>
<div class="wall-item-actions">
<div class="wall-item-actions-social">
{{ if $item.vote }}
<a href="#" id="like-$item.id" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
<a href="#" id="dislike-$item.id" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id" class="icon recycle" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>
{{ endif }}
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle">
<img src="images/star_dummy.png" class="icon star" alt="$item.star.do" /> </a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item icon file-as" title="$item.star.filer"></a>
{{ endif }}
{{ if $item.plink }}<a class="icon link" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
</div>
<div class="wall-item-actions-tools">
{{ if $item.drop.dropping }}
<input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" />
<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drop" title="$item.drop.delete">$item.drop.delete</a>
{{ endif }}
{{ if $item.edpost }}
<a class="icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
{{ endif }}
</div>
<div class="wall-item-location">$item.location&nbsp;</div>
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
</div>
</div>
<div class="wall-item-comment-wrapper" >
$item.comment
</div>

View file

@ -439,7 +439,7 @@ a:hover {
clear: both;
}
.fakelink {
color: #1872A2;
color: #333
/* color: #3e3e8c; */
text-decoration: none;
cursor: pointer;
@ -912,6 +912,10 @@ ul.menu-popup .empty {
/*profile_side*/
#profile_side {
margin-bottom: 30px;
}
#profile_side a{
color: #333;
}
#ps-usericon{
height: 25px
@ -1289,7 +1293,7 @@ transition: all 0.2s ease-in-out;
width: 575px;
}
.tread-wrapper a{
color: #1872A2;
color: red;
}
.wall-item-decor {
@ -1443,13 +1447,12 @@ transition: all 0.2s ease-in-out;
}
.wall-item-comment-wrapper textarea {
height: 2.0em;
width: 93%;
width: 100%;
font-size: 10px;
color: #999999;
border: 1px solid #DDD;
padding: 0.3em;
font-size: 14px;
margin-left: 20px;
}
.wall-item-comment-wrapper .comment-edit-text-full {
font-size: 14px;
@ -2115,7 +2118,7 @@ max-width: 85%;
padding: 0px;
width: 16px;
height: 16px;
top: -20px; left:0px;
top: -16px; left:0px;
overflow: hidden;
text-indent: 40px;
display: none;
@ -2494,8 +2497,8 @@ float: left;
display: none;
/* position: absolute; */
/* position: absolute; */
left: -2px;
top: -20px;
left: 0px;
top: -16px;
}
.contact-wrapper {
float: left;

View file

@ -440,7 +440,7 @@ a:hover {
clear: both;
}
.fakelink {
color: #1872A2;
color: #333;
/* color: #3e3e8c; */
text-decoration: none;
cursor: pointer;
@ -1270,7 +1270,7 @@ transition: all 0.2s ease-in-out;
width: 575px;
}
.tread-wrapper a{
color: #1872A2;
color: red;
}
.wall-item-decor {
@ -2091,7 +2091,7 @@ max-width: 85%;
padding: 0px;
width: 16px;
height: 16px;
top: -20px; left:0px;
top: -16px; left:0px;
overflow: hidden;
text-indent: 40px;
display: none;
@ -2470,8 +2470,8 @@ float: left;
display: none;
/* position: absolute; */
/* position: absolute; */
left: -2px;
top: -20px;
left: 0px;
top: -16px;
}
.contact-wrapper {
float: left;

File diff suppressed because it is too large Load diff

View file

@ -404,7 +404,7 @@ h4 {
}
a {
color: #333333;
color: red;
/* color: #3e3e8c; */
text-decoration: none;
}
@ -437,7 +437,7 @@ a:hover {
clear: both;
}
.fakelink {
color: #1872A2;
color: red;
/* color: #3e3e8c; */
text-decoration: none;
cursor: pointer;
@ -566,6 +566,86 @@ header #banner #logo-text {
top: 10%;
margin-left: 3px;
}
/* messages */
#message-new {
background: ;
border: 1px solid #333;
width: 150px;
}
#message-new a {
color: #ffffff;
text-align: center;
display: block;
font-weight: bold;
padding: 1em 0px;
text-decoration: none;
}
.mail-list-wrapper {
background-color: #f6f7f8;
margin-bottom: 5px;
width: 100%;
height: auto;
overflow: hidden;
}
.mail-list-wrapper span {
display: block;
float: left;
width: 20%;
overflow: hidden;
}
.mail-list-wrapper .mail-subject {
width: 30%;
padding: 4px 0px 0px 4px;
}
.mail-list-wrapper .mail-subject a {
display: block;
}
.mail-list-wrapper .mail-subject.unseen a {
font-weight: bold;
}
.mail-list-wrapper .mail-date {
padding: 4px 4px 0px 4px;
}
.mail-list-wrapper .mail-from {
padding: 4px 4px 0px 4px;
}
.mail-list-wrapper .mail-count {
padding: 4px 4px 0px 4px;
text-align: right;
}
.mail-list-wrapper .mail-delete {
float: right;
}
#mail-display-subject {
background-color: #f6f7f8;
color: #2d2d2d;
margin-bottom: 10px;
width: 100%;
height: auto;
overflow: hidden;
}
#mail-display-subject span {
float: left;
overflow: hidden;
padding: 4px 0px 0px 10px;
}
#mail-display-subject .mail-delete {
float: right;
opacity: 0.5;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
#mail-display-subject:hover .mail-delete {
opacity: 1;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
/* nav */
nav {
width: 80%;
@ -1216,7 +1296,7 @@ body .pageheader{
width: 775px;
}
.tread-wrapper a{
color: #1872A2;
color: red;
}
.wall-item-decor {
@ -2035,7 +2115,7 @@ max-width: 85%;
padding: 0px;
width: 16px;
height: 16px;
top: -20px; left:0px;
top: -16px; left:0px;
overflow: hidden;
text-indent: 40px;
display: none;
@ -2405,8 +2485,8 @@ float: left;
display: none;
/* position: absolute; */
/* position: absolute; */
left: -2px;
top: -20px;
left: 0px;
top: -16px;
}
.contact-wrapper {
float: left;

View file

@ -15,7 +15,7 @@ $cssFile = null;
/**
* prints last community activity
*/
function diabook_blue_community_info(){
function diabook_red_community_info(){
$a = get_app();
//right_aside at networkpages
@ -139,7 +139,8 @@ function diabook_blue_community_info(){
//nav FIND FRIENDS
if(local_user()) {
$nv = array();
$nv['directory'] = Array('directory', t('Directory'), "", "");
$nv['directory'] = Array('directory', t('Local').' '.t('Directory'), "", "");
$nv['global_directory'] = Array('http://dir.friendica.com/', t('Global Directory'), "", "");
$nv['match'] = Array('match', t('Similar Interests'), "", "");
$nv['suggest'] = Array('suggest', t('Friend Suggestions'), "", "");
$nv['invite'] = Array('invite', t('Invite Friends'), "", "");
@ -234,7 +235,7 @@ if ($a->argv[0] === "network" && local_user()){
if($ccCookie != "8") {
// COMMUNITY
diabook_blue_community_info();
diabook_red_community_info();
// CUSTOM CSS
$cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook-red/style-network.css";
@ -247,7 +248,7 @@ if ($a->argv[0] === "network" && local_user()){
if ($a->argv[0].$a->argv[1] === "profile".$a->user['nickname']){
if($ccCookie != "8") {
// COMMUNITY
diabook_blue_community_info();
diabook_red_community_info();
// CUSTOM CSS
$cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook-red/style-profile.css";
@ -255,12 +256,63 @@ if ($a->argv[0].$a->argv[1] === "profile".$a->user['nickname']){
}
//tabs at right_aside on settings page
if ($a->argv[0] === "settings"){
$tabs = array(
array(
'label' => t('Account settings'),
'url' => $a->get_baseurl(true).'/settings',
'sel' => (($a->argc == 1)?'active':''),
),
array(
'label' => t('Display settings'),
'url' => $a->get_baseurl(true).'/settings/display',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'display')?'active':''),
),
array(
'label' => t('Edit/Manage Profiles'),
'url' => $a->get_baseurl(true).'/profiles',
),
array(
'label' => t('Connector settings'),
'url' => $a->get_baseurl(true).'/settings/connectors',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''),
),
array(
'label' => t('Plugin settings'),
'url' => $a->get_baseurl(true).'/settings/addon',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
),
array(
'label' => t('Connections'),
'url' => $a->get_baseurl(true) . '/settings/oauth',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''),
),
array(
'label' => t('Export personal data'),
'url' => $a->get_baseurl(true) . '/uexport',
'sel' => ''
)
);
$tabtpl = file_get_contents(dirname(__file__).'/rs_common_tabs.tpl') ;
$a->page['aside'] = replace_macros($tabtpl, array(
'$tabs' => $tabs,
));
// CUSTOM CSS
$cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook-red/style-settings.css";
}
// custom css
if (!is_null($cssFile)) $a->page['htmlhead'] .= sprintf('<link rel="stylesheet" type="text/css" href="%s" />', $cssFile);
//load jquery.cookie.js
$cookieJS = $a->get_baseurl($ssl_state)."/view/theme/diabook-red/js/jquery.cookie.js";
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" />', $cookieJS);
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $cookieJS);
//js scripts

View file

@ -34,6 +34,7 @@
{{ if $nv }}
<h3>Find Friends<a id="close_friends_icon" onClick="close_friends()" class="icon close_box" title="close"></a></h3>
<a class="$nv.directory.2" href="$nv.directory.0" style="margin-left: 10px; " title="$nv.directory.3" >$nv.directory.1</a><br>
<a class="$nv.global_directory.2" href="$nv.global_directory.0" style="margin-left: 10px; " title="$nv.global_directory.3" >$nv.global_directory.1</a><br>
<a class="$nv.match.2" href="$nv.match.0" style="margin-left: 10px; " title="$nv.match.3" >$nv.match.1</a><br>
<a class="$nv.suggest.2" href="$nv.suggest.0" style="margin-left: 10px; " title="$nv.suggest.3" >$nv.suggest.1</a><br>
<a class="$nv.invite.2" href="$nv.invite.0" style="margin-left: 10px; " title="$nv.invite.3" >$nv.invite.1</a>

View file

@ -113,12 +113,12 @@ function showForm($error, $content) {
echo <<<EOF
<div class='wrap1'>
<h2><img class='logo' src='friendika-32.png' align='middle';/>
Friendika Bookmarklet</h2>
Friendica Bookmarklet</h2>
</div>
<div class="wrap2">
<form method="post" action="{$_SERVER['PHP_SELF']}">
Enter the email address of the Friendika Account that you want to cross-post to:(example: user@friendika.org)<br /><br />
Enter the email address of the Friendica Account that you want to cross-post to:(example: user@friendica.org)<br /><br />
Account ID: <input type="text" name="friendika_acct_name" value="{$username_cookie}" size="50"/><br />
Password: <input type="password" name="friendika_password" value="{$password_cookie}" size="50"/><br />
<textarea name="content" id="content" rows="6" cols="70">{$content}</textarea><br />

View file

@ -21,23 +21,23 @@
<div id="profile-jot-submit-wrapper" class="jothidden">
<div id="profile-upload-wrapper" style="/*display: $visitor;*/" >
<div id="profile-upload-wrapper" style="display: $visitor;" >
<div id="wall-image-upload-div" ><a href="#" onclick="return false;" id="wall-image-upload" class="camera" title="$upload"></a></div>
</div>
<div id="profile-attach-wrapper" style="/*display: $visitor;*/" >
<div id="profile-attach-wrapper" style="display: $visitor;" >
<div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="attach" title="$attach"></a></div>
</div>
<div id="profile-link-wrapper" style="/*display: $visitor;*/" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<a id="profile-link" class="weblink" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
</div>
<div id="profile-video-wrapper" style="/*display: $visitor;*/" >
<div id="profile-video-wrapper" style="display: $visitor;" >
<a id="profile-video" class="video2" title="$video" onclick="jotVideoURL();return false;"></a>
</div>
<div id="profile-audio-wrapper" style="/*display: $visitor;*/" >
<div id="profile-audio-wrapper" style="display: $visitor;" >
<a id="profile-audio" class="audio2" title="$audio" onclick="jotAudioURL();return false;"></a>
</div>
<div id="profile-location-wrapper" style="/*display: $visitor;*/" >
<div id="profile-location-wrapper" style="display: $visitor;" >
<a id="profile-location" class="globe" title="$setloc" onclick="jotGetLocation();return false;"></a>
</div>
<div id="profile-nolocation-wrapper" style="/*display: none;*/" >

View file

@ -0,0 +1,60 @@
<div class="wall-item-container $item.indent">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper"
<a href="$mail.profile_url" target="redir" title="$mail.from_name" class="contact-photo-link" id="wall-item-photo-link-$mail.id">
<img src="$mail.from_photo" class="contact-photo$mail.sparkle" id="wall-item-photo-$mail.id" alt="$mail.from_name" />
</a>
</div>
</div>
<div class="wall-item-content">
$mail.body
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
</div>
</div>
<div class="wall-item-bottom">
<div class="">
</div>
<div class="wall-item-actions">
<div class="wall-item-actions-author">
<a href="$mail.from_url" target="redir" class="wall-item-name-link"><span class="wall-item-name$mail.sparkle">$mail.from_name</span></a> <span class="wall-item-ago">$mail.date</span>
</div>
<div class="wall-item-actions-social">
</div>
<div class="wall-item-actions-tools">
<a href="message/drop/$mail.id" onclick="return confirmDelete();" class="icon delete s16" title="$mail.delete">$mail.delete</a>
</div>
</div>
</div>
<div class="wall-item-bottom">
</div>
</div>
{#
<div class="mail-conv-outside-wrapper">
<div class="mail-conv-sender" >
<a href="$mail.from_url" class="mail-conv-sender-url" ><img class="mframe mail-conv-sender-photo$mail.sparkle" src="$mail.from_photo" heigth="80" width="80" alt="$mail.from_name" /></a>
</div>
<div class="mail-conv-detail" >
<div class="mail-conv-sender-name" >$mail.from_name</div>
<div class="mail-conv-date">$mail.date</div>
<div class="mail-conv-subject">$mail.subject</div>
<div class="mail-conv-body">$mail.body</div>
<div class="mail-conv-delete-wrapper" id="mail-conv-delete-wrapper-$mail.id" ><a href="message/drop/$mail.id" class="icon drophide delete-icon mail-list-delete-icon" onclick="return confirmDelete();" title="$mail.delete" id="mail-conv-delete-icon-$mail.id" class="mail-conv-delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></div><div class="mail-conv-delete-end"></div>
<div class="mail-conv-outside-wrapper-end"></div>
</div>
</div>
<hr class="mail-conv-break" />
#}

View file

@ -0,0 +1,12 @@
<div id="mail-display-subject">
<span class="{{if $thread_seen}}seen{{else}}unseen{{endif}}">$thread_subject</span>
<a href="message/dropconv/$thread_id" onclick="return confirmDelete();" title="$delete" class="mail-delete icon s22 delete"></a>
</div>
{{ for $mails as $mail }}
<div id="tread-wrapper-$mail.id" class="tread-wrapper">
{{ inc mail_conv.tpl }}{{endinc}}
</div>
{{ endfor }}
{{ inc prv_message.tpl }}{{ endinc }}

View file

@ -0,0 +1,8 @@
<div class="mail-list-wrapper">
<span class="mail-subject {{if $seen}}seen{{else}}unseen{{endif}}"><a href="message/$id" class="mail-link">$subject</a></span>
<span class="mail-from">$from_name</span>
<span class="mail-date">$date</span>
<span class="mail-count">$count</span>
<a href="message/dropconv/$id" onclick="return confirmDelete();" title="$delete" class="mail-delete icon s22 delete"></a>
</div>

View file

@ -0,0 +1,10 @@
<div id="message-sidebar" class="widget">
<div id="message-new" class="{{ if $new.sel }}selected{{ endif }}"><a href="$new.url">$new.label</a> </div>
<ul class="message-ul">
{{ for $tabs as $t }}
<li class="tool {{ if $t.sel }}selected{{ endif }}"><a href="$t.url" class="message-link">$t.label</a></li>
{{ endfor }}
</ul>
</div>

View file

@ -11,16 +11,16 @@
{{ if $nav.network }}
<li id="nav-network-link" class="nav-menu-icon">
<a class="$nav.network.2" href="$nav.network.0" title="$nav.network.3" >
<span class="icon notifications">Benachrichtigungen</span></a>
<span id="net-update" class="nav-notify"></span>
<span class="icon notifications">Benachrichtigungen</span>
<span id="net-update" class="nav-notify"></span></a>
</li>
{{ endif }}
{{ if $nav.contacts }}
<li class="nav-menu-icon" id="nav-contacts-linkmenu">
<a href="$nav.contacts.0" rel="#nav-contacts-menu" title="$nav.contacts.1">
<span class="icon contacts">$nav.contacts.1</span></a>
<span id="intro-update" class="nav-notify"></span>
<span class="icon contacts">$nav.contacts.1</span>
<span id="intro-update" class="nav-notify"></span></a>
<ul id="nav-contacts-menu" class="menu-popup">
<li id="nav-contacts-see-intro"><a href="$nav.notifications.0">$nav.introductions.1</a><span id="intro-update" class="nav-notify"></span></li>
<li id="nav-contacts-all"><a href="contacts">$nav.contacts.1</a></li>
@ -32,8 +32,8 @@
{{ if $nav.messages }}
<li id="nav-messages-linkmenu" class="nav-menu-icon">
<a href="$nav.messages.0" rel="#nav-messages-menu" title="$nav.messages.1">
<span class="icon messages">$nav.messages.1</span></a>
<span id="mail-update" class="nav-notify"></span>
<span class="icon messages">$nav.messages.1</span>
<span id="mail-update" class="nav-notify"></span></a>
<ul id="nav-messages-menu" class="menu-popup">
<li id="nav-messages-see-all"><a href="$nav.messages.0">$nav.messages.1</a></li>
<li id="nav-messages-see-all"><a href="$nav.messages.inbox.0">$nav.messages.inbox.1</a></li>
@ -44,8 +44,10 @@
{{ endif }}
{{ if $nav.notifications }}
<li id="nav-notifications-linkmenu" class="nav-menu-icon"><a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1"><span class="icon notify">$nav.notifications.1</span></a>
<span id="notify-update" class="nav-notify"></span>
<li id="nav-notifications-linkmenu" class="nav-menu-icon">
<a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1">
<span class="icon notify">$nav.notifications.1</span>
<span id="notify-update" class="nav-notify"></span></a>
<ul id="nav-notifications-menu" class="menu-popup">
<li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">$nav.notifications.mark.1</a></li>
<li id="nav-notifications-see-all"><a href="$nav.notifications.all.0">$nav.notifications.all.1</a></li>
@ -101,8 +103,8 @@
{{ if $nav.settings }}
<li id="nav-home-link" class="nav-menu $sel.home">
<a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
<span id="home-update" class="nav-notify"></span>
<a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1
<span id="home-update" class="nav-notify"></span></a>
</li>
{{ endif }}

BIN
view/theme/diabook/photo-menu.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

View file

@ -0,0 +1,6 @@
<h3 style="border-bottom: 1px solid #D2D2D2;">Settings Menu</h3>
<ul class="rs_tabs">
{{ for $tabs as $tab }}
<li><a href="$tab.url" class="rs_tab button $tab.sel">$tab.label</a></li>
{{ endfor }}
</ul>

View file

@ -0,0 +1,100 @@
{{ if $item.indent }}{{ else }}
<div class="wall-item-decor">
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
{{ endif }}
<div class="wall-item-container $item.indent">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper"
onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id">
<img src="$item.thumb" class="contact-photo$item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" />
</a>
<a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</a>
<ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id">
$item.item_photo_menu
</ul>
</div>
</div>
<div class="wall-item-actions-author">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle">$item.name</span></a>
<span class="wall-item-ago">-
{{ if $item.plink }}<a class="link" title="$item.plink.title" href="$item.plink.href" style="color: #999">$item.ago</a>{{ else }} $item.ago {{ endif }}
{{ if $item.lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$item.id);">$item.lock</span> {{ endif }}
</span>
</div>
<div class="wall-item-content">
{{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
$item.body
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
{{ for $item.tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
<div class="wall-item-bottom">
<div class="">
</div>
<div class="wall-item-actions">
<div class="wall-item-actions-social">
{{ if $item.vote }}
<a href="#" id="like-$item.id" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
<a href="#" id="dislike-$item.id" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id" class="icon recycle" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>
{{ endif }}
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle">
<img src="images/star_dummy.png" class="icon star" alt="$item.star.do" /> </a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item icon file-as" title="$item.star.filer"></a>
{{ endif }}
{{ if $item.plink }}<a class="icon link" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
</div>
<div class="wall-item-actions-tools">
{{ if $item.drop.dropping }}
<input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" />
<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drop" title="$item.drop.delete">$item.drop.delete</a>
{{ endif }}
{{ if $item.edpost }}
<a class="icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
{{ endif }}
</div>
<div class="wall-item-location">$item.location&nbsp;</div>
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
</div>
</div>
<div class="wall-item-comment-wrapper" >
$item.comment
</div>

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