diff options
50 files changed, 1128 insertions, 741 deletions
diff --git a/.gitignore b/.gitignore index 3dfb8a903..6302bc1c8 100755 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,11 @@ home.html 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 @@ -1,4 +1,4 @@ -Copyright (c) 2010, 2011 the Friendica Project +Copyright (c) 2010-2012 the Friendica Project All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy @@ -0,0 +1,4 @@ +Friendica Social Communications Server +====================================== + +Welcome to the free social web. @@ -9,9 +9,9 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1264' ); +define ( 'FRIENDICA_VERSION', '2.3.1268' ); define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); -define ( 'DB_UPDATE_VERSION', 1128 ); +define ( 'DB_UPDATE_VERSION', 1131 ); define ( 'EOL', "<br />\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/build.xml b/build.xml new file mode 100644 index 000000000..83c530026 --- /dev/null +++ b/build.xml @@ -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> diff --git a/database.sql b/database.sql index 349dd2a27..35c257f02 100755 --- a/database.sql +++ b/database.sql @@ -216,6 +216,7 @@ CREATE TABLE IF NOT EXISTS `item` ( `tag` mediumtext NOT NULL, `attach` mediumtext NOT NULL, `inform` mediumtext NOT NULL, + `file` mediumtext NOT NULL, `location` char(255) NOT NULL, `coord` char(255) NOT NULL, `allow_cid` mediumtext NOT NULL, @@ -262,6 +263,7 @@ CREATE TABLE IF NOT EXISTS `item` ( FULLTEXT KEY `title` (`title`), FULLTEXT KEY `body` (`body`), FULLTEXT KEY `tag` (`tag`), + FULLTEXT KEY `file` (`file`), FULLTEXT KEY `allow_cid` (`allow_cid`), FULLTEXT KEY `allow_gid` (`allow_gid`), FULLTEXT KEY `deny_cid` (`deny_cid`), @@ -752,14 +754,18 @@ CREATE TABLE IF NOT EXISTS `notify` ( `msg` MEDIUMTEXT NOT NULL , `uid` INT NOT NULL , `link` CHAR( 255 ) NOT NULL , +`parent` INT( 11 ) NOT NULL, `seen` TINYINT( 1 ) NOT NULL DEFAULT '0', `verb` CHAR( 255 ) NOT NULL, `otype` CHAR( 16 ) NOT NULL, INDEX ( `hash` ), INDEX ( `type` ), INDEX ( `uid` ), +INDEX ( `link` ), +INDEX ( `parent` ), INDEX ( `seen` ), -INDEX ( `date` ) +INDEX ( `date` ), +INDEX ( `otype` ) ) ENGINE = MyISAM DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `item_id` ( @@ -844,6 +850,7 @@ CREATE TABLE IF NOT EXISTS `spam` ( `spam` INT NOT NULL DEFAULT '0', `ham` INT NOT NULL DEFAULT '0', `term` CHAR(255) NOT NULL, +`date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', INDEX ( `uid` ), INDEX ( `spam` ), INDEX ( `ham` ), diff --git a/include/Scrape.php b/include/Scrape.php index 4c4ad3cdb..8344aa737 100755 --- a/include/Scrape.php +++ b/include/Scrape.php @@ -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 { diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 6070b7db2..67d8cebde 100755 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -1,6 +1,11 @@ <?php +/** + * + */ - +/** + * @package acl_selectors + */ function group_select($selname,$selclass,$preselected = false,$size = 4) { $a = get_app(); diff --git a/include/conversation.php b/include/conversation.php index 2ef37694d..f4740688c 100755 --- a/include/conversation.php +++ b/include/conversation.php @@ -6,11 +6,6 @@ function localize_item(&$item){ $Text = $item['body']; - - - // find private image (w/data url) if present and convert image - // link to a magic-auth redirect. - $saved_image = ''; $img_start = strpos($Text,'[img]data:'); $img_end = strpos($Text,'[/img]'); @@ -184,6 +179,7 @@ function localize_item(&$item){ * that are based on unique features of the calling module. * */ + if(!function_exists('conversation')){ function conversation(&$a, $items, $mode, $update, $preview = false) { require_once('bbcode.php'); @@ -231,13 +227,13 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $items = $cb['items']; $cmnt_tpl = get_markup_template('comment_item.tpl'); - $tpl = get_markup_template('wall_item.tpl'); - $wallwall = get_markup_template('wallwall_item.tpl'); + $tpl = 'wall_item.tpl'; + $wallwall = 'wallwall_item.tpl'; $hide_comments_tpl = get_markup_template('hide_comments.tpl'); $alike = array(); $dlike = array(); - $o = ""; + // array with html for each thread (parent+comments) $threads = array(); @@ -250,7 +246,8 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { // "New Item View" on network page or search page results // - 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) { $threadsid++; @@ -316,43 +313,46 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $body = prepare_body($item,true); - $tmp_item = replace_macros($tpl,array( - '$id' => (($preview) ? 'P0' : $item['item_id']), - '$linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), - '$profile_url' => $profile_link, - '$item_photo_menu' => item_photo_menu($item), - '$name' => template_escape($profile_name), - '$sparkle' => $sparkle, - '$lock' => $lock, - '$thumb' => $profile_avatar, - '$title' => template_escape($item['title']), - '$body' => template_escape($body), - '$ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])), - '$lock' => $lock, - '$location' => template_escape($location), - '$indent' => '', - '$owner_name' => template_escape($owner_name), - '$owner_url' => $owner_url, - '$owner_photo' => $owner_photo, - '$plink' => get_plink($item), - '$edpost' => false, - '$isstarred' => $isstarred, - '$star' => $star, - '$drop' => $drop, - '$vote' => $likebuttons, - '$like' => '', - '$dislike' => '', - '$comment' => '', - '$conv' => (($preview) ? '' : array('href'=> $a->get_baseurl() . '/display/' . $nickname . '/' . $item['id'], 'title'=> t('View in context'))), - '$previewing' => $previewing, - '$wait' => t('Please wait'), - )); + //$tmp_item = replace_macros($tpl,array( + $tmp_item = array( + 'template' => $tpl, + 'id' => (($preview) ? 'P0' : $item['item_id']), + 'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), + 'profile_url' => $profile_link, + 'item_photo_menu' => item_photo_menu($item), + 'name' => template_escape($profile_name), + 'sparkle' => $sparkle, + 'lock' => $lock, + 'thumb' => $profile_avatar, + 'title' => template_escape($item['title']), + 'body' => template_escape($body), + 'text' => strip_tags(template_escape($body)), + 'ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])), + 'lock' => $lock, + 'location' => template_escape($location), + 'indent' => '', + 'owner_name' => template_escape($owner_name), + 'owner_url' => $owner_url, + 'owner_photo' => $owner_photo, + 'plink' => get_plink($item), + 'edpost' => false, + 'isstarred' => $isstarred, + 'star' => $star, + 'drop' => $drop, + 'vote' => $likebuttons, + 'like' => '', + 'dislike' => '', + '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); call_hooks('display_item', $arr); $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; + $comment_lastcollapsed = false; + $comment_firstcollapsed = false; $blowhard = 0; $blowhard_count = 0; @@ -438,10 +440,12 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $comments_seen = 0; $comments_collapsed = false; + $comment_lastcollapsed = false; + $comment_firstcollapsed = false; $threadsid++; $threads[$threadsid]['id'] = $item['item_id']; - $threads[$threadsid]['html'] = ""; + $threads[$threadsid]['items'] = array(); } else { @@ -449,6 +453,8 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { if((! $toplevelpost) && (! $toplevelprivate) && ($item['private']) && ($profile_owner != local_user())) continue; $comments_seen ++; + $comment_lastcollapsed = false; + $comment_firstcollapsed = 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_collapsed) { - - // IMPORTANT: the closing </div> in the hide_comments template - // is supplied below in code. - $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') - )); + if (!$comments_collapsed){ + $threads[$threadsid]['num_comments'] = sprintf( tt('%d comment','%d comments',$comments[$item['parent']]),$comments[$item['parent']] ); + $threads[$threadsid]['hide_text'] = t('show more'); $comments_collapsed = true; + $comment_firstcollapsed = true; } } 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'] ; @@ -649,63 +649,72 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { // Build the HTML $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, + + 'type' => implode("",array_slice(split("/",$item['verb']),-1)), + 'tags' => $tags, + 'body' => template_escape($body), + 'text' => strip_tags(template_escape($body)), + 'id' => $item['item_id'], + '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'])), + 'to' => t('to'), + 'wall' => t('Wall-to-Wall'), + 'vwall' => t('via Wall-To-Wall:'), + 'profile_url' => $profile_link, + 'item_photo_menu' => item_photo_menu($item), + 'name' => template_escape($profile_name), + 'thumb' => $profile_avatar, + 'osparkle' => $osparkle, + 'sparkle' => $sparkle, + 'title' => template_escape($item['title']), + 'ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])), + 'lock' => $lock, + 'location' => template_escape($location), + 'indent' => $indent, + 'owner_url' => $owner_url, + 'owner_photo' => $owner_photo, + 'owner_name' => template_escape($owner_name), + 'plink' => get_plink($item), + 'edpost' => $edpost, + 'isstarred' => $isstarred, + 'star' => $star, + 'drop' => $drop, + 'vote' => $likebuttons, + 'like' => $like, + 'dislike' => $dislike, + 'comment' => $comment, + 'previewing' => $previewing, + 'wait' => t('Please wait'), - $tmp_item = replace_macros($template,array( - '$type' => implode("",array_slice(explode("/",$item['verb']),-1)), - '$tags' => $tags, - '$body' => template_escape($body), - '$id' => $item['item_id'], - '$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'])), - '$to' => t('to'), - '$wall' => t('Wall-to-Wall'), - '$vwall' => t('via Wall-To-Wall:'), - '$profile_url' => $profile_link, - '$item_photo_menu' => item_photo_menu($item), - '$name' => template_escape($profile_name), - '$thumb' => $profile_avatar, - '$osparkle' => $osparkle, - '$sparkle' => $sparkle, - '$title' => template_escape($item['title']), - '$ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])), - '$lock' => $lock, - '$location' => template_escape($location), - '$indent' => $indent, - '$owner_url' => $owner_url, - '$owner_photo' => $owner_photo, - '$owner_name' => template_escape($owner_name), - '$plink' => get_plink($item), - '$edpost' => $edpost, - '$isstarred' => $isstarred, - '$star' => $star, - '$drop' => $drop, - '$vote' => $likebuttons, - '$like' => $like, - '$dislike' => $dislike, - '$comment' => $comment, - '$previewing' => $previewing, - '$wait' => t('Please wait'), - - )); + ); $arr = array('item' => $item, 'output' => $tmp_item); call_hooks('display_item', $arr); - $threads[$threadsid]['html'] .= $arr['output']; + $threads[$threadsid]['items'][] = $arr['output']; } } } - $page_template = get_markup_template("conversation.tpl"); $o .= replace_macros($page_template, array( + '$baseurl' => $a->get_baseurl(), + '$mode' => $mode, + '$user' => $a->user, '$threads' => $threads, '$dropping' => ($dropping?t('Delete Selected Items'):False), )); return $o; -} +}} function best_link_url($item,&$sparkle) { diff --git a/include/enotify.php b/include/enotify.php index 67e0011b8..a505f1f04 100755 --- a/include/enotify.php +++ b/include/enotify.php @@ -25,9 +25,12 @@ function notification($params) { $title = $body = ''; } + // e.g. "your post", "David's photo", etc. + $possess_desc = t('%s <!item_type!>'); + 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); $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) { - logger("notification: params = " . print_r($params, true), LOGGER_DEBUG); +// logger("notification: params = " . print_r($params, true), LOGGER_DEBUG); $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. // 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 // 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']); - $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.'); $tsitelink = sprintf( $sitelink, $siteurl ); @@ -57,7 +86,10 @@ function notification($params) { } 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]'); $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) { - $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]'); $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) { - $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]' ); $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) { - $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); $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']); @@ -99,7 +133,7 @@ function notification($params) { } 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); $epreamble = sprintf( t('You\'ve received %s for %s from %s.'), '[url=$itemlink]' . t('a friend suggestion') . '[/url]', @@ -143,6 +177,7 @@ function notification($params) { $datarray['date'] = datetime_convert(); $datarray['uid'] = $params['uid']; $datarray['link'] = $itemlink; + $datarray['parent'] = $parent_id; $datarray['type'] = $params['type']; $datarray['verb'] = $params['verb']; $datarray['otype'] = $params['otype']; @@ -151,8 +186,8 @@ function notification($params) { // create notification entry in DB - $r = q("insert into notify (hash,name,url,photo,date,uid,link,type,verb,otype) - values('%s','%s','%s','%s','%s',%d,'%s',%d,'%s','%s')", + $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,%d,'%s','%s')", dbesc($datarray['hash']), dbesc($datarray['name']), dbesc($datarray['url']), @@ -160,6 +195,7 @@ function notification($params) { dbesc($datarray['date']), intval($datarray['uid']), dbesc($datarray['link']), + intval($datarray['parent']), intval($datarray['type']), dbesc($datarray['verb']), dbesc($datarray['otype']) @@ -237,9 +273,12 @@ intval($params['uid']), LOGGER_DEBUG); $datarray['preamble'] = $preamble; $datarray['sitename'] = $sitename; $datarray['siteurl'] = $siteurl; + $datarray['type'] = $params['type']; + $datarray['parent'] = $params['parent']; $datarray['source_name'] = $params['source_name']; $datarray['source_link'] = $params['source_link']; $datarray['source_photo'] = $params['source_photo']; + $datarray['uid'] = $params['uid']; $datarray['username'] = $params['to_name']; $datarray['hsitelink'] = $hsitelink; $datarray['tsitelink'] = $tsitelink; diff --git a/include/items.php b/include/items.php index 7d52571c2..a1254e165 100755 --- a/include/items.php +++ b/include/items.php @@ -2325,35 +2325,44 @@ function local_delivery($importer,$data) { if(count($myconv)) { $importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname']; - foreach($myconv as $conv) { - if(! link_compare($conv['author-link'],$importer_url)) - continue; + // first make sure this isn't our own post coming back to us from a wall-to-wall event + if(! link_compare($datarray['author-link'],$importer_url)) { - 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, + foreach($myconv as $conv) { - )); + // now if we find a match, it means we're in this conversation + + 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. // Turn this into a wall post. - if($contact['remote_self']) + if($importer['remote_self']) $datarray['wall'] = 1; $datarray['parent-uri'] = $item_id; diff --git a/include/template_processor.php b/include/template_processor.php index 28c3f07dd..b4d444e1c 100755 --- a/include/template_processor.php +++ b/include/template_processor.php @@ -116,7 +116,15 @@ * {{ inc <templatefile> [with $var1=$var2] }}{{ endinc }} */ 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(); $r = $this->r; if (!is_null($newctx)) { diff --git a/include/text.php b/include/text.php index 1f5d4a3e1..4276b7fcb 100755 --- a/include/text.php +++ b/include/text.php @@ -786,6 +786,7 @@ function smilies($s, $sample = false) { } } else { + $params['string'] = preg_replace_callback('/<(3+)/','preg_heart',$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])); } +// 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')) { @@ -1201,3 +1213,16 @@ function reltoabs($text, $base) 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'); +} + + diff --git a/library/phpsec/Net/SSH1.php b/library/phpsec/Net/SSH1.php index 6986a8450..7220ee402 100755 --- a/library/phpsec/Net/SSH1.php +++ b/library/phpsec/Net/SSH1.php @@ -730,8 +730,8 @@ class Net_SSH1 { /**
* 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
- * "[00m", you're seeing ANSI escape codes. According to
+ * 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
* {@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,
* there's not going to be much recourse.
diff --git a/library/spam/b8/storage/storage_frndc.php b/library/spam/b8/storage/storage_frndc.php index cbc6fe81a..7702c108b 100644 --- a/library/spam/b8/storage/storage_frndc.php +++ b/library/spam/b8/storage/storage_frndc.php @@ -147,58 +147,8 @@ class b8_storage_frndc extends b8_storage_base 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; - - # Let's see if this is a b8 database and the version is okay - return $this->check_database(); + return TRUE; } @@ -235,7 +185,7 @@ class b8_storage_frndc extends b8_storage_base # ... and fetch the data $result = q(' - SELECT token, count + SELECT * FROM ' . $this->config['table_name'] . ' WHERE ' . $where . ' AND uid = ' . $uid ); diff --git a/mod/admin.php b/mod/admin.php index 0f600e312..94bf44503 100755 --- a/mod/admin.php +++ b/mod/admin.php @@ -366,7 +366,7 @@ function admin_page_users_post(&$a){ 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')){ require_once("include/Contact.php"); @@ -428,6 +428,7 @@ function admin_page_users(&$a){ LEFT JOIN `contact` ON `register`.`uid` = `contact`.`uid` LEFT JOIN `user` ON `register`.`uid` = `user`.`uid`;"); + /* get users */ $total = q("SELECT count(*) as total FROM `user` where 1"); @@ -435,7 +436,8 @@ function admin_page_users(&$a){ $a->set_pager_total($total[0]['total']); $a->set_pager_itemspage(100); } - + + $users = q("SELECT `user` . * , `contact`.`name` , `contact`.`url` , `contact`.`micro`, `lastitem`.`lastitem_date` FROM (SELECT MAX(`item`.`changed`) as `lastitem_date`, `item`.`uid` @@ -469,6 +471,7 @@ function admin_page_users(&$a){ } $users = array_map("_setup_users", $users); + $t = get_markup_template("admin_users.tpl"); $o = replace_macros($t, array( // strings // diff --git a/mod/contacts.php b/mod/contacts.php index ce352fe20..c99ac1452 100755 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -505,6 +505,7 @@ function contacts_content(&$a) { 'username' => $rr['name'], 'sparkle' => $sparkle, 'itemurl' => $rr['url'], + 'url' => $url, 'network' => network_to_name($rr['network']), ); } diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php index 5a24f0089..0bc3ea7df 100644 --- a/mod/dfrn_confirm.php +++ b/mod/dfrn_confirm.php @@ -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), intval($cid), intval($uid) @@ -116,6 +116,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { if(! count($r)) { logger('dfrn_confirm: Contact not found in DB.'); 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; } @@ -631,6 +632,15 @@ function dfrn_confirm_post(&$a,$handsfree = null) { 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. diff --git a/mod/display.php b/mod/display.php index d96be4333..f510f793d 100755 --- a/mod/display.php +++ b/mod/display.php @@ -74,11 +74,11 @@ function display_content(&$a) { $x = array( 'is_owner' => true, 'allow_location' => $a->user['allow_location'], - 'default_location' => $a->user['default_location'], + 'default_location' => $a->user['default-location'], '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'), - 'acl' => populate_acl((($group || $cid) ? $def_acl : $a->user), $celeb), - 'bang' => (($group || $cid) ? '!' : ''), + '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($a->user, $celeb), + 'bang' => '', 'visitor' => 'block', 'profile_uid' => local_user() ); diff --git a/mod/group.php b/mod/group.php index c896362ca..f6f8e4173 100755 --- a/mod/group.php +++ b/mod/group.php @@ -76,14 +76,17 @@ function group_content(&$a) { if($switchtotext === false) $switchtotext = 400; + $tpl = get_markup_template('group_edit.tpl'); + $context = array('$submit' => t('Submit')); + if(($a->argc == 2) && ($a->argv[1] === 'new')) { - $tpl = get_markup_template('group_new.tpl'); - $o .= replace_macros($tpl,array( - '$desc' => t('Create a group of contacts/friends.'), - '$name' => t('Group Name: '), - '$submit' => t('Submit') - )); - return $o; + + return replace_macros($tpl, $context + array( + '$title' => t('Create a group of contacts/friends.'), + '$gname' => array('groupname',t('Group Name: '),$group['name'], ''), + )); + + } 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); - $tpl = get_markup_template('group_edit.tpl'); - $o .= replace_macros($tpl, array( + + $context = $context + array( + '$title' => t('Group Editor'), + '$gname' => array('groupname',t('Group Name: '),$group['name'], ''), '$gid' => $group['id'], - '$name' => $group['name'], '$drop' => $drop_txt, - '$desc' => t('Click on a contact to add or remove.'), - '$title' => t('Group Editor'), - '$gname' => t('Group Name: '), - '$submit' => t('Submit') - )); + ); } if(! isset($group)) return; - $o .= '<div id="group-update-wrapper">'; - if($change) - $o = ''; + $groupeditor = array( + 'label_members' => t('Members'), + '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); foreach($members as $member) { if($member['url']) { $member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;'; - $o .= micropro($member,true,'mpgroup', $textmode); + $groupeditor['members'][] = micropro($member,true,'mpgroup', $textmode); } else group_rmv_member(local_user(),$group['name'],$member['id']); } - $o .= '</div><div id="group-members-end"></div>'; - $o .= '<hr id="group-separator" />'; - - $o .= '<h3>' . t('All Contacts') . '</h3>'; - $o .= '<div id="group-all-contacts">'; + $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 ORDER BY `name` ASC", + intval(local_user()) + ); - $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 ORDER BY `name` ASC", - intval(local_user()) - ); - - 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); - } + 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;'; + $groupeditor['contacts'][] = 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) { - echo $o; + $tpl = get_markup_template('groupeditor.tpl'); + echo replace_macros($tpl, $context); killme(); } - $o .= '</div>'; - return $o; + + return replace_macros($tpl, $context); } diff --git a/mod/network.php b/mod/network.php index 03a671b61..894ac48ed 100755 --- a/mod/network.php +++ b/mod/network.php @@ -263,7 +263,7 @@ function network_content(&$a, $update = 0) { $x = array( 'is_owner' => true, 'allow_location' => $a->user['allow_location'], - 'default_location' => $a->user['default_location'], + 'default_location' => $a->user['default-location'], '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'), 'acl' => populate_acl((($group || $cid) ? $def_acl : $a->user), $celeb), diff --git a/mod/notify.php b/mod/notify.php index e6a7a8859..a572b1534 100644 --- a/mod/notify.php +++ b/mod/notify.php @@ -11,8 +11,10 @@ function notify_init(&$a) { intval(local_user()) ); if(count($r)) { - q("update notify set seen = 1 where id = %d and uid = %d limit 1", - intval($a->argv[2]), + q("update notify set seen = 1 where ( link = '%s' or ( parent != 0 and parent = %d and otype = '%s' )) and uid = %d", + dbesc($r[0]['link']), + intval($r[0]['parent']), + dbesc($r[0]['otype']), intval(local_user()) ); goaway($r[0]['link']); diff --git a/mod/ping.php b/mod/ping.php index 7380ff7d0..1562254b1 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -14,10 +14,29 @@ function ping_init(&$a) { $firehose = intval(get_pconfig(local_user(),'system','notify_full')); - $z = q("select * from notify where uid = %d - order by seen asc, date desc limit 0, 50", + $t = q("select count(*) as total from notify where uid = %d and seen = 0", 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(); diff --git a/mod/settings.php b/mod/settings.php index 90eb9dbd7..a9d00bc98 100755 --- a/mod/settings.php +++ b/mod/settings.php @@ -50,6 +50,8 @@ function settings_post(&$a) { return; } + $old_page_flags = $a->user['page-flags']; + if(($a->argc > 1) && ($a->argv[1] === 'oauth') && x($_POST,'remove')){ $key = $_POST['remove']; 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 $url = $_SESSION['my_url']; if($url && strlen(get_config('system','directory_submit_url'))) diff --git a/mod/viewcontacts.php b/mod/viewcontacts.php index 10c980d93..6b66f60d7 100755 --- a/mod/viewcontacts.php +++ b/mod/viewcontacts.php @@ -63,7 +63,8 @@ function viewcontacts_content(&$a) { 'username' => $rr['name'], 'url' => $url, 'sparkle' => '', - 'item' => $rr, + 'itemurl' => $rr['url'], + 'network' => network_to_name($rr['network']), ); } diff --git a/update.php b/update.php index 865c6175e..c29394b48 100755 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@ <?php -define( 'UPDATE_VERSION' , 1128 ); +define( 'UPDATE_VERSION' , 1131 ); /** * @@ -1109,3 +1109,16 @@ function update_1127() { ) 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`) "); +} + diff --git a/util/db_update.php b/util/db_update.php index 1da2a9909..a6177324a 100755 --- a/util/db_update.php +++ b/util/db_update.php @@ -1,5 +1,11 @@ <?php +/** +* @package util +*/ +/* +* require boot.php +*/ require_once("boot.php"); $a = new App; diff --git a/util/docblox_errorchecker.php b/util/docblox_errorchecker.php new file mode 100644 index 000000000..af4c76444 --- /dev/null +++ b/util/docblox_errorchecker.php @@ -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. "; diff --git a/view/contact_template.tpl b/view/contact_template.tpl index f4c0670bf..b826acc65 100755 --- a/view/contact_template.tpl +++ b/view/contact_template.tpl @@ -17,6 +17,7 @@ </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-network-$contact.id" >$contact.network</div> diff --git a/view/conversation.tpl b/view/conversation.tpl index 7d4e7d262..ff202bbe4 100755 --- a/view/conversation.tpl +++ b/view/conversation.tpl @@ -1,6 +1,18 @@ {{ for $threads as $thread }} <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> {{ endfor }} diff --git a/view/group_edit.tpl b/view/group_edit.tpl index 51782ab95..3689db753 100755 --- a/view/group_edit.tpl +++ b/view/group_edit.tpl @@ -2,17 +2,21 @@ <div id="group-edit-wrapper" > -<form action="group/$gid" id="group-edit-form" method="post" > -<div id="group-edit-name-wrapper" > -<label id="group-edit-name-label" for="group-edit-name" >$gname</label> -<input type="text" id="group-edit-name" name="groupname" value="$name" /> -</div> -<div id="group-edit-name-end"></div> -$drop -<div id="group-edit-submit-wrapper" > -<input type="submit" name="submit" value="$submit" > -</div> -<div id="group-edit-desc">$desc</div> -<div id="group-edit-select-end" ></div> -</form> + <form action="group/$gid" id="group-edit-form" method="post" > + + {{ inc field_input.tpl with $field=$gname }}{{ endinc }} + {{ if $drop }}$drop{{ endif }} + <div id="group-edit-submit-wrapper" > + <input type="submit" name="submit" value="$submit" > + </div> + <div id="group-edit-select-end" ></div> + </form> </div> + + +{{ if $groupeditor }} + <div id="group-update-wrapper"> + {{ inc groupeditor.tpl }}{{ endinc }} + </div> +{{ endif }} +{{ if $desc }}<div id="group-edit-desc">$desc</div>{{ endif }} diff --git a/view/group_new.tpl b/view/group_new.tpl deleted file mode 100755 index 735b51634..000000000 --- a/view/group_new.tpl +++ /dev/null @@ -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> - -
\ No newline at end of file diff --git a/view/groupeditor.tpl b/view/groupeditor.tpl new file mode 100644 index 000000000..755985eb3 --- /dev/null +++ b/view/groupeditor.tpl @@ -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> diff --git a/view/search_item.tpl b/view/search_item.tpl index de8bd2396..a889062e0 100755 --- a/view/search_item.tpl +++ b/view/search_item.tpl @@ -1,75 +1,75 @@ <div class="wall-item-decor"> - <span class="icon s22 star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> - {{ if $lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} - <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> + <span class="icon s22 star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span> + {{ 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-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> </div> -<div class="wall-item-container $indent"> +<div class="wall-item-container $item.indent"> <div class="wall-item-item"> <div class="wall-item-info"> <div class="contact-photo-wrapper" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" target="redir" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="contact-photo$sparkle" id="wall-item-photo-$id" alt="$name" /> + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id"> + <img src="$item.thumb" class="contact-photo$item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" /> </a> - <a href="#" rel="#wall-item-photo-menu-$id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$id">menu</a> - <ul class="wall-item-menu menu-popup" id="wall-item-photo-menu-$id"> - $item_photo_menu + <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-$item.id"> + $item.item_photo_menu </ul> </div> - <div class="wall-item-location">$location</div> + <div class="wall-item-location">$item.location</div> </div> <div class="wall-item-content"> - {{ if $title }}<h2><a href="$plink.href">$title</a></h2>{{ endif }} - $body + {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }} + $item.body </div> </div> <div class="wall-item-bottom"> <div class="wall-item-links"> </div> <div class="wall-item-tags"> - {{ for $tags as $tag }} - <span class='tag'>$tag</span> + {{ for $item.tags as $item.tag }} + <span class='tag'>$item.tag</span> {{ endfor }} </div> </div> <div class="wall-item-bottom"> <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 class="wall-item-actions"> <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 class="wall-item-actions-social"> - {{ if $star }} - <a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$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="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> + {{ if $item.star }} + <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-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</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 }} - {{ if $vote }} - <a href="#" id="like-$id" title="$vote.like.0" onclick="dolike($id,'like'); return false">$vote.like.1</a> - <a href="#" id="dislike-$id" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false">$vote.dislike.1</a> + {{ if $item.vote }} + <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-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a> {{ endif }} - {{ if $vote.share }} - <a href="#" id="share-$id" title="$vote.share.0" onclick="jotShare($id); return false">$vote.share.1</a> + {{ if $item.vote.share }} + <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a> {{ endif }} </div> <div class="wall-item-actions-tools"> - {{ if $drop.dropping }} - <input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" /> - <a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a> + {{ if $item.drop.dropping }} + <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" /> + <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a> {{ endif }} - {{ if $edpost }} - <a class="icon edit s16" href="$edpost.0" title="$edpost.1"></a> + {{ if $item.edpost }} + <a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a> {{ endif }} </div> @@ -77,11 +77,11 @@ </div> <div class="wall-item-bottom"> <div class="wall-item-links"></div> - <div class="wall-item-like" id="wall-item-like-$id">$like</div> - <div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> - {{ if $conv }} - <div class="wall-item-conv" id="wall-item-conv-$id" > - <a href='$conv.href' id='context-$id' title='$conv.title'>$conv.title</a> + <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> + <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> + {{ if $item.conv }} + <div class="wall-item-conv" id="wall-item-conv-$item.id" > + <a href='$item.conv.href' id='context-$item.id' title='$item.conv.title'>$item.conv.title</a> {{ endif }} </div> </div> diff --git a/view/theme/diabook b/view/theme/diabook new file mode 160000 +Subproject e29c43c4e78e42f448cbd84dc51a3a346bdab01 diff --git a/view/theme/dispy/search_item.tpl b/view/theme/dispy/search_item.tpl index 3d841ab08..54c3e389c 100755 --- a/view/theme/dispy/search_item.tpl +++ b/view/theme/dispy/search_item.tpl @@ -1,40 +1,40 @@ -<div class="wall-item-outside-wrapper$indent" id="wall-item-outside-wrapper-$id" > - <div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > - <div class="wall-item-info" id="wall-item-info-$id"> - <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$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> - <div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> +<div class="wall-item-outside-wrapper$item.indent" id="wall-item-outside-wrapper-$item.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-$item.id"> + <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id" + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id"> + <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-$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-$item.id"> <ul> - $item_photo_menu + $item.item_photo_menu </ul> </div> </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 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 }} </div> - <div class="wall-item-tools" id="wall-item-tools-$id"> - <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$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 }} + <div class="wall-item-tools" id="wall-item-tools-$item.id"> + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" > + {{ 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> - {{ 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> - <div class="wall-item-content" id="wall-item-content-$id" > - <div class="wall-item-title" id="wall-item-title-$id">$title</div> + <div class="wall-item-content" id="wall-item-content-$item.id" > + <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-body" id="wall-item-body-$id" >$body</div> + <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body</div> </div> <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> - <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> + <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-$item.id">$item.ago</div> </div> @@ -42,10 +42,10 @@ <div class="wall-item-wrapper-end"></div> </div> -<div class="wall-item-outside-wrapper-end$indent" ></div> - <div class="wall-item-conv" id="wall-item-conv-$id" > - {{ if $conv }} - <a href='$conv.href' id='context-$id' title='$conv.title'>$conv.title</a> +<div class="wall-item-outside-wrapper-end$item.indent" ></div> + <div class="wall-item-conv" id="wall-item-conv-$item.id" > + {{ if $item.conv }} + <a href='$item.conv.href' id='context-$item.id' title='$item.conv.title'>$item.conv.title</a> {{ endif }} </div> diff --git a/view/theme/dispy/wall_item.tpl b/view/theme/dispy/wall_item.tpl index 882843a09..0dcd30f7b 100755 --- a/view/theme/dispy/wall_item.tpl +++ b/view/theme/dispy/wall_item.tpl @@ -1,77 +1,77 @@ -<div class="wall-item-outside-wrapper$indent" id="wall-item-outside-wrapper-$id" > - <div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > - <div class="wall-item-info" id="wall-item-info-$id"> - <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$name" /> +<div class="wall-item-outside-wrapper$item.indent" id="wall-item-outside-wrapper-$item.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-$item.id"> + <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id" + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id"> + <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> - <div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> + <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-$item.id"> <ul> - $item_photo_menu + $item.item_photo_menu </ul> </div> </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 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 }} </div> - <div class="wall-item-tools" id="wall-item-tools-$id"> - {{ if $star }} - <a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> - <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> + <div class="wall-item-tools" id="wall-item-tools-$item.id"> + {{ if $item.star }} + <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a> + <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a> {{ endif }} - {{ if $vote }} - <div class="wall-item-like-buttons" id="wall-item-like-buttons-$id"> - <a href="#" class="icon like" title="$vote.like.0" onclick="dolike($id,'like'); return false"></a> - <a href="#" class="icon dislike" title="$vote.dislike.0" onclick="dolike($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 }} - <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> + {{ if $item.vote }} + <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id"> + <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a> + <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a> + {{ 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-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> </div> {{ endif }} - {{ if $plink }} - <div class="wall-item-links-wrapper"><a href="$plink.href" title="$plink.title" target="external-link" class="icon remote-link"></a></div> + {{ if $item.plink }} + <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 }} - {{ if $edpost }} - <a class="editpost icon pencil" href="$edpost.0" title="$edpost.1"></a>' + {{ if $item.edpost }} + <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>' {{ endif }} - <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$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 }} + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" > + {{ 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> - {{ 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> - <div class="wall-item-content" id="wall-item-content-$id" > - <div class="wall-item-title" id="wall-item-title-$id">$title</div> + <div class="wall-item-content" id="wall-item-content-$item.id" > + <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-body" id="wall-item-body-$id" >$body + <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body <div class="body-tag"> - {{ for $tags as $tag }} - <span class='tag'>$tag</span> + {{ for $item.tags as $item.tag }} + <span class='tag'>$item.tag</span> {{ endfor }} </div> </div> </div> <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> - <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> + <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-$item.id">$item.ago</div> </div> </div> <div class="wall-item-wrapper-end"></div> - <div class="wall-item-like" id="wall-item-like-$id">$like</div> - <div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> + <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> + <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> <div 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> diff --git a/view/theme/dispy/wallwall_item.tpl b/view/theme/dispy/wallwall_item.tpl index 57c6600b7..31f046a76 100755 --- a/view/theme/dispy/wallwall_item.tpl +++ b/view/theme/dispy/wallwall_item.tpl @@ -1,81 +1,81 @@ -<div class="wall-item-outside-wrapper$indent wallwall" id="wall-item-outside-wrapper-$id" > - <div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > - <div class="wall-item-info wallwall" id="wall-item-info-$id"> - <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$id" > - <a href="$owner_url" title="$olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$id"> - <img src="$owner_photo" class="wall-item-photo$osparkle" id="wall-item-ownerphoto-$id" style="height: 80px; width: 80px;" alt="$owner_name" /></a> +<div class="wall-item-outside-wrapper$item.indent wallwall" id="wall-item-outside-wrapper-$item.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-$item.id"> + <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$item.id" > + <a href="$item.owner_url" title="$item.olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$item.id"> + <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 class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$wall" /></div> - <div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-$id" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$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> - <div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> + <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-$item.id" + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id"> + <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-$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-$item.id"> <ul> - $item_photo_menu + $item.item_photo_menu </ul> </div> </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 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 }} </div> - <div class="wall-item-tools" id="wall-item-tools-$id"> - {{ if $star }} - <a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> - <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> + <div class="wall-item-tools" id="wall-item-tools-$item.id"> + {{ if $item.star }} + <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a> + <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a> {{ endif }} - {{ if $vote }} - <div class="wall-item-like-buttons" id="wall-item-like-buttons-$id"> - <a href="#" class="icon like" title="$vote.like.0" onclick="dolike($id,'like'); return false"></a> - <a href="#" class="icon dislike" title="$vote.dislike.0" onclick="dolike($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 }} - <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> + {{ if $item.vote }} + <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id"> + <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a> + <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a> + {{ 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-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> </div> {{ endif }} - {{ if $plink }} - <div class="wall-item-links-wrapper"><a href="$plink.href" title="$plink.title" target="external-link" class="icon remote-link"></a></div> + {{ if $item.plink }} + <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 }} - {{ if $edpost }} - <a class="editpost icon pencil" href="$edpost.0" title="$edpost.1"></a>' + {{ if $item.edpost }} + <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>' {{ endif }} - <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$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 }} + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" > + {{ 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> - {{ 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> - <div class="wall-item-content" id="wall-item-content-$id" > - <div class="wall-item-title" id="wall-item-title-$id">$title</div> + <div class="wall-item-content" id="wall-item-content-$item.id" > + <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-body" id="wall-item-body-$id" >$body + <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body <div class="body-tag"> - {{ for $tags as $tag }} - <span class='tag'>$tag</span> + {{ for $item.tags as $item.tag }} + <span class='tag'>$item.tag</span> {{ endfor }} </div> </div> </div> <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> - <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> + <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-$item.id">$item.ago</div> </div> </div> <div class="wall-item-wrapper-end"></div> - <div class="wall-item-like" id="wall-item-like-$id">$like</div> - <div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> + <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> + <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> <div 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> diff --git a/view/theme/duepuntozero/conversation.tpl b/view/theme/duepuntozero/conversation.tpl index 33cedfb1e..43bb1dd47 100755 --- a/view/theme/duepuntozero/conversation.tpl +++ b/view/theme/duepuntozero/conversation.tpl @@ -1,6 +1,18 @@ {{ for $threads as $thread }} <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> {{ endfor }} diff --git a/view/theme/duepuntozero/search_item.tpl b/view/theme/duepuntozero/search_item.tpl index f046e41ec..bfad1b7b7 100755 --- a/view/theme/duepuntozero/search_item.tpl +++ b/view/theme/duepuntozero/search_item.tpl @@ -1,53 +1,53 @@ -<div class="wall-item-outside-wrapper$indent$previewing" id="wall-item-outside-wrapper-$id" > - <div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > - <div class="wall-item-info" id="wall-item-info-$id"> - <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" target="redir" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$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> - <div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> +<div class="wall-item-outside-wrapper$item.indent$item.previewing" id="wall-item-outside-wrapper-$item.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-$item.id"> + <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id" + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id"> + <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-$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-$item.id"> <ul> - $item_photo_menu + $item.item_photo_menu </ul> </div> </div> <div class="wall-item-photo-end"></div> - <div class="wall-item-wrapper" id="wall-item-wrapper-$id" > - {{ if $lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,$id);" /></div> + <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" > + {{ 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 }} - <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 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> - <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> + <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-$item.id">$item.ago</div> </div> - <div class="wall-item-content" id="wall-item-content-$id" > - <div class="wall-item-title" id="wall-item-title-$id">$title</div> + <div class="wall-item-content" id="wall-item-content-$item.id" > + <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-body" id="wall-item-body-$id" >$body</div> + <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body</div> </div> - <div class="wall-item-tools" id="wall-item-tools-$id"> - <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$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 }} + <div class="wall-item-tools" id="wall-item-tools-$item.id"> + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" > + {{ 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> - {{ 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> </div> <div class="wall-item-wrapper-end"></div> - <div class="wall-item-conv" id="wall-item-conv-$id" > - {{ if $conv }} - <a href='$conv.href' id='context-$id' title='$conv.title'>$conv.title</a> + <div class="wall-item-conv" id="wall-item-conv-$item.id" > + {{ if $item.conv }} + <a href='$item.conv.href' id='context-$item.id' title='$item.conv.title'>$item.conv.title</a> {{ endif }} </div> -<div class="wall-item-outside-wrapper-end$indent" ></div> +<div class="wall-item-outside-wrapper-end$item.indent" ></div> </div> diff --git a/view/theme/duepuntozero/wall_item.tpl b/view/theme/duepuntozero/wall_item.tpl index a5136eed3..d165d9801 100755 --- a/view/theme/duepuntozero/wall_item.tpl +++ b/view/theme/duepuntozero/wall_item.tpl @@ -1,76 +1,76 @@ -<div class="wall-item-outside-wrapper$indent$previewing" id="wall-item-outside-wrapper-$id" > - <div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > - <div class="wall-item-info" id="wall-item-info-$id"> - <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" target="redir" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$name" /> +<div class="wall-item-outside-wrapper$item.indent$item.previewing" id="wall-item-outside-wrapper-$item.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-$item.id"> + <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id" + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id"> + <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> - <div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> + <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-$item.id"> <ul> - $item_photo_menu + $item.item_photo_menu </ul> </div> </div> <div class="wall-item-photo-end"></div> - <div class="wall-item-wrapper" id="wall-item-wrapper-$id" > - {{ if $lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,$id);" /></div> + <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" > + {{ 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 }} - <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 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> - <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> + <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-$item.id">$item.ago</div> </div> - <div class="wall-item-content" id="wall-item-content-$id" > - <div class="wall-item-title" id="wall-item-title-$id">$title</div> + <div class="wall-item-content" id="wall-item-content-$item.id" > + <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-body" id="wall-item-body-$id" >$body + <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body <div class="body-tag"> - {{ for $tags as $tag }} - <span class='tag'>$tag</span> + {{ for $item.tags as $item.tag }} + <span class='tag'>$item.tag</span> {{ endfor }} </div> </div> </div> - <div class="wall-item-tools" id="wall-item-tools-$id"> - {{ if $vote }} - <div class="wall-item-like-buttons" id="wall-item-like-buttons-$id"> - <a href="#" class="icon like" title="$vote.like.0" onclick="dolike($id,'like'); return false"></a> - <a href="#" class="icon dislike" title="$vote.dislike.0" onclick="dolike($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 }} - <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> + <div class="wall-item-tools" id="wall-item-tools-$item.id"> + {{ if $item.vote }} + <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id"> + <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a> + <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a> + {{ 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-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> </div> {{ endif }} - {{ if $plink }} - <div class="wall-item-links-wrapper"><a href="$plink.href" title="$plink.title" target="external-link" class="icon remote-link"></a></div> + {{ if $item.plink }} + <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 }} - {{ if $edpost }} - <a class="editpost icon pencil" href="$edpost.0" title="$edpost.1"></a> + {{ if $item.edpost }} + <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a> {{ endif }} - {{ if $star }} - <a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> - <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> + {{ if $item.star }} + <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a> + <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a> {{ endif }} - <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$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 }} + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" > + {{ 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> - {{ 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> </div> <div class="wall-item-wrapper-end"></div> - <div class="wall-item-like" id="wall-item-like-$id">$like</div> - <div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> + <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> + <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> <div class="wall-item-comment-wrapper" > - $comment + $item.comment </div> -<div class="wall-item-outside-wrapper-end$indent" ></div> +<div class="wall-item-outside-wrapper-end$item.indent" ></div> </div> diff --git a/view/theme/duepuntozero/wallwall_item.tpl b/view/theme/duepuntozero/wallwall_item.tpl index 4675f1e00..75cd5f65e 100755 --- a/view/theme/duepuntozero/wallwall_item.tpl +++ b/view/theme/duepuntozero/wallwall_item.tpl @@ -1,82 +1,82 @@ -<div class="wall-item-outside-wrapper$indent$previewing wallwall" id="wall-item-outside-wrapper-$id" > - <div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" > - <div class="wall-item-info wallwall" id="wall-item-info-$id"> - <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$id" > - <a href="$owner_url" target="redir" title="$olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$id"> - <img src="$owner_photo" class="wall-item-photo$osparkle" id="wall-item-ownerphoto-$id" style="height: 80px; width: 80px;" alt="$owner_name" /></a> +<div class="wall-item-outside-wrapper$item.indent$item.previewing wallwall" id="wall-item-outside-wrapper-$item.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-$item.id"> + <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$item.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="$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 class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$wall" /></div> - <div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-$id" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" target="redir" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" style="height: 80px; width: 80px;" alt="$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> - <div class="wall-item-photo-menu" id="wall-item-photo-menu-$id"> + <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-$item.id" + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id"> + <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-$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-$item.id"> <ul> - $item_photo_menu + $item.item_photo_menu </ul> </div> </div> <div class="wall-item-photo-end"></div> - <div class="wall-item-wrapper" id="wall-item-wrapper-$id" > - {{ if $lock }}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,$id);" /></div> + <div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" > + {{ 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 }} - <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 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 /> - <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div> + <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-$item.id">$item.ago</div> </div> - <div class="wall-item-content" id="wall-item-content-$id" > - <div class="wall-item-title" id="wall-item-title-$id">$title</div> + <div class="wall-item-content" id="wall-item-content-$item.id" > + <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-body" id="wall-item-body-$id" >$body + <div class="wall-item-body" id="wall-item-body-$item.id" >$item.body <div class="body-tag"> - {{ for $tags as $tag }} - <span class='tag'>$tag</span> + {{ for $item.tags as $item.tag }} + <span class='tag'>$item.tag</span> {{ endfor }} </div> </div> </div> - <div class="wall-item-tools" id="wall-item-tools-$id"> - {{ if $vote }} - <div class="wall-item-like-buttons" id="wall-item-like-buttons-$id"> - <a href="#" class="icon like" title="$vote.like.0" onclick="dolike($id,'like'); return false"></a> - <a href="#" class="icon dislike" title="$vote.dislike.0" onclick="dolike($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 }} - <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> + <div class="wall-item-tools" id="wall-item-tools-$item.id"> + {{ if $item.vote }} + <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id"> + <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a> + <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a> + {{ 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-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> </div> {{ endif }} - {{ if $plink }} - <div class="wall-item-links-wrapper"><a href="$plink.href" title="$plink.title" target="external-link" class="icon remote-link"></a></div> + {{ if $item.plink }} + <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 }} - {{ if $edpost }} - <a class="editpost icon pencil" href="$edpost.0" title="$edpost.1"></a> + {{ if $item.edpost }} + <a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a> {{ endif }} - {{ if $star }} - <a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> - <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> + {{ if $item.star }} + <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a> + <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a> {{ endif }} - <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$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 }} + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" > + {{ 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> - {{ 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> </div> <div class="wall-item-wrapper-end"></div> - <div class="wall-item-like" id="wall-item-like-$id">$like</div> - <div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> + <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> + <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> <div class="wall-item-comment-separator"></div> <div class="wall-item-comment-wrapper" > - $comment + $item.comment </div> -<div class="wall-item-outside-wrapper-end$indent" ></div> +<div class="wall-item-outside-wrapper-end$item.indent" ></div> </div> diff --git a/view/theme/quattro/colors.less b/view/theme/quattro/colors.less index 18d0fc620..9183b2e77 100755 --- a/view/theme/quattro/colors.less +++ b/view/theme/quattro/colors.less @@ -71,6 +71,8 @@ @NoticeColor: @Grey1; @NoticeBackgroundColor: #511919; +@FieldHelpColor: @Grey3; + @ThreadBackgroundColor: #f6f7f8; @ShinyBorderColor: @Yellow1; diff --git a/view/theme/quattro/quattro.less b/view/theme/quattro/quattro.less index 9d2608261..27c48f195 100755 --- a/view/theme/quattro/quattro.less +++ b/view/theme/quattro/quattro.less @@ -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 */ @@ -913,7 +938,7 @@ ul.tabs { .field_help { display: block; margin-left: 200px; - color: #666666; + color: @FieldHelpColor; } diff --git a/view/theme/quattro/style.css b/view/theme/quattro/style.css index b728023c9..6087e4cd1 100755 --- a/view/theme/quattro/style.css +++ b/view/theme/quattro/style.css @@ -1304,6 +1304,37 @@ ul.tabs li { ul.tabs li .active { 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 */ @@ -1326,7 +1357,7 @@ ul.tabs li .active { .field .field_help { display: block; margin-left: 200px; - color: #666666; + color: #999999; } .field .onoff { float: left; diff --git a/view/theme/vier/search_item.tpl b/view/theme/vier/search_item.tpl index 372e0d034..f2a3a3c8b 100755 --- a/view/theme/vier/search_item.tpl +++ b/view/theme/vier/search_item.tpl @@ -1,80 +1,80 @@ <div class="wall-item-decor"> - <span class="icon star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> - {{ if $lock }}<span class="icon lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} - <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> + <span class="icon star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span> + {{ if $item.lock }}<span class="icon lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }} + <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> </div> -<div class="wall-item-container $indent"> +<div class="wall-item-container $item.indent"> <div class="wall-item-item"> <div class="wall-item-info"> <div class="contact-photo-wrapper" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" target="redir" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="contact-photo$sparkle" id="wall-item-photo-$id" alt="$name" /> + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id"> + <img src="$item.thumb" class="contact-photo$item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" /> </a> - <a href="#" rel="#wall-item-photo-menu-$id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$id">menu</a> - <ul class="wall-item-menu menu-popup" id="wall-item-photo-menu-$id"> - $item_photo_menu + <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-$item.id"> + $item.item_photo_menu </ul> </div> </div> <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">- - {{ if $plink }}<a class="link" title="$plink.title" href="$plink.href" style="color: #999">$ago</a>{{ else }} $ago {{ endif }} - {{ if $lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$id);">$lock</span> {{ 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 $item.lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$item.id);">$item.lock</span> {{ endif }} </span> </div> <div class="wall-item-content"> - {{ if $title }}<h2><a href="$plink.href">$title</a></h2>{{ endif }} - $body + {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }} + $item.body </div> </div> <div class="wall-item-bottom"> <div class="wall-item-links"> </div> <div class="wall-item-tags"> - {{ for $tags as $tag }} - <span class='tag'>$tag</span> + {{ for $item.tags as $item.tag }} + <span class='tag'>$item.tag</span> {{ endfor }} </div> </div> <div class="wall-item-bottom"> <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 class="wall-item-actions"> - <div class="wall-item-location">$location </div> + <div class="wall-item-location">$item.location </div> <div class="wall-item-actions-social"> - {{ if $star }} - <a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$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="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> + {{ if $item.star }} + <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-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</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 }} - {{ if $vote }} - <a href="#" id="like-$id" title="$vote.like.0" onclick="dolike($id,'like'); return false">$vote.like.1</a> - <a href="#" id="dislike-$id" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false">$vote.dislike.1</a> + {{ if $item.vote }} + <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-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a> {{ endif }} - {{ if $vote.share }} - <a href="#" id="share-$id" title="$vote.share.0" onclick="jotShare($id); return false">$vote.share.1</a> + {{ if $item.vote.share }} + <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a> {{ endif }} </div> <div class="wall-item-actions-tools"> - {{ if $drop.dropping }} - <input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" /> - <a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a> + {{ if $item.drop.dropping }} + <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" /> + <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a> {{ endif }} - {{ if $edpost }} - <a class="icon edit s16" href="$edpost.0" title="$edpost.1"></a> + {{ if $item.edpost }} + <a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a> {{ endif }} </div> @@ -82,7 +82,7 @@ </div> <div class="wall-item-bottom"> <div class="wall-item-links"></div> - <div class="wall-item-like" id="wall-item-like-$id">$like</div> - <div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> + <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> + <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> </div> </div> diff --git a/view/theme/vier/wall_item.tpl b/view/theme/vier/wall_item.tpl index abd2862a1..8b06989fa 100644 --- a/view/theme/vier/wall_item.tpl +++ b/view/theme/vier/wall_item.tpl @@ -1,79 +1,79 @@ -{{ if $indent }}{{ else }} +{{ if $item.indent }}{{ else }} <div class="wall-item-decor"> - <span class="icon star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> - {{ if $lock }}<span class="icon lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} - <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> + <span class="icon star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span> + {{ if $item.lock }}<span class="icon lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }} + <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> </div> {{ endif }} -<div class="wall-item-container $indent"> +<div class="wall-item-container $item.indent"> <div class="wall-item-item"> <div class="wall-item-info"> <div class="contact-photo-wrapper" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" target="redir" title="$linktitle" class="contact-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="contact-photo$sparkle" id="wall-item-photo-$id" alt="$name" /> + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id"> + <img src="$item.thumb" class="contact-photo$item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" /> </a> - <a href="#" rel="#wall-item-photo-menu-$id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$id">menu</a> - <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$id"> - $item_photo_menu + <a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</a> + <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id"> + $item.item_photo_menu </ul> </div> </div> <div class="wall-item-actions-author"> - <a href="$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">- - {{ if $plink }}<a class="link" title="$plink.title" href="$plink.href" style="color: #999">$ago</a>{{ else }} $ago {{ endif }} - {{ if $lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$id);">$lock</span> {{ 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 $item.lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$item.id);">$item.lock</span> {{ endif }} </span> </div> <div class="wall-item-content"> - {{ if $title }}<h2><a href="$plink.href">$title</a></h2>{{ endif }} - $body + {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }} + $item.body </div> </div> <div class="wall-item-bottom"> <div class="wall-item-links"> </div> <div class="wall-item-tags"> - {{ for $tags as $tag }} - <span class='tag'>$tag</span> + {{ for $item.tags as $item.tag }} + <span class='tag'>$item.tag</span> {{ endfor }} </div> </div> <div class="wall-item-bottom"> <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 class="wall-item-actions"> - <div class="wall-item-location">$location </div> + <div class="wall-item-location">$item.location </div> <div class="wall-item-actions-social"> - {{ if $star }} - <a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$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="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> + {{ if $item.star }} + <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-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</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 }} - {{ if $vote }} - <a href="#" id="like-$id" title="$vote.like.0" onclick="dolike($id,'like'); return false">$vote.like.1</a> - <a href="#" id="dislike-$id" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false">$vote.dislike.1</a> + {{ if $item.vote }} + <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-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a> {{ endif }} - {{ if $vote.share }} - <a href="#" id="share-$id" title="$vote.share.0" onclick="jotShare($id); return false">$vote.share.1</a> + {{ if $item.vote.share }} + <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a> {{ endif }} </div> <div class="wall-item-actions-tools"> - {{ if $drop.dropping }} - <input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" /> - <a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a> + {{ if $item.drop.dropping }} + <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" /> + <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a> {{ endif }} - {{ if $edpost }} - <a class="icon edit" href="$edpost.0" title="$edpost.1"></a> + {{ if $item.edpost }} + <a class="icon edit" href="$item.edpost.0" title="$item.edpost.1"></a> {{ endif }} </div> @@ -81,11 +81,11 @@ </div> <div class="wall-item-bottom"> <div class="wall-item-links"></div> - <div class="wall-item-like" id="wall-item-like-$id">$like</div> - <div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> + <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> + <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> </div> </div> <div class="wall-item-comment-wrapper" > - $comment + $item.comment </div> diff --git a/view/theme/vier/wallwall_item.tpl b/view/theme/vier/wallwall_item.tpl index 8e452f4f6..a8a46c34c 100644 --- a/view/theme/vier/wallwall_item.tpl +++ b/view/theme/vier/wallwall_item.tpl @@ -1,88 +1,88 @@ -{{ if $indent }}{{ else }} +{{ if $item.indent }}{{ else }} <div class="wall-item-decor"> - <span class="icon star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> - {{ if $lock }}<span class="icon lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} - <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> + <span class="icon star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span> + {{ if $item.lock }}<span class="icon lock fakelink" onclick="lockview(event,$item.id);" title="$item.lock">$item.lock</span>{{ endif }} + <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> </div> {{ endif }} -<div class="wall-item-container $indent"> +<div class="wall-item-container $item.indent"> <div class="wall-item-item"> <div class="wall-item-info"> - <div class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-$id" > - <a href="$owner_url" target="redir" title="$olinktitle" class="contact-photo-link" id="wall-item-ownerphoto-link-$id"> - <img src="$owner_photo" class="contact-photo $osparkle" id="wall-item-ownerphoto-$id" alt="$owner_name" /> + <div class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-$item.id" > + <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="contact-photo-link" id="wall-item-ownerphoto-link-$item.id"> + <img src="$item.owner_photo" class="contact-photo $item.osparkle" id="wall-item-ownerphoto-$item.id" alt="$item.owner_name" /> </a> </div> <div class="contact-photo-wrapper mframe wwfrom" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" target="redir" title="$linktitle" class="contact-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="contact-photo $sparkle" id="wall-item-photo-$id" alt="$name" /> + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id"> + <img src="$item.thumb" class="contact-photo $item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" /> </a> - <a href="#" rel="#wall-item-photo-menu-$id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$id">menu</a> - <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$id"> - $item_photo_menu + <a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</a> + <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id"> + $item.item_photo_menu </ul> </div> </div> <div class="wall-item-actions-author"> - <a href="$profile_url" target="redir" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle">$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 <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 $lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$id);">$lock</span> {{ endif }} + <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> + $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 <span class="wall-item-ago">- + {{ if $item.plink }}<a class="link" title="$item.plink.title" href="$item.plink.href" style="color: #999">$item.ago</a>{{ else }} $item.ago {{ endif }} + {{ if $item.lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$item.id);">$item.lock</span> {{ endif }} </span> </div> <div class="wall-item-content"> - {{ if $title }}<h2><a href="$plink.href">$title</a></h2>{{ endif }} - $body + {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }} + $item.body </div> </div> <div class="wall-item-bottom"> <div class="wall-item-links"> </div> <div class="wall-item-tags"> - {{ for $tags as $tag }} - <span class='tag'>$tag</span> + {{ for $item.tags as $item.tag }} + <span class='tag'>$item.tag</span> {{ endfor }} </div> </div> <div class="wall-item-bottom"> <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 class="wall-item-actions"> - <div class="wall-item-location">$location </div> + <div class="wall-item-location">$item.location </div> <div class="wall-item-actions-social"> - {{ if $star }} - <a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$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="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> + {{ if $item.star }} + <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-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</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 }} - {{ if $vote }} - <a href="#" id="like-$id" title="$vote.like.0" onclick="dolike($id,'like'); return false">$vote.like.1</a> - <a href="#" id="dislike-$id" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false">$vote.dislike.1</a> + {{ if $item.vote }} + <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-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a> {{ endif }} - {{ if $vote.share }} - <a href="#" id="share-$id" title="$vote.share.0" onclick="jotShare($id); return false">$vote.share.1</a> + {{ if $item.vote.share }} + <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a> {{ endif }} </div> <div class="wall-item-actions-tools"> - {{ if $drop.dropping }} - <input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" /> - <a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a> + {{ if $item.drop.dropping }} + <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" /> + <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a> {{ endif }} - {{ if $edpost }} - <a class="icon edit s16" href="$edpost.0" title="$edpost.1"></a> + {{ if $item.edpost }} + <a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a> {{ endif }} </div> @@ -90,10 +90,10 @@ </div> <div class="wall-item-bottom"> <div class="wall-item-links"></div> - <div class="wall-item-like" id="wall-item-like-$id">$like</div> - <div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> + <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> + <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> </div> </div> <div class="wall-item-comment-wrapper" > - $comment + $item.comment </div> diff --git a/view/wall_item.tpl b/view/wall_item.tpl index 83e6dd361..ddae5b609 100755 --- a/view/wall_item.tpl +++ b/view/wall_item.tpl @@ -1,75 +1,75 @@ <div class="wall-item-decor"> - <span class="icon s22 star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> - {{ if $lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} - <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> + <span class="icon s22 star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span> + {{ 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-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> </div> -<div class="wall-item-container $indent"> +<div class="wall-item-container $item.indent"> <div class="wall-item-item"> <div class="wall-item-info"> <div class="contact-photo-wrapper" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" target="redir" title="$linktitle" class="contact-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="contact-photo$sparkle" id="wall-item-photo-$id" alt="$name" /> + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id"> + <img src="$item.thumb" class="contact-photo$item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" /> </a> - <a href="#" rel="#wall-item-photo-menu-$id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$id">menu</a> - <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$id"> - $item_photo_menu + <a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</a> + <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id"> + $item.item_photo_menu </ul> </div> - <div class="wall-item-location">$location</div> + <div class="wall-item-location">$item.location</div> </div> <div class="wall-item-content"> - {{ if $title }}<h2><a href="$plink.href">$title</a></h2>{{ endif }} - $body + {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }} + $item.body </div> </div> <div class="wall-item-bottom"> <div class="wall-item-links"> </div> <div class="wall-item-tags"> - {{ for $tags as $tag }} - <span class='tag'>$tag</span> + {{ for $item.tags as $item.tag }} + <span class='tag'>$item.tag</span> {{ endfor }} </div> </div> <div class="wall-item-bottom"> <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 class="wall-item-actions"> <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 class="wall-item-actions-social"> - {{ if $star }} - <a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$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="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> + {{ if $item.star }} + <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-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</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 }} - {{ if $vote }} - <a href="#" id="like-$id" title="$vote.like.0" onclick="dolike($id,'like'); return false">$vote.like.1</a> - <a href="#" id="dislike-$id" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false">$vote.dislike.1</a> + {{ if $item.vote }} + <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-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a> {{ endif }} - {{ if $vote.share }} - <a href="#" id="share-$id" title="$vote.share.0" onclick="jotShare($id); return false">$vote.share.1</a> + {{ if $item.vote.share }} + <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a> {{ endif }} </div> <div class="wall-item-actions-tools"> - {{ if $drop.dropping }} - <input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" /> - <a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a> + {{ if $item.drop.dropping }} + <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" /> + <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a> {{ endif }} - {{ if $edpost }} - <a class="icon edit s16" href="$edpost.0" title="$edpost.1"></a> + {{ if $item.edpost }} + <a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a> {{ endif }} </div> @@ -77,11 +77,11 @@ </div> <div class="wall-item-bottom"> <div class="wall-item-links"></div> - <div class="wall-item-like" id="wall-item-like-$id">$like</div> - <div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> + <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> + <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> </div> </div> <div class="wall-item-comment-wrapper" > - $comment + $item.comment </div> diff --git a/view/wallwall_item.tpl b/view/wallwall_item.tpl index 61a248135..3fc704e35 100755 --- a/view/wallwall_item.tpl +++ b/view/wallwall_item.tpl @@ -1,82 +1,82 @@ <div class="wall-item-decor"> - <span class="icon s22 star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> - {{ if $lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} - <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> + <span class="icon s22 star $item.isstarred" id="starred-$item.id" title="$item.star.starred">$item.star.starred</span> + {{ 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-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> </div> -<div class="wall-item-container $indent"> +<div class="wall-item-container $item.indent"> <div class="wall-item-item"> <div class="wall-item-info"> <div class="contact-photo-wrapper mframe wwfrom" - onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" - onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)"> - <a href="$profile_url" target="redir" title="$linktitle" class="contact-photo-link" id="wall-item-photo-link-$id"> - <img src="$thumb" class="contact-photo $sparkle" id="wall-item-photo-$id" alt="$name" /> + onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')" + onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)"> + <a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id"> + <img src="$item.thumb" class="contact-photo $item.sparkle" id="wall-item-photo-$item.id" alt="$item.name" /> </a> - <a href="#" rel="#wall-item-photo-menu-$id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$id">menu</a> - <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$id"> - $item_photo_menu + <a href="#" rel="#wall-item-photo-menu-$item.id" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-$item.id">menu</a> + <ul class="contact-menu menu-popup" id="wall-item-photo-menu-$item.id"> + $item.item_photo_menu </ul> </div> - <div class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-$id" > - <a href="$owner_url" target="redir" title="$olinktitle" class="contact-photo-link" id="wall-item-ownerphoto-link-$id"> - <img src="$owner_photo" class="contact-photo $osparkle" id="wall-item-ownerphoto-$id" alt="$owner_name" /> + <div class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-$item.id" > + <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="contact-photo-link" id="wall-item-ownerphoto-link-$item.id"> + <img src="$item.owner_photo" class="contact-photo $item.osparkle" id="wall-item-ownerphoto-$item.id" alt="$item.owner_name" /> </a> </div> - <div class="wall-item-location">$location</div> + <div class="wall-item-location">$item.location</div> </div> <div class="wall-item-content"> - {{ if $title }}<h2><a href="$plink.href">$title</a></h2>{{ endif }} - $body + {{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }} + $item.body </div> </div> <div class="wall-item-bottom"> <div class="wall-item-links"> </div> <div class="wall-item-tags"> - {{ for $tags as $tag }} - <span class='tag'>$tag</span> + {{ for $item.tags as $item.tag }} + <span class='tag'>$item.tag</span> {{ endfor }} </div> </div> <div class="wall-item-bottom"> <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 class="wall-item-actions"> <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> - <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 + <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/>$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 class="wall-item-actions-social"> - {{ if $star }} - <a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$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="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> + {{ if $item.star }} + <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-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</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 }} - {{ if $vote }} - <a href="#" id="like-$id" title="$vote.like.0" onclick="dolike($id,'like'); return false">$vote.like.1</a> - <a href="#" id="dislike-$id" title="$vote.dislike.0" onclick="dolike($id,'dislike'); return false">$vote.dislike.1</a> + {{ if $item.vote }} + <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-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a> {{ endif }} - {{ if $vote.share }} - <a href="#" id="share-$id" title="$vote.share.0" onclick="jotShare($id); return false">$vote.share.1</a> + {{ if $item.vote.share }} + <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a> {{ endif }} </div> <div class="wall-item-actions-tools"> - {{ if $drop.dropping }} - <input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" /> - <a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a> + {{ if $item.drop.dropping }} + <input type="checkbox" title="$item.drop.select" name="itemselected[]" class="item-select" value="$item.id" /> + <a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon delete s16" title="$item.drop.delete">$item.drop.delete</a> {{ endif }} - {{ if $edpost }} - <a class="icon edit s16" href="$edpost.0" title="$edpost.1"></a> + {{ if $item.edpost }} + <a class="icon edit s16" href="$item.edpost.0" title="$item.edpost.1"></a> {{ endif }} </div> @@ -84,10 +84,10 @@ </div> <div class="wall-item-bottom"> <div class="wall-item-links"></div> - <div class="wall-item-like" id="wall-item-like-$id">$like</div> - <div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div> + <div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> + <div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> </div> </div> <div class="wall-item-comment-wrapper" > - $comment + $item.comment </div> |