Merge remote branch 'upstream/master'

This commit is contained in:
Michael 2012-03-02 10:34:18 +01:00
commit 20817b4b8e
50 changed files with 1129 additions and 741 deletions

8
.gitignore vendored
View file

@ -10,3 +10,11 @@ home.html
addon addon
*~ *~
#ignore documentation, it should be newly built
doc/api
#ignore config files from eclipse, we don't want IDE files in our repository
.project
.buildpath
.externalToolBuilders
.settings

View file

@ -1,4 +1,4 @@
Copyright (c) 2010, 2011 the Friendica Project Copyright (c) 2010-2012 the Friendica Project
All rights reserved. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy

4
README
View file

@ -0,0 +1,4 @@
Friendica Social Communications Server
======================================
Welcome to the free social web.

View file

@ -9,9 +9,9 @@ require_once('include/nav.php');
require_once('include/cache.php'); require_once('include/cache.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica'); define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_VERSION', '2.3.1264' ); define ( 'FRIENDICA_VERSION', '2.3.1268' );
define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); define ( 'DFRN_PROTOCOL_VERSION', '2.22' );
define ( 'DB_UPDATE_VERSION', 1128 ); define ( 'DB_UPDATE_VERSION', 1131 );
define ( 'EOL', "<br />\r\n" ); define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );

38
build.xml Normal file
View file

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="friendica" default="test">
<!-- =================================== -->
<!-- Target: test -->
<!-- this target runs all test files -->
<!-- =================================== -->
<target name="test">
<!-- there are no tests by now, so, nothing to do -->
</target>
<!-- ===================================================== -->
<!-- Target: clean-doc -->
<!-- this target removes documentation from a previous run -->
<!-- ===================================================== -->
<target name="doc-clean">
<echo msg="Removing old documentation..." />
<delete dir="./doc/api/" />
<echo msg="Generate documentation directory..." />
<mkdir dir="./doc/api/" />
</target>
<!-- ====================================== -->
<!-- Target: doc -->
<!-- this target builds all documentation -->
<!-- ====================================== -->
<target name="doc" depends="doc-clean">
<echo msg="Building documentation..." />
<docblox title="Friendica API" destdir="./doc/api">
<fileset dir=".">
<include name="**/*.php" />
</fileset>
</docblox>
</target>
</project>

View file

@ -216,6 +216,7 @@ CREATE TABLE IF NOT EXISTS `item` (
`tag` mediumtext NOT NULL, `tag` mediumtext NOT NULL,
`attach` mediumtext NOT NULL, `attach` mediumtext NOT NULL,
`inform` mediumtext NOT NULL, `inform` mediumtext NOT NULL,
`file` mediumtext NOT NULL,
`location` char(255) NOT NULL, `location` char(255) NOT NULL,
`coord` char(255) NOT NULL, `coord` char(255) NOT NULL,
`allow_cid` mediumtext NOT NULL, `allow_cid` mediumtext NOT NULL,
@ -262,6 +263,7 @@ CREATE TABLE IF NOT EXISTS `item` (
FULLTEXT KEY `title` (`title`), FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `body` (`body`), FULLTEXT KEY `body` (`body`),
FULLTEXT KEY `tag` (`tag`), FULLTEXT KEY `tag` (`tag`),
FULLTEXT KEY `file` (`file`),
FULLTEXT KEY `allow_cid` (`allow_cid`), FULLTEXT KEY `allow_cid` (`allow_cid`),
FULLTEXT KEY `allow_gid` (`allow_gid`), FULLTEXT KEY `allow_gid` (`allow_gid`),
FULLTEXT KEY `deny_cid` (`deny_cid`), FULLTEXT KEY `deny_cid` (`deny_cid`),
@ -752,14 +754,18 @@ CREATE TABLE IF NOT EXISTS `notify` (
`msg` MEDIUMTEXT NOT NULL , `msg` MEDIUMTEXT NOT NULL ,
`uid` INT NOT NULL , `uid` INT NOT NULL ,
`link` CHAR( 255 ) NOT NULL , `link` CHAR( 255 ) NOT NULL ,
`parent` INT( 11 ) NOT NULL,
`seen` TINYINT( 1 ) NOT NULL DEFAULT '0', `seen` TINYINT( 1 ) NOT NULL DEFAULT '0',
`verb` CHAR( 255 ) NOT NULL, `verb` CHAR( 255 ) NOT NULL,
`otype` CHAR( 16 ) NOT NULL, `otype` CHAR( 16 ) NOT NULL,
INDEX ( `hash` ), INDEX ( `hash` ),
INDEX ( `type` ), INDEX ( `type` ),
INDEX ( `uid` ), INDEX ( `uid` ),
INDEX ( `link` ),
INDEX ( `parent` ),
INDEX ( `seen` ), INDEX ( `seen` ),
INDEX ( `date` ) INDEX ( `date` ),
INDEX ( `otype` )
) ENGINE = MyISAM DEFAULT CHARSET=utf8; ) ENGINE = MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `item_id` ( CREATE TABLE IF NOT EXISTS `item_id` (
@ -844,6 +850,7 @@ CREATE TABLE IF NOT EXISTS `spam` (
`spam` INT NOT NULL DEFAULT '0', `spam` INT NOT NULL DEFAULT '0',
`ham` INT NOT NULL DEFAULT '0', `ham` INT NOT NULL DEFAULT '0',
`term` CHAR(255) NOT NULL, `term` CHAR(255) NOT NULL,
`date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
INDEX ( `uid` ), INDEX ( `uid` ),
INDEX ( `spam` ), INDEX ( `spam` ),
INDEX ( `ham` ), INDEX ( `ham` ),

View file

@ -255,6 +255,11 @@ function scrape_feed($url) {
} }
} }
} }
// perhaps an RSS version 1 feed with a generic or incorrect content-type?
if(stristr($s,'</item>')) {
$ret['feed_rss'] = $url;
return $ret;
}
} }
try { try {

View file

@ -1,6 +1,11 @@
<?php <?php
/**
*
*/
/**
* @package acl_selectors
*/
function group_select($selname,$selclass,$preselected = false,$size = 4) { function group_select($selname,$selclass,$preselected = false,$size = 4) {
$a = get_app(); $a = get_app();

View file

@ -6,11 +6,6 @@
function localize_item(&$item){ function localize_item(&$item){
$Text = $item['body']; $Text = $item['body'];
// find private image (w/data url) if present and convert image
// link to a magic-auth redirect.
$saved_image = ''; $saved_image = '';
$img_start = strpos($Text,'[img]data:'); $img_start = strpos($Text,'[img]data:');
$img_end = strpos($Text,'[/img]'); $img_end = strpos($Text,'[/img]');
@ -184,6 +179,7 @@ function localize_item(&$item){
* that are based on unique features of the calling module. * that are based on unique features of the calling module.
* *
*/ */
if(!function_exists('conversation')){
function conversation(&$a, $items, $mode, $update, $preview = false) { function conversation(&$a, $items, $mode, $update, $preview = false) {
require_once('bbcode.php'); require_once('bbcode.php');
@ -231,13 +227,13 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$items = $cb['items']; $items = $cb['items'];
$cmnt_tpl = get_markup_template('comment_item.tpl'); $cmnt_tpl = get_markup_template('comment_item.tpl');
$tpl = get_markup_template('wall_item.tpl'); $tpl = 'wall_item.tpl';
$wallwall = get_markup_template('wallwall_item.tpl'); $wallwall = 'wallwall_item.tpl';
$hide_comments_tpl = get_markup_template('hide_comments.tpl'); $hide_comments_tpl = get_markup_template('hide_comments.tpl');
$alike = array(); $alike = array();
$dlike = array(); $dlike = array();
$o = "";
// array with html for each thread (parent+comments) // array with html for each thread (parent+comments)
$threads = array(); $threads = array();
@ -250,7 +246,8 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
// "New Item View" on network page or search page results // "New Item View" on network page or search page results
// - just loop through the items and format them minimally for display // - just loop through the items and format them minimally for display
$tpl = get_markup_template('search_item.tpl'); //$tpl = get_markup_template('search_item.tpl');
$tpl = 'search_item.tpl';
foreach($items as $item) { foreach($items as $item) {
$threadsid++; $threadsid++;
@ -316,43 +313,46 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$body = prepare_body($item,true); $body = prepare_body($item,true);
$tmp_item = replace_macros($tpl,array( //$tmp_item = replace_macros($tpl,array(
'$id' => (($preview) ? 'P0' : $item['item_id']), $tmp_item = array(
'$linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), 'template' => $tpl,
'$profile_url' => $profile_link, 'id' => (($preview) ? 'P0' : $item['item_id']),
'$item_photo_menu' => item_photo_menu($item), 'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])),
'$name' => template_escape($profile_name), 'profile_url' => $profile_link,
'$sparkle' => $sparkle, 'item_photo_menu' => item_photo_menu($item),
'$lock' => $lock, 'name' => template_escape($profile_name),
'$thumb' => $profile_avatar, 'sparkle' => $sparkle,
'$title' => template_escape($item['title']), 'lock' => $lock,
'$body' => template_escape($body), 'thumb' => $profile_avatar,
'$ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])), 'title' => template_escape($item['title']),
'$lock' => $lock, 'body' => template_escape($body),
'$location' => template_escape($location), 'text' => strip_tags(template_escape($body)),
'$indent' => '', 'ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])),
'$owner_name' => template_escape($owner_name), 'lock' => $lock,
'$owner_url' => $owner_url, 'location' => template_escape($location),
'$owner_photo' => $owner_photo, 'indent' => '',
'$plink' => get_plink($item), 'owner_name' => template_escape($owner_name),
'$edpost' => false, 'owner_url' => $owner_url,
'$isstarred' => $isstarred, 'owner_photo' => $owner_photo,
'$star' => $star, 'plink' => get_plink($item),
'$drop' => $drop, 'edpost' => false,
'$vote' => $likebuttons, 'isstarred' => $isstarred,
'$like' => '', 'star' => $star,
'$dislike' => '', 'drop' => $drop,
'$comment' => '', 'vote' => $likebuttons,
'$conv' => (($preview) ? '' : array('href'=> $a->get_baseurl() . '/display/' . $nickname . '/' . $item['id'], 'title'=> t('View in context'))), 'like' => '',
'$previewing' => $previewing, 'dislike' => '',
'$wait' => t('Please wait'), 'comment' => '',
)); 'conv' => (($preview) ? '' : array('href'=> $a->get_baseurl() . '/display/' . $nickname . '/' . $item['id'], 'title'=> t('View in context'))),
'previewing' => $previewing,
'wait' => t('Please wait'),
);
$arr = array('item' => $item, 'output' => $tmp_item); $arr = array('item' => $item, 'output' => $tmp_item);
call_hooks('display_item', $arr); call_hooks('display_item', $arr);
$threads[$threadsid]['id'] = $item['item_id']; $threads[$threadsid]['id'] = $item['item_id'];
$threads[$threadsid]['html'] .= $arr['output']; $threads[$threadsid]['items'] = array($arr['output']);
} }
@ -385,6 +385,8 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
} }
$comments_collapsed = false; $comments_collapsed = false;
$comment_lastcollapsed = false;
$comment_firstcollapsed = false;
$blowhard = 0; $blowhard = 0;
$blowhard_count = 0; $blowhard_count = 0;
@ -438,10 +440,12 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$comments_seen = 0; $comments_seen = 0;
$comments_collapsed = false; $comments_collapsed = false;
$comment_lastcollapsed = false;
$comment_firstcollapsed = false;
$threadsid++; $threadsid++;
$threads[$threadsid]['id'] = $item['item_id']; $threads[$threadsid]['id'] = $item['item_id'];
$threads[$threadsid]['html'] = ""; $threads[$threadsid]['items'] = array();
} }
else { else {
@ -449,6 +453,8 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
if((! $toplevelpost) && (! $toplevelprivate) && ($item['private']) && ($profile_owner != local_user())) if((! $toplevelpost) && (! $toplevelprivate) && ($item['private']) && ($profile_owner != local_user()))
continue; continue;
$comments_seen ++; $comments_seen ++;
$comment_lastcollapsed = false;
$comment_firstcollapsed = false;
} }
$override_comment_box = ((($page_writeable) && ($item_writeable)) ? true : false); $override_comment_box = ((($page_writeable) && ($item_writeable)) ? true : false);
@ -456,23 +462,17 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
if(($comments[$item['parent']] > 2) && ($comments_seen <= ($comments[$item['parent']] - 2)) && ($item['gravity'] == 6)) { if(($comments[$item['parent']] > 2) && ($comments_seen <= ($comments[$item['parent']] - 2)) && ($item['gravity'] == 6)) {
if(! $comments_collapsed) {
// IMPORTANT: the closing </div> in the hide_comments template if (!$comments_collapsed){
// is supplied below in code. $threads[$threadsid]['num_comments'] = sprintf( tt('%d comment','%d comments',$comments[$item['parent']]),$comments[$item['parent']] );
$threads[$threadsid]['hide_text'] = t('show more');
$threads[$threadsid]['html'] .= replace_macros($hide_comments_tpl,array(
'$id' => $item['parent'],
'$num_comments' => sprintf( tt('%d comment','%d comments',$comments[$item['parent']]),
$comments[$item['parent']]),
'$display' => 'none',
'$hide_text' => t('show more')
));
$comments_collapsed = true; $comments_collapsed = true;
$comment_firstcollapsed = true;
} }
} }
if(($comments[$item['parent']] > 2) && ($comments_seen == ($comments[$item['parent']] - 1))) { if(($comments[$item['parent']] > 2) && ($comments_seen == ($comments[$item['parent']] - 1))) {
$threads[$threadsid]['html'] .= '</div>';
$comment_lastcollapsed = true;
} }
$redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'] ; $redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'] ;
@ -649,63 +649,72 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
// Build the HTML // Build the HTML
$body = prepare_body($item,true); $body = prepare_body($item,true);
//$tmp_item = replace_macros($template,
$tmp_item = array(
// collapse comments in template. I don't like this much...
'comment_firstcollapsed' => $comment_firstcollapsed,
'comment_lastcollapsed' => $comment_lastcollapsed,
// template to use to render item (wall, walltowall, search)
'template' => $template,
$tmp_item = replace_macros($template,array( 'type' => implode("",array_slice(split("/",$item['verb']),-1)),
'$type' => implode("",array_slice(explode("/",$item['verb']),-1)), 'tags' => $tags,
'$tags' => $tags, 'body' => template_escape($body),
'$body' => template_escape($body), 'text' => strip_tags(template_escape($body)),
'$id' => $item['item_id'], 'id' => $item['item_id'],
'$linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), 'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])),
'$olinktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['owner-link'])) ? $item['owner-link'] : $item['url'])), 'olinktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['owner-link'])) ? $item['owner-link'] : $item['url'])),
'$to' => t('to'), 'to' => t('to'),
'$wall' => t('Wall-to-Wall'), 'wall' => t('Wall-to-Wall'),
'$vwall' => t('via Wall-To-Wall:'), 'vwall' => t('via Wall-To-Wall:'),
'$profile_url' => $profile_link, 'profile_url' => $profile_link,
'$item_photo_menu' => item_photo_menu($item), 'item_photo_menu' => item_photo_menu($item),
'$name' => template_escape($profile_name), 'name' => template_escape($profile_name),
'$thumb' => $profile_avatar, 'thumb' => $profile_avatar,
'$osparkle' => $osparkle, 'osparkle' => $osparkle,
'$sparkle' => $sparkle, 'sparkle' => $sparkle,
'$title' => template_escape($item['title']), 'title' => template_escape($item['title']),
'$ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])), 'ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])),
'$lock' => $lock, 'lock' => $lock,
'$location' => template_escape($location), 'location' => template_escape($location),
'$indent' => $indent, 'indent' => $indent,
'$owner_url' => $owner_url, 'owner_url' => $owner_url,
'$owner_photo' => $owner_photo, 'owner_photo' => $owner_photo,
'$owner_name' => template_escape($owner_name), 'owner_name' => template_escape($owner_name),
'$plink' => get_plink($item), 'plink' => get_plink($item),
'$edpost' => $edpost, 'edpost' => $edpost,
'$isstarred' => $isstarred, 'isstarred' => $isstarred,
'$star' => $star, 'star' => $star,
'$drop' => $drop, 'drop' => $drop,
'$vote' => $likebuttons, 'vote' => $likebuttons,
'$like' => $like, 'like' => $like,
'$dislike' => $dislike, 'dislike' => $dislike,
'$comment' => $comment, 'comment' => $comment,
'$previewing' => $previewing, 'previewing' => $previewing,
'$wait' => t('Please wait'), 'wait' => t('Please wait'),
)); );
$arr = array('item' => $item, 'output' => $tmp_item); $arr = array('item' => $item, 'output' => $tmp_item);
call_hooks('display_item', $arr); call_hooks('display_item', $arr);
$threads[$threadsid]['html'] .= $arr['output']; $threads[$threadsid]['items'][] = $arr['output'];
} }
} }
} }
$page_template = get_markup_template("conversation.tpl"); $page_template = get_markup_template("conversation.tpl");
$o .= replace_macros($page_template, array( $o .= replace_macros($page_template, array(
'$baseurl' => $a->get_baseurl(),
'$mode' => $mode,
'$user' => $a->user,
'$threads' => $threads, '$threads' => $threads,
'$dropping' => ($dropping?t('Delete Selected Items'):False), '$dropping' => ($dropping?t('Delete Selected Items'):False),
)); ));
return $o; return $o;
} }}
function best_link_url($item,&$sparkle) { function best_link_url($item,&$sparkle) {

View file

@ -25,9 +25,12 @@ function notification($params) {
$title = $body = ''; $title = $body = '';
} }
// e.g. "your post", "David's photo", etc.
$possess_desc = t('%s <!item_type!>');
if($params['type'] == NOTIFY_MAIL) { if($params['type'] == NOTIFY_MAIL) {
$subject = sprintf( t('New mail received at %s'),$sitename); $subject = sprintf( t('[Friendica:Notify] New mail received at %s'),$sitename);
$preamble = sprintf( t('%s sent you a new private message at %s.'),$params['source_name'],$sitename); $preamble = sprintf( t('%s sent you a new private message at %s.'),$params['source_name'],$sitename);
$epreamble = sprintf( t('%s sent you %s.'),'[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('a private message') . '[/url]'); $epreamble = sprintf( t('%s sent you %s.'),'[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('a private message') . '[/url]');
@ -38,17 +41,43 @@ function notification($params) {
} }
if($params['type'] == NOTIFY_COMMENT) { if($params['type'] == NOTIFY_COMMENT) {
logger("notification: params = " . print_r($params, true), LOGGER_DEBUG); // logger("notification: params = " . print_r($params, true), LOGGER_DEBUG);
$parent_id = $params['parent']; $parent_id = $params['parent'];
// if it's a post figure out who's post it is.
$p = null;
if($params['otype'] === 'item' && $parent_id) {
$p = q("select * from item where id = %d and uid = %d limit 1",
intval($parent_id),
intval($params['uid'])
);
}
$possess_desc = str_replace('<!item_type!>',item_post_type($p[0]),$possess_desc);
// "a post"
$dest_str = sprintf($possess_desc,'a');
// "George Bull's post"
if($p)
$dest_str = sprintf($possess_desc,sprintf( t("%s's"),$p[0]['author-name']));
// "your post"
if($p[0]['owner-name'] == $p[0]['author-name'] && $p[0]['wall'])
$dest_str = sprintf($possess_desc, t('your') );
// Some mail softwares relies on subject field for threading. // Some mail softwares relies on subject field for threading.
// So, we cannot have different subjects for notifications of the same thread. // So, we cannot have different subjects for notifications of the same thread.
// Before this we have the name of the replier on the subject rendering // Before this we have the name of the replier on the subject rendering
// differents subjects for messages on the same thread. // differents subjects for messages on the same thread.
$subject = sprintf( t('Someone commented on item #%d at %s'), $parent_id, $sitename);
$subject = sprintf( t('[Friendica:Notify] Comment to conversation #%d by %s'), $parent_id, $params['source_name']);
$preamble = sprintf( t('%s commented on an item/conversation you have been following.'), $params['source_name']); $preamble = sprintf( t('%s commented on an item/conversation you have been following.'), $params['source_name']);
$epreamble = sprintf( t('%s commented in %s.'), '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('a watched conversation') . '[/url]'); $epreamble = sprintf( t('%s commented on %s.'), '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . $dest_str . '[/url]');
$sitelink = t('Please visit %s to view and/or reply to the conversation.'); $sitelink = t('Please visit %s to view and/or reply to the conversation.');
$tsitelink = sprintf( $sitelink, $siteurl ); $tsitelink = sprintf( $sitelink, $siteurl );
@ -57,7 +86,10 @@ function notification($params) {
} }
if($params['type'] == NOTIFY_WALL) { if($params['type'] == NOTIFY_WALL) {
$preamble = $subject = sprintf( t('%s posted to your profile wall at %s') , $params['source_name'], $sitename); $subject = sprintf( t('[Friendica:Notify] %s posted to your profile wall') , $params['source_name']);
$preamble = sprintf( t('%s posted to your profile wall at %s') , $params['source_name'], $sitename);
$epreamble = sprintf( t('%s posted to %s') , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('your profile wall.') . '[/url]'); $epreamble = sprintf( t('%s posted to %s') , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('your profile wall.') . '[/url]');
$sitelink = t('Please visit %s to view and/or reply to the conversation.'); $sitelink = t('Please visit %s to view and/or reply to the conversation.');
@ -67,7 +99,8 @@ function notification($params) {
} }
if($params['type'] == NOTIFY_TAGSELF) { if($params['type'] == NOTIFY_TAGSELF) {
$preamble = $subject = sprintf( t('%s tagged you at %s') , $params['source_name'], $sitename); $subject = sprintf( t('[Friendica:Notify] %s tagged you') , $params['source_name']);
$preamble = sprintf( t('%s tagged you at %s') , $params['source_name'], $sitename);
$epreamble = sprintf( t('%s %s.') , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=' . $params['link'] . ']' . t('tagged you') . '[/url]'); $epreamble = sprintf( t('%s %s.') , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=' . $params['link'] . ']' . t('tagged you') . '[/url]');
$sitelink = t('Please visit %s to view and/or reply to the conversation.'); $sitelink = t('Please visit %s to view and/or reply to the conversation.');
@ -77,7 +110,8 @@ function notification($params) {
} }
if($params['type'] == NOTIFY_TAGSHARE) { if($params['type'] == NOTIFY_TAGSHARE) {
$preamble = $subject = sprintf( t('%s tagged your post at %s') , $params['source_name'], $sitename); $subject = sprintf( t('[Friendica:Notify] %s tagged your post') , $params['source_name']);
$preamble = sprintf( t('%s tagged your post at %s') , $params['source_name'], $sitename);
$epreamble = sprintf( t('%s tagged %s') , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('your post') . '[/url]' ); $epreamble = sprintf( t('%s tagged %s') , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('your post') . '[/url]' );
$sitelink = t('Please visit %s to view and/or reply to the conversation.'); $sitelink = t('Please visit %s to view and/or reply to the conversation.');
@ -87,7 +121,7 @@ function notification($params) {
} }
if($params['type'] == NOTIFY_INTRO) { if($params['type'] == NOTIFY_INTRO) {
$subject = sprintf( t('Introduction received at %s'), $sitename); $subject = sprintf( t('[Friendica:Notify] Introduction received'));
$preamble = sprintf( t('You\'ve received an introduction from \'%s\' at %s'), $params['source_name'], $sitename); $preamble = sprintf( t('You\'ve received an introduction from \'%s\' at %s'), $params['source_name'], $sitename);
$epreamble = sprintf( t('You\'ve received %s from %s.'), '[url=$itemlink]' . t('an introduction') . '[/url]' , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]'); $epreamble = sprintf( t('You\'ve received %s from %s.'), '[url=$itemlink]' . t('an introduction') . '[/url]' , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]');
$body = sprintf( t('You may visit their profile at %s'),$params['source_link']); $body = sprintf( t('You may visit their profile at %s'),$params['source_link']);
@ -99,7 +133,7 @@ function notification($params) {
} }
if($params['type'] == NOTIFY_SUGGEST) { if($params['type'] == NOTIFY_SUGGEST) {
$subject = sprintf( t('Friend suggestion received at %s'), $sitename); $subject = sprintf( t('[Friendica:Notify] Friend suggestion received'));
$preamble = sprintf( t('You\'ve received a friend suggestion from \'%s\' at %s'), $params['source_name'], $sitename); $preamble = sprintf( t('You\'ve received a friend suggestion from \'%s\' at %s'), $params['source_name'], $sitename);
$epreamble = sprintf( t('You\'ve received %s for %s from %s.'), $epreamble = sprintf( t('You\'ve received %s for %s from %s.'),
'[url=$itemlink]' . t('a friend suggestion') . '[/url]', '[url=$itemlink]' . t('a friend suggestion') . '[/url]',
@ -143,6 +177,7 @@ function notification($params) {
$datarray['date'] = datetime_convert(); $datarray['date'] = datetime_convert();
$datarray['uid'] = $params['uid']; $datarray['uid'] = $params['uid'];
$datarray['link'] = $itemlink; $datarray['link'] = $itemlink;
$datarray['parent'] = $parent_id;
$datarray['type'] = $params['type']; $datarray['type'] = $params['type'];
$datarray['verb'] = $params['verb']; $datarray['verb'] = $params['verb'];
$datarray['otype'] = $params['otype']; $datarray['otype'] = $params['otype'];
@ -151,8 +186,8 @@ function notification($params) {
// create notification entry in DB // create notification entry in DB
$r = q("insert into notify (hash,name,url,photo,date,uid,link,type,verb,otype) $r = q("insert into notify (hash,name,url,photo,date,uid,link,parent,type,verb,otype)
values('%s','%s','%s','%s','%s',%d,'%s',%d,'%s','%s')", values('%s','%s','%s','%s','%s',%d,'%s',%d,%d,'%s','%s')",
dbesc($datarray['hash']), dbesc($datarray['hash']),
dbesc($datarray['name']), dbesc($datarray['name']),
dbesc($datarray['url']), dbesc($datarray['url']),
@ -160,6 +195,7 @@ function notification($params) {
dbesc($datarray['date']), dbesc($datarray['date']),
intval($datarray['uid']), intval($datarray['uid']),
dbesc($datarray['link']), dbesc($datarray['link']),
intval($datarray['parent']),
intval($datarray['type']), intval($datarray['type']),
dbesc($datarray['verb']), dbesc($datarray['verb']),
dbesc($datarray['otype']) dbesc($datarray['otype'])
@ -237,9 +273,12 @@ intval($params['uid']), LOGGER_DEBUG);
$datarray['preamble'] = $preamble; $datarray['preamble'] = $preamble;
$datarray['sitename'] = $sitename; $datarray['sitename'] = $sitename;
$datarray['siteurl'] = $siteurl; $datarray['siteurl'] = $siteurl;
$datarray['type'] = $params['type'];
$datarray['parent'] = $params['parent'];
$datarray['source_name'] = $params['source_name']; $datarray['source_name'] = $params['source_name'];
$datarray['source_link'] = $params['source_link']; $datarray['source_link'] = $params['source_link'];
$datarray['source_photo'] = $params['source_photo']; $datarray['source_photo'] = $params['source_photo'];
$datarray['uid'] = $params['uid'];
$datarray['username'] = $params['to_name']; $datarray['username'] = $params['to_name'];
$datarray['hsitelink'] = $hsitelink; $datarray['hsitelink'] = $hsitelink;
$datarray['tsitelink'] = $tsitelink; $datarray['tsitelink'] = $tsitelink;

View file

@ -2325,35 +2325,44 @@ function local_delivery($importer,$data) {
if(count($myconv)) { if(count($myconv)) {
$importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname']; $importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname'];
foreach($myconv as $conv) {
if(! link_compare($conv['author-link'],$importer_url)) // first make sure this isn't our own post coming back to us from a wall-to-wall event
continue; if(! link_compare($datarray['author-link'],$importer_url)) {
require_once('include/enotify.php');
$conv_parent = $conv['parent']; foreach($myconv as $conv) {
notification(array( // now if we find a match, it means we're in this conversation
'type' => NOTIFY_COMMENT,
'notify_flags' => $importer['notify-flags'],
'language' => $importer['language'],
'to_name' => $importer['username'],
'to_email' => $importer['email'],
'uid' => $importer['importer_uid'],
'item' => $datarray,
'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id,
'source_name' => stripslashes($datarray['author-name']),
'source_link' => $datarray['author-link'],
'source_photo' => ((link_compare($datarray['author-link'],$importer['url']))
? $importer['thumb'] : $datarray['author-avatar']),
'verb' => ACTIVITY_POST,
'otype' => 'item',
'parent' => $conv_parent,
)); if(! link_compare($conv['author-link'],$importer_url))
continue;
break; require_once('include/enotify.php');
$conv_parent = $conv['parent'];
notification(array(
'type' => NOTIFY_COMMENT,
'notify_flags' => $importer['notify-flags'],
'language' => $importer['language'],
'to_name' => $importer['username'],
'to_email' => $importer['email'],
'uid' => $importer['importer_uid'],
'item' => $datarray,
'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id,
'source_name' => stripslashes($datarray['author-name']),
'source_link' => $datarray['author-link'],
'source_photo' => ((link_compare($datarray['author-link'],$importer['url']))
? $importer['thumb'] : $datarray['author-avatar']),
'verb' => ACTIVITY_POST,
'otype' => 'item',
'parent' => $conv_parent,
));
// only send one notification
break;
}
} }
} }
} }
@ -2424,7 +2433,7 @@ function local_delivery($importer,$data) {
// This is my contact on another system, but it's really me. // This is my contact on another system, but it's really me.
// Turn this into a wall post. // Turn this into a wall post.
if($contact['remote_self']) if($importer['remote_self'])
$datarray['wall'] = 1; $datarray['wall'] = 1;
$datarray['parent-uri'] = $item_id; $datarray['parent-uri'] = $item_id;

View file

@ -116,7 +116,15 @@
* {{ inc <templatefile> [with $var1=$var2] }}{{ endinc }} * {{ inc <templatefile> [with $var1=$var2] }}{{ endinc }}
*/ */
private function _replcb_inc($args){ private function _replcb_inc($args){
list($tplfile, $newctx) = array_map('trim', explode("with",$args[2])); if (strpos($args[2],"with")) {
list($tplfile, $newctx) = array_map('trim', explode("with",$args[2]));
} else {
$tplfile = trim($args[2]);
$newctx = null;
}
if ($tplfile[0]=="$") $tplfile = $this->_get_var($tplfile);
$this->_push_stack(); $this->_push_stack();
$r = $this->r; $r = $this->r;
if (!is_null($newctx)) { if (!is_null($newctx)) {

View file

@ -786,6 +786,7 @@ function smilies($s, $sample = false) {
} }
} }
else { else {
$params['string'] = preg_replace_callback('/&lt;(3+)/','preg_heart',$params['string']);
$s = str_replace($params['texts'],$params['icons'],$params['string']); $s = str_replace($params['texts'],$params['icons'],$params['string']);
} }
@ -804,7 +805,18 @@ function smile_decode($m) {
return(str_replace($m[1],base64url_decode($m[1]),$m[0])); return(str_replace($m[1],base64url_decode($m[1]),$m[0]));
} }
// expand <3333 to the correct number of hearts
function preg_heart($x) {
$a = get_app();
if(strlen($x[1]) == 1)
return $x[0];
$t = '';
for($cnt = 0; $cnt < strlen($x[1]); $cnt ++)
$t .= '<img src="' . $a->get_baseurl() . '/images/smiley-heart.gif" alt="<3" />';
$r = str_replace($x[0],$t,$x[0]);
return $r;
}
if(! function_exists('day_translate')) { if(! function_exists('day_translate')) {
@ -1201,3 +1213,16 @@ function reltoabs($text, $base)
return $text; return $text;
} }
function item_post_type($item) {
if(intval($item['event-id']))
return t('event');
if(strlen($item['resource-id']))
return t('photo');
if(strlen($item['verb']) && $item['verb'] !== ACTIVITY_POST)
return t('activity');
if($item['id'] != $item['parent'])
return t('comment');
return t('post');
}

View file

@ -730,8 +730,8 @@ class Net_SSH1 {
/** /**
* Reads the output of an interactive shell. * Reads the output of an interactive shell.
* *
* Requires PHP 4.3.0 or later due to the use of the stream_select() function. If you see stuff like * Requires PHP 4.3.0 or later due to the use of the stream_select() function. If you see crap,
* "", you're seeing ANSI escape codes. According to * you're seeing ANSI escape codes. According to
* {@link http://support.microsoft.com/kb/101875 How to Enable ANSI.SYS in a Command Window}, "Windows NT * {@link http://support.microsoft.com/kb/101875 How to Enable ANSI.SYS in a Command Window}, "Windows NT
* does not support ANSI escape sequences in Win32 Console applications", so if you're a Windows user, * does not support ANSI escape sequences in Win32 Console applications", so if you're a Windows user,
* there's not going to be much recourse. * there's not going to be much recourse.

View file

@ -147,58 +147,8 @@ class b8_storage_frndc extends b8_storage_base
public function connect() public function connect()
{ {
return TRUE;
# Are we already connected?
if($this->connected === TRUE)
return TRUE;
# Are we using an existing passed resource?
if($this->config['connection'] === FALSE) {
# ... yes we are, but the connection is not a resource, so return an error
$this->connected = FALSE;
return self::DATABASE_CONNECTION_BAD_RESOURCE;
}
elseif($this->config['connection'] === NULL) {
# ... no we aren't so we have to connect.
if($this->_connection = mysql_connect($this->config['host'], $this->config['user'], $this->config['pass'])) {
if(mysql_select_db($this->config['database'], $this->_connection) === FALSE) {
$this->connected = FALSE;
return self::DATABASE_SELECT_ERROR . ": " . mysql_error();
}
}
else {
$this->connected = FALSE;
return self::DATABASE_CONNECTION_ERROR;
}
}
else {
# ... yes we are
$this->_connection = $this->config['connection'];
}
# Just in case ...
if($this->_connection === NULL) {
$this->connected = FALSE;
return self::DATABASE_CONNECTION_FAIL;
}
# Check to see if the wordlist table exists
if(mysql_query('DESCRIBE ' . $this->config['table_name'], $this->_connection) === FALSE) {
$this->connected = FALSE;
return self::DATABASE_TABLE_ACCESS_FAIL . ": " . mysql_error();
}
# Everything is okay and connected
$this->connected = TRUE; $this->connected = TRUE;
return TRUE;
# Let's see if this is a b8 database and the version is okay
return $this->check_database();
} }
@ -235,7 +185,7 @@ class b8_storage_frndc extends b8_storage_base
# ... and fetch the data # ... and fetch the data
$result = q(' $result = q('
SELECT token, count SELECT *
FROM ' . $this->config['table_name'] . ' FROM ' . $this->config['table_name'] . '
WHERE ' . $where . ' AND uid = ' . $uid ); WHERE ' . $where . ' AND uid = ' . $uid );

View file

@ -366,7 +366,7 @@ function admin_page_users_post(&$a){
intval( $uid ) intval( $uid )
); );
} }
notice( sprintf( tt("%s user blocked", "%s users blocked/unblocked", count($users)), count($users)) ); notice( sprintf( tt("%s user blocked/unblocked", "%s users blocked/unblocked", count($users)), count($users)) );
} }
if (x($_POST,'page_users_delete')){ if (x($_POST,'page_users_delete')){
require_once("include/Contact.php"); require_once("include/Contact.php");
@ -428,6 +428,7 @@ function admin_page_users(&$a){
LEFT JOIN `contact` ON `register`.`uid` = `contact`.`uid` LEFT JOIN `contact` ON `register`.`uid` = `contact`.`uid`
LEFT JOIN `user` ON `register`.`uid` = `user`.`uid`;"); LEFT JOIN `user` ON `register`.`uid` = `user`.`uid`;");
/* get users */ /* get users */
$total = q("SELECT count(*) as total FROM `user` where 1"); $total = q("SELECT count(*) as total FROM `user` where 1");
@ -436,6 +437,7 @@ function admin_page_users(&$a){
$a->set_pager_itemspage(100); $a->set_pager_itemspage(100);
} }
$users = q("SELECT `user` . * , `contact`.`name` , `contact`.`url` , `contact`.`micro`, `lastitem`.`lastitem_date` $users = q("SELECT `user` . * , `contact`.`name` , `contact`.`url` , `contact`.`micro`, `lastitem`.`lastitem_date`
FROM FROM
(SELECT MAX(`item`.`changed`) as `lastitem_date`, `item`.`uid` (SELECT MAX(`item`.`changed`) as `lastitem_date`, `item`.`uid`
@ -469,6 +471,7 @@ function admin_page_users(&$a){
} }
$users = array_map("_setup_users", $users); $users = array_map("_setup_users", $users);
$t = get_markup_template("admin_users.tpl"); $t = get_markup_template("admin_users.tpl");
$o = replace_macros($t, array( $o = replace_macros($t, array(
// strings // // strings //

View file

@ -505,6 +505,7 @@ function contacts_content(&$a) {
'username' => $rr['name'], 'username' => $rr['name'],
'sparkle' => $sparkle, 'sparkle' => $sparkle,
'itemurl' => $rr['url'], 'itemurl' => $rr['url'],
'url' => $url,
'network' => network_to_name($rr['network']), 'network' => network_to_name($rr['network']),
); );
} }

View file

@ -107,7 +107,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
* *
*/ */
$r = q("SELECT * FROM `contact` WHERE ( ( `issued-id` != '' AND `issued-id` = '%s' ) OR ( `id` = %d AND `id` != 0 ) ) AND `uid` = %d LIMIT 1", $r = q("SELECT * FROM `contact` WHERE ( ( `issued-id` != '' AND `issued-id` = '%s' ) OR ( `id` = %d AND `id` != 0 ) ) AND `uid` = %d AND `duplex` = 0 LIMIT 1",
dbesc($dfrn_id), dbesc($dfrn_id),
intval($cid), intval($cid),
intval($uid) intval($uid)
@ -116,6 +116,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
if(! count($r)) { if(! count($r)) {
logger('dfrn_confirm: Contact not found in DB.'); logger('dfrn_confirm: Contact not found in DB.');
notice( t('Contact not found.') . EOL ); notice( t('Contact not found.') . EOL );
notice( t('This may occasionally happen if contact was requested by both persons and it has already been approved.') . EOL );
return; return;
} }
@ -631,6 +632,15 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
xml_status(3,$message); xml_status(3,$message);
} }
// It's possible that the other person also requested friendship.
// If it is a duplex relationship, ditch the issued-id if one exists.
if($duplex) {
$r = q("UPDATE `contact` SET `issued-id` = '' WHERE `id` = %d LIMIT 1",
intval($dfrn_record)
);
}
// We're good but now we have to scrape the profile photo and send notifications. // We're good but now we have to scrape the profile photo and send notifications.

View file

@ -74,11 +74,11 @@ function display_content(&$a) {
$x = array( $x = array(
'is_owner' => true, 'is_owner' => true,
'allow_location' => $a->user['allow_location'], 'allow_location' => $a->user['allow_location'],
'default_location' => $a->user['default_location'], 'default_location' => $a->user['default-location'],
'nickname' => $a->user['nickname'], 'nickname' => $a->user['nickname'],
'lockstate' => ((($group) || (is_array($a->user) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))))) ? 'lock' : 'unlock'), 'lockstate' => ( (is_array($a->user)) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))) ? 'lock' : 'unlock'),
'acl' => populate_acl((($group || $cid) ? $def_acl : $a->user), $celeb), 'acl' => populate_acl($a->user, $celeb),
'bang' => (($group || $cid) ? '!' : ''), 'bang' => '',
'visitor' => 'block', 'visitor' => 'block',
'profile_uid' => local_user() 'profile_uid' => local_user()
); );

View file

@ -76,14 +76,17 @@ function group_content(&$a) {
if($switchtotext === false) if($switchtotext === false)
$switchtotext = 400; $switchtotext = 400;
$tpl = get_markup_template('group_edit.tpl');
$context = array('$submit' => t('Submit'));
if(($a->argc == 2) && ($a->argv[1] === 'new')) { if(($a->argc == 2) && ($a->argv[1] === 'new')) {
$tpl = get_markup_template('group_new.tpl');
$o .= replace_macros($tpl,array( return replace_macros($tpl, $context + array(
'$desc' => t('Create a group of contacts/friends.'), '$title' => t('Create a group of contacts/friends.'),
'$name' => t('Group Name: '), '$gname' => array('groupname',t('Group Name: '),$group['name'], ''),
'$submit' => t('Submit') ));
));
return $o;
} }
if(($a->argc == 3) && ($a->argv[1] === 'drop')) { if(($a->argc == 3) && ($a->argv[1] === 'drop')) {
@ -156,66 +159,61 @@ function group_content(&$a) {
$celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false); $celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);
$tpl = get_markup_template('group_edit.tpl');
$o .= replace_macros($tpl, array( $context = $context + array(
'$gid' => $group['id'],
'$name' => $group['name'],
'$drop' => $drop_txt,
'$desc' => t('Click on a contact to add or remove.'),
'$title' => t('Group Editor'), '$title' => t('Group Editor'),
'$gname' => t('Group Name: '), '$gname' => array('groupname',t('Group Name: '),$group['name'], ''),
'$submit' => t('Submit') '$gid' => $group['id'],
)); '$drop' => $drop_txt,
);
} }
if(! isset($group)) if(! isset($group))
return; return;
$o .= '<div id="group-update-wrapper">'; $groupeditor = array(
if($change) 'label_members' => t('Members'),
$o = ''; 'members' => array(),
'label_contacts' => t('All Contacts'),
'contacts' => arraY(),
);
$o .= '<h3>' . t('Members') . '</h3>';
$o .= '<div id="group-members">';
$textmode = (($switchtotext && (count($members) > $switchtotext)) ? true : false); $textmode = (($switchtotext && (count($members) > $switchtotext)) ? true : false);
foreach($members as $member) { foreach($members as $member) {
if($member['url']) { if($member['url']) {
$member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;'; $member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;';
$o .= micropro($member,true,'mpgroup', $textmode); $groupeditor['members'][] = micropro($member,true,'mpgroup', $textmode);
} }
else else
group_rmv_member(local_user(),$group['name'],$member['id']); group_rmv_member(local_user(),$group['name'],$member['id']);
} }
$o .= '</div><div id="group-members-end"></div>'; $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 ORDER BY `name` ASC",
$o .= '<hr id="group-separator" />'; intval(local_user())
);
$o .= '<h3>' . t('All Contacts') . '</h3>'; if(count($r)) {
$o .= '<div id="group-all-contacts">'; $textmode = (($switchtotext && (count($r) > $switchtotext)) ? true : false);
foreach($r as $member) {
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 ORDER BY `name` ASC", if(! in_array($member['id'],$preselected)) {
intval(local_user()) $member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;';
); $groupeditor['contacts'][] = micropro($member,true,'mpall', $textmode);
if(count($r)) {
$textmode = (($switchtotext && (count($r) > $switchtotext)) ? true : false);
foreach($r as $member) {
if(! in_array($member['id'],$preselected)) {
$member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;';
$o .= micropro($member,true,'mpall', $textmode);
}
} }
} }
}
$o .= '</div><div id="group-all-contacts-end"></div>'; $context['$groupeditor'] = $groupeditor;
$context['$desc'] = t('Click on a contact to add or remove.');
if($change) { if($change) {
echo $o; $tpl = get_markup_template('groupeditor.tpl');
echo replace_macros($tpl, $context);
killme(); killme();
} }
$o .= '</div>';
return $o; return replace_macros($tpl, $context);
} }

View file

@ -263,7 +263,7 @@ function network_content(&$a, $update = 0) {
$x = array( $x = array(
'is_owner' => true, 'is_owner' => true,
'allow_location' => $a->user['allow_location'], 'allow_location' => $a->user['allow_location'],
'default_location' => $a->user['default_location'], 'default_location' => $a->user['default-location'],
'nickname' => $a->user['nickname'], 'nickname' => $a->user['nickname'],
'lockstate' => ((($group) || (is_array($a->user) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))))) ? 'lock' : 'unlock'), 'lockstate' => ((($group) || (is_array($a->user) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))))) ? 'lock' : 'unlock'),
'acl' => populate_acl((($group || $cid) ? $def_acl : $a->user), $celeb), 'acl' => populate_acl((($group || $cid) ? $def_acl : $a->user), $celeb),

View file

@ -11,8 +11,10 @@ function notify_init(&$a) {
intval(local_user()) intval(local_user())
); );
if(count($r)) { if(count($r)) {
q("update notify set seen = 1 where id = %d and uid = %d limit 1", q("update notify set seen = 1 where ( link = '%s' or ( parent != 0 and parent = %d and otype = '%s' )) and uid = %d",
intval($a->argv[2]), dbesc($r[0]['link']),
intval($r[0]['parent']),
dbesc($r[0]['otype']),
intval(local_user()) intval(local_user())
); );
goaway($r[0]['link']); goaway($r[0]['link']);

View file

@ -14,10 +14,29 @@ function ping_init(&$a) {
$firehose = intval(get_pconfig(local_user(),'system','notify_full')); $firehose = intval(get_pconfig(local_user(),'system','notify_full'));
$z = q("select * from notify where uid = %d $t = q("select count(*) as total from notify where uid = %d and seen = 0",
order by seen asc, date desc limit 0, 50",
intval(local_user()) intval(local_user())
); );
if($t && intval($t[0]['total']) > 49) {
$z = q("select * from notify where uid = %d
and seen = 0 order by date desc limit 0, 50",
intval(local_user())
);
}
else {
$z1 = q("select * from notify where uid = %d
and seen = 0 order by date desc limit 0, 50",
intval(local_user())
);
$z2 = q("select * from notify where uid = %d
and seen = 1 order by date desc limit 0, %d",
intval(local_user()),
intval(50 - intval($t[0]['total']))
);
$z = array_merge($z1,$z2);
}
$tags = array(); $tags = array();

View file

@ -50,6 +50,8 @@ function settings_post(&$a) {
return; return;
} }
$old_page_flags = $a->user['page-flags'];
if(($a->argc > 1) && ($a->argv[1] === 'oauth') && x($_POST,'remove')){ if(($a->argc > 1) && ($a->argv[1] === 'oauth') && x($_POST,'remove')){
$key = $_POST['remove']; $key = $_POST['remove'];
q("DELETE FROM tokens WHERE id='%s' AND uid=%d", q("DELETE FROM tokens WHERE id='%s' AND uid=%d",
@ -375,7 +377,7 @@ function settings_post(&$a) {
); );
} }
if($old_visibility != $net_publish) { if(($old_visibility != $net_publish) || ($page_flags != $old_page_flags)) {
// Update global directory in background // Update global directory in background
$url = $_SESSION['my_url']; $url = $_SESSION['my_url'];
if($url && strlen(get_config('system','directory_submit_url'))) if($url && strlen(get_config('system','directory_submit_url')))

View file

@ -63,7 +63,8 @@ function viewcontacts_content(&$a) {
'username' => $rr['name'], 'username' => $rr['name'],
'url' => $url, 'url' => $url,
'sparkle' => '', 'sparkle' => '',
'item' => $rr, 'itemurl' => $rr['url'],
'network' => network_to_name($rr['network']),
); );
} }

View file

@ -1,6 +1,6 @@
<?php <?php
define( 'UPDATE_VERSION' , 1128 ); define( 'UPDATE_VERSION' , 1131 );
/** /**
* *
@ -1109,3 +1109,16 @@ function update_1127() {
) ENGINE = MyISAM DEFAULT CHARSET=utf8"); ) ENGINE = MyISAM DEFAULT CHARSET=utf8");
} }
function update_1128() {
q("alter table spam add `date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `term` ");
}
function update_1129() {
q("ALTER TABLE `notify` ADD `parent` INT NOT NULL AFTER `link` , ADD INDEX ( `parent` ), ADD INDEX ( `link` ), ADD INDEX ( `otype` ) ");
}
function update_1130() {
q("ALTER TABLE `item` ADD `file` MEDIUMTEXT NOT NULL AFTER `inform`, ADD FULLTEXT KEY (`file`) ");
}

View file

@ -1,5 +1,11 @@
<?php <?php
/**
* @package util
*/
/*
* require boot.php
*/
require_once("boot.php"); require_once("boot.php");
$a = new App; $a = new App;

View file

@ -0,0 +1,145 @@
<?php
/**
* When I installed docblox, I had the experience that it does not generate any output at all.
* This script may be used to find that kind of problems with the documentation build process.
* If docblox generates output, use another approach for debugging.
*
* Basically, docblox takes a list of files to build documentation from. This script assumes there is a file or set of files
* breaking the build when it is included in that list. It tries to calculate the smallest list containing these files.
* Unfortunatly, the original problem is NP-complete, so what the script does is a best guess only.
*
* So it starts with a list of all files in the project.
* If that list can't be build, it cuts it in two parts and tries both parts independently. If only one of them breaks,
* it takes that one and tries the same independently. If both break, it assumes this is the smallest set. This assumption
* is not necessarily true. Maybe the smallest set consists of two files and both of them were in different parts when
* the list was divided, but by now it is my best guess. To make this assumption better, the list is shuffled after every step.
*
* After that, the script tries to remove a file from the list. It tests if the list breaks and if so, it
* assumes that the file it removed belongs to the set of errorneous files.
* This is done for all files, so, in the end removing one file leads to a working doc build.
*
* @package util
* @author Alexander Kampmann
*/
/**
* This function generates a comma seperated list of file names.
*
* @package util
*
* @param array $fileset Set of file names
*
* @return string comma-seperated list of the file names
*/
function namesList($fileset) {
$fsparam="";
foreach($fileset as $file) {
$fsparam=$fsparam.",".$file;
}
return $fsparam;
};
/**
* This functions runs phpdoc on the provided list of files
* @package util
*
* @param array $fileset Set of filenames
*
* @return bool true, if that set can be built
*/
function runs($fileset) {
$fsParam=namesList($fileset);
exec('docblox -t phpdoc_out -f '.$fsParam);
if(file_exists("phpdoc_out/index.html")) {
echo "\n Subset ".$fsParam." is okay. \n";
exec('rm -r phpdoc_out');
return true;
} else {
echo "\n Subset ".$fsParam." failed. \n";
return false;
}
};
/**
* This functions cuts down a fileset by removing files until it finally works.
* it was meant to be recursive, but php's maximum stack size is to small. So it just simulates recursion.
*
* In that version, it does not necessarily generate the smallest set, because it may not alter the elements order enough.
*
* @package util
*
* @param array $fileset set of filenames
* @param int $ps number of files in subsets
*
* @return array a part of $fileset, that crashes
*/
function reduce($fileset, $ps) {
//split array...
$parts=array_chunk($fileset, $ps);
//filter working subsets...
$parts=array_filter($parts, "runs");
//melt remaining parts together
if(is_array($parts)) {
return array_reduce($parts, "array_merge", array());
}
return array();
};
//return from util folder to frindica base dir
$dir='..';
//stack for dirs to search
$dirstack=array();
//list of source files
$filelist=array();
//loop over all files in $dir
while($dh=opendir($dir)) {
while($file=readdir($dh)) {
if(is_dir($dir."/".$file)) {
//add to directory stack
if($file!=".." && $file!=".") {
array_push($dirstack, $dir."/".$file);
echo "dir ".$dir."/".$file."\n";
}
} else {
//test if it is a source file and add to filelist
if(substr($file, strlen($file)-4)==".php") {
array_push($filelist, $dir."/".$file);
echo $dir."/".$file."\n";
}
}
}
//look at the next dir
$dir=array_pop($dirstack);
}
//check the entire set
if(runs($filelist)) {
echo "I can not detect a problem. \n";
exit;
}
//check half of the set and discard if that half is okay
$res=$filelist;
$i=0;
do {
$i=count($res);
echo $i."/".count($fileset)." elements remaining. \n";
$res=reduce($res, count($res)/2);
shuffle($res);
} while(count($res)<$i);
//check one file after another
$needed=array();
while(count($res)!=0) {
$file=array_pop($res);
if(runs(array_merge($res, $needed))) {
echo "needs: ".$file." and file count ".count($needed);
array_push($needed, $file);
}
}
echo "\nSmallest Set is: ".namesList($needed)." with ".count($needed)." files. ";

View file

@ -17,6 +17,7 @@
</div> </div>
<div class="contact-name" id="contact-entry-name-$contact.id" >$contact.name</div> <div class="contact-name" id="contact-entry-name-$contact.id" >$contact.name</div>
{{ if $contact.alt_text }}<div class="contact-details" id="contact-entry-rel-$contact.id" >$contact.alt_text</div>{{ endif }}
<div class="contact-details" id="contact-entry-url-$contact.id" >$contact.itemurl</div> <div class="contact-details" id="contact-entry-url-$contact.id" >$contact.itemurl</div>
<div class="contact-details" id="contact-entry-network-$contact.id" >$contact.network</div> <div class="contact-details" id="contact-entry-network-$contact.id" >$contact.network</div>

View file

@ -1,6 +1,18 @@
{{ for $threads as $thread }} {{ for $threads as $thread }}
<div id="tread-wrapper-$thread.id" class="tread-wrapper"> <div id="tread-wrapper-$thread.id" class="tread-wrapper">
$thread.html {{ for $thread.items as $item }}
{{if $item.comment_firstcollapsed}}
<div class="hide-comments-outer">
<span id="hide-comments-total-$thread.id" class="hide-comments-total">$thread.num_comments</span> <span id="hide-comments-$thread.id" class="hide-comments fakelink" onclick="showHideComments($thread.id);">$thread.hide_text</span>
</div>
<div id="collapsed-comments-$thread.id" class="collapsed-comments" style="display: none;">
{{endif}}
{{if $item.comment_lastcollapsed}}</div>{{endif}}
{{ inc $item.template }}{{ endinc }}
{{ endfor }}
</div> </div>
{{ endfor }} {{ endfor }}

View file

@ -2,17 +2,21 @@
<div id="group-edit-wrapper" > <div id="group-edit-wrapper" >
<form action="group/$gid" id="group-edit-form" method="post" > <form action="group/$gid" id="group-edit-form" method="post" >
<div id="group-edit-name-wrapper" >
<label id="group-edit-name-label" for="group-edit-name" >$gname</label> {{ inc field_input.tpl with $field=$gname }}{{ endinc }}
<input type="text" id="group-edit-name" name="groupname" value="$name" /> {{ if $drop }}$drop{{ endif }}
</div> <div id="group-edit-submit-wrapper" >
<div id="group-edit-name-end"></div> <input type="submit" name="submit" value="$submit" >
$drop </div>
<div id="group-edit-submit-wrapper" > <div id="group-edit-select-end" ></div>
<input type="submit" name="submit" value="$submit" > </form>
</div>
<div id="group-edit-desc">$desc</div>
<div id="group-edit-select-end" ></div>
</form>
</div> </div>
{{ if $groupeditor }}
<div id="group-update-wrapper">
{{ inc groupeditor.tpl }}{{ endinc }}
</div>
{{ endif }}
{{ if $desc }}<div id="group-edit-desc">$desc</div>{{ endif }}

View file

@ -1,23 +0,0 @@
<div id="group-new-wrapper" >
<form action="group/new" method="post">
<div id="group-new-text">
<p>
$desc
<div id="group-new-input-wrapper">
<label id="group-new-label" for="group-new-name" >$name</label>
<input name="groupname" id="group-new-name" />
</div>
<div id="group-new-input-end" ></div>
<div id="group-new-submit-wrapper" >
<input type="submit" name="submit" value="$submit" />
</form>
</div>
<div id="group-new-end"></div>

16
view/groupeditor.tpl Normal file
View file

@ -0,0 +1,16 @@
<div id="group">
<h3>$groupeditor.label_members</h3>
<div id="group-members" class="contact_list">
{{ for $groupeditor.members as $c}} $c {{ endfor }}
</div>
<div id="group-members-end"></div>
<hr id="group-separator" />
</div>
<div id="contacts">
<h3>$groupeditor.label_contacts</h3>
<div id="group-all-contacts" class="contact_list">
{{ for $groupeditor.contacts as $m}} $m {{ endfor }}
</div>
<div id="group-all-contacts-end"></div>
</div>

View file

@ -1,75 +1,75 @@
<div class="wall-item-decor"> <div class="wall-item-decor">
<span class="icon s22 star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> <span class="icon s22 star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span>
{{ if $lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} {{ if $item.lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }}
<img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div> </div>
<div class="wall-item-container $indent"> <div class="wall-item-container $item.indent">
<div class="wall-item-item"> <div class="wall-item-item">
<div class="wall-item-info"> <div class="wall-item-info">
<div class="contact-photo-wrapper" <div class="contact-photo-wrapper"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$profile_url" target="redir" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
<img src="$thumb" class="contact-photo$sparkle" id="wall-item-photo-$id" alt="$name" /> <img src="$item.thumb" class="contact-photo$item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" />
</a> </a>
<a href="#" rel="#wall-item-photo-menu-$id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$id">menu</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="wall-item-menu menu-popup" id="wall-item-photo-menu-$id"> <ul class="wall-item-menu menu-popup" id="wall-item-photo-menu-$item.id">
$item_photo_menu $item.item_photo_menu
</ul> </ul>
</div> </div>
<div class="wall-item-location">$location</div> <div class="wall-item-location">$item.location</div>
</div> </div>
<div class="wall-item-content"> <div class="wall-item-content">
{{ if $title }}<h2><a href="$plink.href">$title</a></h2>{{ endif }} {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
$body $item.body
</div> </div>
</div> </div>
<div class="wall-item-bottom"> <div class="wall-item-bottom">
<div class="wall-item-links"> <div class="wall-item-links">
</div> </div>
<div class="wall-item-tags"> <div class="wall-item-tags">
{{ for $tags as $tag }} {{ for $item.tags as $item.tag }}
<span class='tag'>$tag</span> <span class='tag'>$item.tag</span>
{{ endfor }} {{ endfor }}
</div> </div>
</div> </div>
<div class="wall-item-bottom"> <div class="wall-item-bottom">
<div class=""> <div class="">
{{ if $plink }}<a class="icon s16 link" title="$plink.title" href="$plink.href">$plink.title</a>{{ endif }} {{ if $item.plink }}<a class="icon s16 link" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
</div> </div>
<div class="wall-item-actions"> <div class="wall-item-actions">
<div class="wall-item-actions-author"> <div class="wall-item-actions-author">
<a href="$profile_url" target="redir" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle">$name</span></a> <span class="wall-item-ago">$ago</span> <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">$item.ago</span>
</div> </div>
<div class="wall-item-actions-social"> <div class="wall-item-actions-social">
{{ if $star }} {{ if $item.star }}
<a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$star.do</a> <a href="#" id="star-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classdo" title="$item.star.do">$item.star.do</a>
<a href="#" id="unstar-$id" onclick="dostar($id); return false;" class="$star.classundo" title="$star.undo">$star.undo</a> <a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</a>
<a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger">$item.star.tagger</a>
{{ endif }} {{ endif }}
{{ if $vote }} {{ if $item.vote }}
<a href="#" id="like-$id" title="$vote.like.0" onclick="dolike($id,'like'); return false">$vote.like.1</a> <a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
<a href="#" id="dislike-$id" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false">$vote.dislike.1</a> <a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a>
{{ endif }} {{ endif }}
{{ if $vote.share }} {{ if $item.vote.share }}
<a href="#" id="share-$id" title="$vote.share.0" onclick="jotShare($id); return false">$vote.share.1</a> <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a>
{{ endif }} {{ endif }}
</div> </div>
<div class="wall-item-actions-tools"> <div class="wall-item-actions-tools">
{{ if $drop.dropping }} {{ if $item.drop.dropping }}
<input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" /> <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" />
<a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a> <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a>
{{ endif }} {{ endif }}
{{ if $edpost }} {{ if $item.edpost }}
<a class="icon edit s16" href="$edpost.0" title="$edpost.1"></a> <a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a>
{{ endif }} {{ endif }}
</div> </div>
@ -77,11 +77,11 @@
</div> </div>
<div class="wall-item-bottom"> <div class="wall-item-bottom">
<div class="wall-item-links"></div> <div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-$id">$like</div> <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
{{ if $conv }} {{ if $item.conv }}
<div class="wall-item-conv" id="wall-item-conv-$id" > <div class="wall-item-conv" id="wall-item-conv-$item.id" >
<a href='$conv.href' id='context-$id' title='$conv.title'>$conv.title</a> <a href='$item.conv.href' id='context-$item.id' title='$item.conv.title'>$item.conv.title</a>
{{ endif }} {{ endif }}
</div> </div>
</div> </div>

1
view/theme/diabook Submodule

@ -0,0 +1 @@
Subproject commit e29c43c4e78e42f448cbd84dc51a3a346bdab01f

View file

@ -1,40 +1,40 @@
<div class="wall-item-outside-wrapper$indent" id="wall-item-outside-wrapper-$id" > <div class="wall-item-outside-wrapper$item.indent" id="wall-item-outside-wrapper-$item.id" >
<div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > <div class="wall-item-content-wrapper$item.indent" id="wall-item-content-wrapper-$item.id" >
<div class="wall-item-info" id="wall-item-info-$id"> <div class="wall-item-info" id="wall-item-info-$item.id">
<div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$profile_url" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
<img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$name" /></a> <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" /></a>
<span onclick="openClose('wall-item-photo-menu-$id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$id">menu</span> <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
<div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
<ul> <ul>
$item_photo_menu $item.item_photo_menu
</ul> </ul>
</div> </div>
</div> </div>
<div class="wall-item-photo-end"></div> <div class="wall-item-photo-end"></div>
<div class="wall-item-location" id="wall-item-location-$id">{{ if $location }}<span class="icon globe"></span>$location {{ endif }}</div> <div class="wall-item-location" id="wall-item-location-$item.id">{{ if $item.location }}<span class="icon globe"></span>$item.location {{ endif }}</div>
</div> </div>
<div class="wall-item-lock-wrapper"> <div class="wall-item-lock-wrapper">
{{ if $lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,$id);" /></div> {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
{{ else }}<div class="wall-item-lock"></div>{{ endif }} {{ else }}<div class="wall-item-lock"></div>{{ endif }}
</div> </div>
<div class="wall-item-tools" id="wall-item-tools-$id"> <div class="wall-item-tools" id="wall-item-tools-$item.id">
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" > <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
{{ if $drop.dropping }}<a href="item/drop/$id" onclick="return confirmDelete();" class="icon drophide" title="$drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }} {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
</div> </div>
{{ if $drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$drop.select" class="item-select" name="itemselected[]" value="$id" />{{ endif }} {{ if $item.drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
<div class="wall-item-delete-end"></div> <div class="wall-item-delete-end"></div>
</div> </div>
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$item.id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$item.id">$item.title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div> <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body</div>
</div> </div>
<div class="wall-item-author"> <div class="wall-item-author">
<a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> <a href="$item.profile_url" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a>
<div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> <div class="wall-item-ago" id="wall-item-ago-$item.id">$item.ago</div>
</div> </div>
@ -42,10 +42,10 @@
<div class="wall-item-wrapper-end"></div> <div class="wall-item-wrapper-end"></div>
</div> </div>
<div class="wall-item-outside-wrapper-end$indent" ></div> <div class="wall-item-outside-wrapper-end$item.indent" ></div>
<div class="wall-item-conv" id="wall-item-conv-$id" > <div class="wall-item-conv" id="wall-item-conv-$item.id" >
{{ if $conv }} {{ if $item.conv }}
<a href='$conv.href' id='context-$id' title='$conv.title'>$conv.title</a> <a href='$item.conv.href' id='context-$item.id' title='$item.conv.title'>$item.conv.title</a>
{{ endif }} {{ endif }}
</div> </div>

View file

@ -1,77 +1,77 @@
<div class="wall-item-outside-wrapper$indent" id="wall-item-outside-wrapper-$id" > <div class="wall-item-outside-wrapper$item.indent" id="wall-item-outside-wrapper-$item.id" >
<div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > <div class="wall-item-content-wrapper$item.indent" id="wall-item-content-wrapper-$item.id" >
<div class="wall-item-info" id="wall-item-info-$id"> <div class="wall-item-info" id="wall-item-info-$item.id">
<div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$profile_url" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
<img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$name" /> <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" />
</a> </a>
<span onclick="openClose('wall-item-photo-menu-$id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$id">menu</span> <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
<div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
<ul> <ul>
$item_photo_menu $item.item_photo_menu
</ul> </ul>
</div> </div>
</div> </div>
<div class="wall-item-photo-end"></div> <div class="wall-item-photo-end"></div>
<div class="wall-item-location" id="wall-item-location-$id">{{ if $location }}<span class="icon globe"></span>$location {{ endif }}</div> <div class="wall-item-location" id="wall-item-location-$item.id">{{ if $item.location }}<span class="icon globe"></span>$item.location {{ endif }}</div>
</div> </div>
<div class="wall-item-lock-wrapper"> <div class="wall-item-lock-wrapper">
{{ if $lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,$id);" /></div> {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
{{ else }}<div class="wall-item-lock"></div>{{ endif }} {{ else }}<div class="wall-item-lock"></div>{{ endif }}
</div> </div>
<div class="wall-item-tools" id="wall-item-tools-$id"> <div class="wall-item-tools" id="wall-item-tools-$item.id">
{{ if $star }} {{ if $item.star }}
<a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }} {{ endif }}
{{ if $vote }} {{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id"> <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$vote.like.0" onclick="dolike($id,'like'); return false"></a> <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
<a href="#" class="icon dislike" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false"></a> <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ if $vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$vote.share.0" onclick="jotShare($id); return false"></a>{{ endif }} {{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div> </div>
{{ endif }} {{ endif }}
{{ if $plink }} {{ if $item.plink }}
<div class="wall-item-links-wrapper"><a href="$plink.href" title="$plink.title" target="external-link" class="icon remote-link"></a></div> <div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon remote-link"></a></div>
{{ endif }} {{ endif }}
{{ if $edpost }} {{ if $item.edpost }}
<a class="editpost icon pencil" href="$edpost.0" title="$edpost.1"></a>' <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>'
{{ endif }} {{ endif }}
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" > <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
{{ if $drop.dropping }}<a href="item/drop/$id" onclick="return confirmDelete();" class="icon drophide" title="$drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }} {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
</div> </div>
{{ if $drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$drop.select" class="item-select" name="itemselected[]" value="$id" />{{ endif }} {{ if $item.drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
<div class="wall-item-delete-end"></div> <div class="wall-item-delete-end"></div>
</div> </div>
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$item.id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$item.id">$item.title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body
<div class="body-tag"> <div class="body-tag">
{{ for $tags as $tag }} {{ for $item.tags as $item.tag }}
<span class='tag'>$tag</span> <span class='tag'>$item.tag</span>
{{ endfor }} {{ endfor }}
</div> </div>
</div> </div>
</div> </div>
<div class="wall-item-author"> <div class="wall-item-author">
<a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> <a href="$item.profile_url" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a>
<div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> <div class="wall-item-ago" id="wall-item-ago-$item.id">$item.ago</div>
</div> </div>
</div> </div>
<div class="wall-item-wrapper-end"></div> <div class="wall-item-wrapper-end"></div>
<div class="wall-item-like" id="wall-item-like-$id">$like</div> <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
<div class="wall-item-comment-wrapper" > <div class="wall-item-comment-wrapper" >
$comment $item.comment
</div> </div>
</div> </div>
<div class="wall-item-outside-wrapper-end$indent" ></div> <div class="wall-item-outside-wrapper-end$item.indent" ></div>

View file

@ -1,81 +1,81 @@
<div class="wall-item-outside-wrapper$indent wallwall" id="wall-item-outside-wrapper-$id" > <div class="wall-item-outside-wrapper$item.indent wallwall" id="wall-item-outside-wrapper-$item.id" >
<div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > <div class="wall-item-content-wrapper$item.indent" id="wall-item-content-wrapper-$item.id" >
<div class="wall-item-info wallwall" id="wall-item-info-$id"> <div class="wall-item-info wallwall" id="wall-item-info-$item.id">
<div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$id" > <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$item.id" >
<a href="$owner_url" title="$olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$id"> <a href="$item.owner_url" title="$item.olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$item.id">
<img src="$owner_photo" class="wall-item-photo$osparkle" id="wall-item-ownerphoto-$id" style="height: 80px; width: 80px;" alt="$owner_name" /></a> <img src="$item.owner_photo" class="wall-item-photo$item.osparkle" id="wall-item-ownerphoto-$item.id" style="height: 80px; width: 80px;" alt="$item.owner_name" /></a>
</div> </div>
<div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$wall" /></div> <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$item.wall" /></div>
<div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-$id" <div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-$item.id"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$profile_url" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
<img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$name" /></a> <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" /></a>
<span onclick="openClose('wall-item-photo-menu-$id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$id">menu</span> <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
<div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
<ul> <ul>
$item_photo_menu $item.item_photo_menu
</ul> </ul>
</div> </div>
</div> </div>
<div class="wall-item-photo-end"></div> <div class="wall-item-photo-end"></div>
<div class="wall-item-location" id="wall-item-location-$id">{{ if $location }}<span class="icon globe"></span>$location {{ endif }}</div> <div class="wall-item-location" id="wall-item-location-$item.id">{{ if $item.location }}<span class="icon globe"></span>$item.location {{ endif }}</div>
</div> </div>
<div class="wall-item-lock-wrapper"> <div class="wall-item-lock-wrapper">
{{ if $lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,$id);" /></div> {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
{{ else }}<div class="wall-item-lock"></div>{{ endif }} {{ else }}<div class="wall-item-lock"></div>{{ endif }}
</div> </div>
<div class="wall-item-tools" id="wall-item-tools-$id"> <div class="wall-item-tools" id="wall-item-tools-$item.id">
{{ if $star }} {{ if $item.star }}
<a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }} {{ endif }}
{{ if $vote }} {{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id"> <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$vote.like.0" onclick="dolike($id,'like'); return false"></a> <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
<a href="#" class="icon dislike" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false"></a> <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ if $vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$vote.share.0" onclick="jotShare($id); return false"></a>{{ endif }} {{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div> </div>
{{ endif }} {{ endif }}
{{ if $plink }} {{ if $item.plink }}
<div class="wall-item-links-wrapper"><a href="$plink.href" title="$plink.title" target="external-link" class="icon remote-link"></a></div> <div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon remote-link"></a></div>
{{ endif }} {{ endif }}
{{ if $edpost }} {{ if $item.edpost }}
<a class="editpost icon pencil" href="$edpost.0" title="$edpost.1"></a>' <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>'
{{ endif }} {{ endif }}
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" > <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
{{ if $drop.dropping }}<a href="item/drop/$id" onclick="return confirmDelete();" class="icon drophide" title="$drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }} {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
</div> </div>
{{ if $drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$drop.select" class="item-select" name="itemselected[]" value="$id" />{{ endif }} {{ if $item.drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
<div class="wall-item-delete-end"></div> <div class="wall-item-delete-end"></div>
</div> </div>
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$item.id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$item.id">$item.title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body
<div class="body-tag"> <div class="body-tag">
{{ for $tags as $tag }} {{ for $item.tags as $item.tag }}
<span class='tag'>$tag</span> <span class='tag'>$item.tag</span>
{{ endfor }} {{ endfor }}
</div> </div>
</div> </div>
</div> </div>
<div class="wall-item-author"> <div class="wall-item-author">
<a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> <a href="$item.profile_url" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a>
<div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> <div class="wall-item-ago" id="wall-item-ago-$item.id">$item.ago</div>
</div> </div>
</div> </div>
<div class="wall-item-wrapper-end"></div> <div class="wall-item-wrapper-end"></div>
<div class="wall-item-like" id="wall-item-like-$id">$like</div> <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
<div class="wall-item-comment-wrapper" > <div class="wall-item-comment-wrapper" >
$comment $item.comment
</div> </div>
</div> </div>
<div class="wall-item-outside-wrapper-end$indent" ></div> <div class="wall-item-outside-wrapper-end$item.indent" ></div>

View file

@ -1,6 +1,18 @@
{{ for $threads as $thread }} {{ for $threads as $thread }}
<div id="tread-wrapper-$thread.id" class="tread-wrapper"> <div id="tread-wrapper-$thread.id" class="tread-wrapper">
$thread.html {{ for $thread.items as $item }}
{{if $item.comment_firstcollapsed}}
<div class="hide-comments-outer">
<span id="hide-comments-total-$thread.id" class="hide-comments-total">$thread.num_comments</span> <span id="hide-comments-$thread.id" class="hide-comments fakelink" onclick="showHideComments($thread.id);">$thread.hide_text</span>
</div>
<div id="collapsed-comments-$thread.id" class="collapsed-comments" style="display: none;">
{{endif}}
{{if $item.comment_lastcollapsed}}</div>{{endif}}
{{ inc $item.template }}{{ endinc }}
{{ endfor }}
</div> </div>
{{ endfor }} {{ endfor }}

View file

@ -1,53 +1,53 @@
<div class="wall-item-outside-wrapper$indent$previewing" id="wall-item-outside-wrapper-$id" > <div class="wall-item-outside-wrapper$item.indent$item.previewing" id="wall-item-outside-wrapper-$item.id" >
<div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > <div class="wall-item-content-wrapper$item.indent" id="wall-item-content-wrapper-$item.id" >
<div class="wall-item-info" id="wall-item-info-$id"> <div class="wall-item-info" id="wall-item-info-$item.id">
<div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$profile_url" target="redir" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
<img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$name" /></a> <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" /></a>
<span onclick="openClose('wall-item-photo-menu-$id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$id">menu</span> <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
<div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
<ul> <ul>
$item_photo_menu $item.item_photo_menu
</ul> </ul>
</div> </div>
</div> </div>
<div class="wall-item-photo-end"></div> <div class="wall-item-photo-end"></div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$id" > <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" >
{{ if $lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,$id);" /></div> {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
{{ else }}<div class="wall-item-lock"></div>{{ endif }} {{ else }}<div class="wall-item-lock"></div>{{ endif }}
<div class="wall-item-location" id="wall-item-location-$id">$location</div> <div class="wall-item-location" id="wall-item-location-$item.id">$item.location</div>
</div> </div>
</div> </div>
<div class="wall-item-author"> <div class="wall-item-author">
<a href="$profile_url" target="redir" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a>
<div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> <div class="wall-item-ago" id="wall-item-ago-$item.id">$item.ago</div>
</div> </div>
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$item.id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$item.id">$item.title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div> <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body</div>
</div> </div>
<div class="wall-item-tools" id="wall-item-tools-$id"> <div class="wall-item-tools" id="wall-item-tools-$item.id">
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" > <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
{{ if $drop.dropping }}<a href="item/drop/$id" onclick="return confirmDelete();" class="icon drophide" title="$drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }} {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
</div> </div>
{{ if $drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$drop.select" class="item-select" name="itemselected[]" value="$id" />{{ endif }} {{ if $item.drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
<div class="wall-item-delete-end"></div> <div class="wall-item-delete-end"></div>
</div> </div>
</div> </div>
<div class="wall-item-wrapper-end"></div> <div class="wall-item-wrapper-end"></div>
<div class="wall-item-conv" id="wall-item-conv-$id" > <div class="wall-item-conv" id="wall-item-conv-$item.id" >
{{ if $conv }} {{ if $item.conv }}
<a href='$conv.href' id='context-$id' title='$conv.title'>$conv.title</a> <a href='$item.conv.href' id='context-$item.id' title='$item.conv.title'>$item.conv.title</a>
{{ endif }} {{ endif }}
</div> </div>
<div class="wall-item-outside-wrapper-end$indent" ></div> <div class="wall-item-outside-wrapper-end$item.indent" ></div>
</div> </div>

View file

@ -1,76 +1,76 @@
<div class="wall-item-outside-wrapper$indent$previewing" id="wall-item-outside-wrapper-$id" > <div class="wall-item-outside-wrapper$item.indent$item.previewing" id="wall-item-outside-wrapper-$item.id" >
<div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > <div class="wall-item-content-wrapper$item.indent" id="wall-item-content-wrapper-$item.id" >
<div class="wall-item-info" id="wall-item-info-$id"> <div class="wall-item-info" id="wall-item-info-$item.id">
<div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$profile_url" target="redir" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
<img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$name" /> <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" />
</a> </a>
<span onclick="openClose('wall-item-photo-menu-$id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$id">menu</span> <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
<div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
<ul> <ul>
$item_photo_menu $item.item_photo_menu
</ul> </ul>
</div> </div>
</div> </div>
<div class="wall-item-photo-end"></div> <div class="wall-item-photo-end"></div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$id" > <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" >
{{ if $lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,$id);" /></div> {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
{{ else }}<div class="wall-item-lock"></div>{{ endif }} {{ else }}<div class="wall-item-lock"></div>{{ endif }}
<div class="wall-item-location" id="wall-item-location-$id">$location</div> <div class="wall-item-location" id="wall-item-location-$item.id">$item.location</div>
</div> </div>
</div> </div>
<div class="wall-item-author"> <div class="wall-item-author">
<a href="$profile_url" target="redir" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a>
<div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> <div class="wall-item-ago" id="wall-item-ago-$item.id">$item.ago</div>
</div> </div>
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$item.id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$item.id">$item.title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body
<div class="body-tag"> <div class="body-tag">
{{ for $tags as $tag }} {{ for $item.tags as $item.tag }}
<span class='tag'>$tag</span> <span class='tag'>$item.tag</span>
{{ endfor }} {{ endfor }}
</div> </div>
</div> </div>
</div> </div>
<div class="wall-item-tools" id="wall-item-tools-$id"> <div class="wall-item-tools" id="wall-item-tools-$item.id">
{{ if $vote }} {{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id"> <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$vote.like.0" onclick="dolike($id,'like'); return false"></a> <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
<a href="#" class="icon dislike" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false"></a> <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ if $vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$vote.share.0" onclick="jotShare($id); return false"></a>{{ endif }} {{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div> </div>
{{ endif }} {{ endif }}
{{ if $plink }} {{ if $item.plink }}
<div class="wall-item-links-wrapper"><a href="$plink.href" title="$plink.title" target="external-link" class="icon remote-link"></a></div> <div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon remote-link"></a></div>
{{ endif }} {{ endif }}
{{ if $edpost }} {{ if $item.edpost }}
<a class="editpost icon pencil" href="$edpost.0" title="$edpost.1"></a> <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
{{ endif }} {{ endif }}
{{ if $star }} {{ if $item.star }}
<a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }} {{ endif }}
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" > <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
{{ if $drop.dropping }}<a href="item/drop/$id" onclick="return confirmDelete();" class="icon drophide" title="$drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }} {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
</div> </div>
{{ if $drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$drop.select" class="item-select" name="itemselected[]" value="$id" />{{ endif }} {{ if $item.drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
<div class="wall-item-delete-end"></div> <div class="wall-item-delete-end"></div>
</div> </div>
</div> </div>
<div class="wall-item-wrapper-end"></div> <div class="wall-item-wrapper-end"></div>
<div class="wall-item-like" id="wall-item-like-$id">$like</div> <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
<div class="wall-item-comment-wrapper" > <div class="wall-item-comment-wrapper" >
$comment $item.comment
</div> </div>
<div class="wall-item-outside-wrapper-end$indent" ></div> <div class="wall-item-outside-wrapper-end$item.indent" ></div>
</div> </div>

View file

@ -1,82 +1,82 @@
<div class="wall-item-outside-wrapper$indent$previewing wallwall" id="wall-item-outside-wrapper-$id" > <div class="wall-item-outside-wrapper$item.indent$item.previewing wallwall" id="wall-item-outside-wrapper-$item.id" >
<div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > <div class="wall-item-content-wrapper$item.indent" id="wall-item-content-wrapper-$item.id" >
<div class="wall-item-info wallwall" id="wall-item-info-$id"> <div class="wall-item-info wallwall" id="wall-item-info-$item.id">
<div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$id" > <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$item.id" >
<a href="$owner_url" target="redir" title="$olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$id"> <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$item.id">
<img src="$owner_photo" class="wall-item-photo$osparkle" id="wall-item-ownerphoto-$id" style="height: 80px; width: 80px;" alt="$owner_name" /></a> <img src="$item.owner_photo" class="wall-item-photo$item.osparkle" id="wall-item-ownerphoto-$item.id" style="height: 80px; width: 80px;" alt="$item.owner_name" /></a>
</div> </div>
<div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$wall" /></div> <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$item.wall" /></div>
<div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-$id" <div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-$item.id"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$profile_url" target="redir" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
<img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$name" /></a> <img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" /></a>
<span onclick="openClose('wall-item-photo-menu-$id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$id">menu</span> <span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
<div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> <div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
<ul> <ul>
$item_photo_menu $item.item_photo_menu
</ul> </ul>
</div> </div>
</div> </div>
<div class="wall-item-photo-end"></div> <div class="wall-item-photo-end"></div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$id" > <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" >
{{ if $lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,$id);" /></div> {{ if $item.lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$item.lock" onclick="lockview(event,$item.id);" /></div>
{{ else }}<div class="wall-item-lock"></div>{{ endif }} {{ else }}<div class="wall-item-lock"></div>{{ endif }}
<div class="wall-item-location" id="wall-item-location-$id">$location</div> <div class="wall-item-location" id="wall-item-location-$item.id">$item.location</div>
</div> </div>
</div> </div>
<div class="wall-item-author"> <div class="wall-item-author">
<a href="$profile_url" target="redir" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> $to <a href="$owner_url" target="redir" title="$olinktitle" class="wall-item-name-link"><span class="wall-item-name$osparkle" id="wall-item-ownername-$id">$owner_name</span></a> $vwall<br /> <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a> $item.to <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="wall-item-name-link"><span class="wall-item-name$item.osparkle" id="wall-item-ownername-$item.id">$item.owner_name</span></a> $item.vwall<br />
<div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> <div class="wall-item-ago" id="wall-item-ago-$item.id">$item.ago</div>
</div> </div>
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$item.id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$item.id">$item.title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body
<div class="body-tag"> <div class="body-tag">
{{ for $tags as $tag }} {{ for $item.tags as $item.tag }}
<span class='tag'>$tag</span> <span class='tag'>$item.tag</span>
{{ endfor }} {{ endfor }}
</div> </div>
</div> </div>
</div> </div>
<div class="wall-item-tools" id="wall-item-tools-$id"> <div class="wall-item-tools" id="wall-item-tools-$item.id">
{{ if $vote }} {{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id"> <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$vote.like.0" onclick="dolike($id,'like'); return false"></a> <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
<a href="#" class="icon dislike" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false"></a> <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ if $vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$vote.share.0" onclick="jotShare($id); return false"></a>{{ endif }} {{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div> </div>
{{ endif }} {{ endif }}
{{ if $plink }} {{ if $item.plink }}
<div class="wall-item-links-wrapper"><a href="$plink.href" title="$plink.title" target="external-link" class="icon remote-link"></a></div> <div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon remote-link"></a></div>
{{ endif }} {{ endif }}
{{ if $edpost }} {{ if $item.edpost }}
<a class="editpost icon pencil" href="$edpost.0" title="$edpost.1"></a> <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
{{ endif }} {{ endif }}
{{ if $star }} {{ if $item.star }}
<a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }} {{ endif }}
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" > <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
{{ if $drop.dropping }}<a href="item/drop/$id" onclick="return confirmDelete();" class="icon drophide" title="$drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }} {{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
</div> </div>
{{ if $drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$drop.select" class="item-select" name="itemselected[]" value="$id" />{{ endif }} {{ if $item.drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
<div class="wall-item-delete-end"></div> <div class="wall-item-delete-end"></div>
</div> </div>
</div> </div>
<div class="wall-item-wrapper-end"></div> <div class="wall-item-wrapper-end"></div>
<div class="wall-item-like" id="wall-item-like-$id">$like</div> <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
<div class="wall-item-comment-separator"></div> <div class="wall-item-comment-separator"></div>
<div class="wall-item-comment-wrapper" > <div class="wall-item-comment-wrapper" >
$comment $item.comment
</div> </div>
<div class="wall-item-outside-wrapper-end$indent" ></div> <div class="wall-item-outside-wrapper-end$item.indent" ></div>
</div> </div>

View file

@ -71,6 +71,8 @@
@NoticeColor: @Grey1; @NoticeColor: @Grey1;
@NoticeBackgroundColor: #511919; @NoticeBackgroundColor: #511919;
@FieldHelpColor: @Grey3;
@ThreadBackgroundColor: #f6f7f8; @ThreadBackgroundColor: #f6f7f8;
@ShinyBorderColor: @Yellow1; @ShinyBorderColor: @Yellow1;

View file

@ -890,6 +890,31 @@ ul.tabs {
} }
/** group editor **/
#group-edit-desc { margin-top: 1em; color: @FieldHelpColor; }
#group-update-wrapper{
height: auto; overflow: auto;
#group {
width:300px;
float:left;
margin-right:20px;
}
#contacts {
width:300px;
float:left;
}
#group-separator { display: none; }
.contact_list {
height: 300px;
border: 1px solid @MenuBorder;
overflow: auto;
.contact-block-div {
width: 50px; height: 50px;
float: left;
}
}
}
/** /**
* Form fields * Form fields
*/ */
@ -913,7 +938,7 @@ ul.tabs {
.field_help { .field_help {
display: block; display: block;
margin-left: 200px; margin-left: 200px;
color: #666666; color: @FieldHelpColor;
} }

View file

@ -1304,6 +1304,37 @@ ul.tabs li {
ul.tabs li .active { ul.tabs li .active {
border-bottom: 1px solid #005c94; border-bottom: 1px solid #005c94;
} }
/** group editor **/
#group-edit-desc {
margin-top: 1em;
color: #999999;
}
#group-update-wrapper {
height: auto;
overflow: auto;
}
#group-update-wrapper #group {
width: 300px;
float: left;
margin-right: 20px;
}
#group-update-wrapper #contacts {
width: 300px;
float: left;
}
#group-update-wrapper #group-separator {
display: none;
}
#group-update-wrapper .contact_list {
height: 300px;
border: 1px solid #364e59;
overflow: auto;
}
#group-update-wrapper .contact_list .contact-block-div {
width: 50px;
height: 50px;
float: left;
}
/** /**
* Form fields * Form fields
*/ */
@ -1326,7 +1357,7 @@ ul.tabs li .active {
.field .field_help { .field .field_help {
display: block; display: block;
margin-left: 200px; margin-left: 200px;
color: #666666; color: #999999;
} }
.field .onoff { .field .onoff {
float: left; float: left;

View file

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

View file

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

View file

@ -1,88 +1,88 @@
{{ if $indent }}{{ else }} {{ if $item.indent }}{{ else }}
<div class="wall-item-decor"> <div class="wall-item-decor">
<span class="icon star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> <span class="icon star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span>
{{ if $lock }}<span class="icon lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} {{ if $item.lock }}<span class="icon lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }}
<img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div> </div>
{{ endif }} {{ endif }}
<div class="wall-item-container $indent"> <div class="wall-item-container $item.indent">
<div class="wall-item-item"> <div class="wall-item-item">
<div class="wall-item-info"> <div class="wall-item-info">
<div class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-$id" > <div class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-$item.id" >
<a href="$owner_url" target="redir" title="$olinktitle" class="contact-photo-link" id="wall-item-ownerphoto-link-$id"> <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="contact-photo-link" id="wall-item-ownerphoto-link-$item.id">
<img src="$owner_photo" class="contact-photo $osparkle" id="wall-item-ownerphoto-$id" alt="$owner_name" /> <img src="$item.owner_photo" class="contact-photo $item.osparkle" id="wall-item-ownerphoto-$item.id" alt="$item.owner_name" />
</a> </a>
</div> </div>
<div class="contact-photo-wrapper mframe wwfrom" <div class="contact-photo-wrapper mframe wwfrom"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$profile_url" target="redir" title="$linktitle" class="contact-photo-link" id="wall-item-photo-link-$id"> <a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id">
<img src="$thumb" class="contact-photo $sparkle" id="wall-item-photo-$id" alt="$name" /> <img src="$item.thumb" class="contact-photo $item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" />
</a> </a>
<a href="#" rel="#wall-item-photo-menu-$id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$id">menu</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-$id"> <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id">
$item_photo_menu $item.item_photo_menu
</ul> </ul>
</div> </div>
</div> </div>
<div class="wall-item-actions-author"> <div class="wall-item-actions-author">
<a href="$profile_url" target="redir" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle">$name</span></a> <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>
$to <a href="$owner_url" target="redir" title="$olinktitle" class="wall-item-name-link"><span class="wall-item-name$osparkle" id="wall-item-ownername-$id">$owner_name</span></a> $item.to <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="wall-item-name-link"><span class="wall-item-name$item.osparkle" id="wall-item-ownername-$item.id">$item.owner_name</span></a>
$vwall <span class="wall-item-ago">- &nbsp; $item.vwall <span class="wall-item-ago">- &nbsp;
{{ if $plink }}<a class="link" title="$plink.title" href="$plink.href" style="color: #999">$ago</a>{{ else }} $ago {{ endif }} {{ 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 $lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$id);">$lock</span> {{ endif }} {{ if $item.lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$item.id);">$item.lock</span> {{ endif }}
</span> </span>
</div> </div>
<div class="wall-item-content"> <div class="wall-item-content">
{{ if $title }}<h2><a href="$plink.href">$title</a></h2>{{ endif }} {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
$body $item.body
</div> </div>
</div> </div>
<div class="wall-item-bottom"> <div class="wall-item-bottom">
<div class="wall-item-links"> <div class="wall-item-links">
</div> </div>
<div class="wall-item-tags"> <div class="wall-item-tags">
{{ for $tags as $tag }} {{ for $item.tags as $item.tag }}
<span class='tag'>$tag</span> <span class='tag'>$item.tag</span>
{{ endfor }} {{ endfor }}
</div> </div>
</div> </div>
<div class="wall-item-bottom"> <div class="wall-item-bottom">
<div class="wall-item-links"> <div class="wall-item-links">
{{ if $plink }}<a class="icon s16 link" title="$plink.title" href="$plink.href">$plink.title</a>{{ endif }} {{ if $item.plink }}<a class="icon s16 link" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
</div> </div>
<div class="wall-item-actions"> <div class="wall-item-actions">
<div class="wall-item-location">$location&nbsp;</div> <div class="wall-item-location">$item.location&nbsp;</div>
<div class="wall-item-actions-social"> <div class="wall-item-actions-social">
{{ if $star }} {{ if $item.star }}
<a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$star.do</a> <a href="#" id="star-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classdo" title="$item.star.do">$item.star.do</a>
<a href="#" id="unstar-$id" onclick="dostar($id); return false;" class="$star.classundo" title="$star.undo">$star.undo</a> <a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</a>
<a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger">$item.star.tagger</a>
{{ endif }} {{ endif }}
{{ if $vote }} {{ if $item.vote }}
<a href="#" id="like-$id" title="$vote.like.0" onclick="dolike($id,'like'); return false">$vote.like.1</a> <a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
<a href="#" id="dislike-$id" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false">$vote.dislike.1</a> <a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a>
{{ endif }} {{ endif }}
{{ if $vote.share }} {{ if $item.vote.share }}
<a href="#" id="share-$id" title="$vote.share.0" onclick="jotShare($id); return false">$vote.share.1</a> <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a>
{{ endif }} {{ endif }}
</div> </div>
<div class="wall-item-actions-tools"> <div class="wall-item-actions-tools">
{{ if $drop.dropping }} {{ if $item.drop.dropping }}
<input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" /> <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" />
<a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a> <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a>
{{ endif }} {{ endif }}
{{ if $edpost }} {{ if $item.edpost }}
<a class="icon edit s16" href="$edpost.0" title="$edpost.1"></a> <a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a>
{{ endif }} {{ endif }}
</div> </div>
@ -90,10 +90,10 @@
</div> </div>
<div class="wall-item-bottom"> <div class="wall-item-bottom">
<div class="wall-item-links"></div> <div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-$id">$like</div> <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
</div> </div>
</div> </div>
<div class="wall-item-comment-wrapper" > <div class="wall-item-comment-wrapper" >
$comment $item.comment
</div> </div>

View file

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

View file

@ -1,82 +1,82 @@
<div class="wall-item-decor"> <div class="wall-item-decor">
<span class="icon s22 star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> <span class="icon s22 star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span>
{{ if $lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} {{ if $item.lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }}
<img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div> </div>
<div class="wall-item-container $indent"> <div class="wall-item-container $item.indent">
<div class="wall-item-item"> <div class="wall-item-item">
<div class="wall-item-info"> <div class="wall-item-info">
<div class="contact-photo-wrapper mframe wwfrom" <div class="contact-photo-wrapper mframe wwfrom"
onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$profile_url" target="redir" title="$linktitle" class="contact-photo-link" id="wall-item-photo-link-$id"> <a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id">
<img src="$thumb" class="contact-photo $sparkle" id="wall-item-photo-$id" alt="$name" /> <img src="$item.thumb" class="contact-photo $item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" />
</a> </a>
<a href="#" rel="#wall-item-photo-menu-$id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$id">menu</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-$id"> <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id">
$item_photo_menu $item.item_photo_menu
</ul> </ul>
</div> </div>
<div class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-$id" > <div class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-$item.id" >
<a href="$owner_url" target="redir" title="$olinktitle" class="contact-photo-link" id="wall-item-ownerphoto-link-$id"> <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="contact-photo-link" id="wall-item-ownerphoto-link-$item.id">
<img src="$owner_photo" class="contact-photo $osparkle" id="wall-item-ownerphoto-$id" alt="$owner_name" /> <img src="$item.owner_photo" class="contact-photo $item.osparkle" id="wall-item-ownerphoto-$item.id" alt="$item.owner_name" />
</a> </a>
</div> </div>
<div class="wall-item-location">$location</div> <div class="wall-item-location">$item.location</div>
</div> </div>
<div class="wall-item-content"> <div class="wall-item-content">
{{ if $title }}<h2><a href="$plink.href">$title</a></h2>{{ endif }} {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
$body $item.body
</div> </div>
</div> </div>
<div class="wall-item-bottom"> <div class="wall-item-bottom">
<div class="wall-item-links"> <div class="wall-item-links">
</div> </div>
<div class="wall-item-tags"> <div class="wall-item-tags">
{{ for $tags as $tag }} {{ for $item.tags as $item.tag }}
<span class='tag'>$tag</span> <span class='tag'>$item.tag</span>
{{ endfor }} {{ endfor }}
</div> </div>
</div> </div>
<div class="wall-item-bottom"> <div class="wall-item-bottom">
<div class="wall-item-links"> <div class="wall-item-links">
{{ if $plink }}<a class="icon s16 link" title="$plink.title" href="$plink.href">$plink.title</a>{{ endif }} {{ if $item.plink }}<a class="icon s16 link" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
</div> </div>
<div class="wall-item-actions"> <div class="wall-item-actions">
<div class="wall-item-actions-author"> <div class="wall-item-actions-author">
<a href="$profile_url" target="redir" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle">$name</span></a> <span class="wall-item-ago">$ago</span> <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">$item.ago</span>
<br/>$to <a href="$owner_url" target="redir" title="$olinktitle" class="wall-item-name-link"><span class="wall-item-name$osparkle" id="wall-item-ownername-$id">$owner_name</span></a> $vwall <br/>$item.to <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="wall-item-name-link"><span class="wall-item-name$item.osparkle" id="wall-item-ownername-$item.id">$item.owner_name</span></a> $item.vwall
</div> </div>
<div class="wall-item-actions-social"> <div class="wall-item-actions-social">
{{ if $star }} {{ if $item.star }}
<a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$star.do</a> <a href="#" id="star-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classdo" title="$item.star.do">$item.star.do</a>
<a href="#" id="unstar-$id" onclick="dostar($id); return false;" class="$star.classundo" title="$star.undo">$star.undo</a> <a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</a>
<a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger">$item.star.tagger</a>
{{ endif }} {{ endif }}
{{ if $vote }} {{ if $item.vote }}
<a href="#" id="like-$id" title="$vote.like.0" onclick="dolike($id,'like'); return false">$vote.like.1</a> <a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
<a href="#" id="dislike-$id" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false">$vote.dislike.1</a> <a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a>
{{ endif }} {{ endif }}
{{ if $vote.share }} {{ if $item.vote.share }}
<a href="#" id="share-$id" title="$vote.share.0" onclick="jotShare($id); return false">$vote.share.1</a> <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a>
{{ endif }} {{ endif }}
</div> </div>
<div class="wall-item-actions-tools"> <div class="wall-item-actions-tools">
{{ if $drop.dropping }} {{ if $item.drop.dropping }}
<input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" /> <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" />
<a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a> <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a>
{{ endif }} {{ endif }}
{{ if $edpost }} {{ if $item.edpost }}
<a class="icon edit s16" href="$edpost.0" title="$edpost.1"></a> <a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a>
{{ endif }} {{ endif }}
</div> </div>
@ -84,10 +84,10 @@
</div> </div>
<div class="wall-item-bottom"> <div class="wall-item-bottom">
<div class="wall-item-links"></div> <div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-$id">$like</div> <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
</div> </div>
</div> </div>
<div class="wall-item-comment-wrapper" > <div class="wall-item-comment-wrapper" >
$comment $item.comment
</div> </div>