Merge remote branch 'upstream/master'

This commit is contained in:
zottel 2012-03-17 01:49:17 +01:00
commit c56e3c5dd4
28 changed files with 487 additions and 305 deletions

View file

@ -9,7 +9,7 @@ require_once('include/nav.php');
require_once('include/cache.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_VERSION', '2.3.1282' );
define ( 'FRIENDICA_VERSION', '2.3.1283' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
define ( 'DB_UPDATE_VERSION', 1132 );

View file

@ -113,11 +113,13 @@ function contact_selector($selname, $selclass, $preselected = false, $options) {
$str_nets = implode(',',$x['networks']);
$sql_extra .= " AND `network` IN ( $str_nets ) ";
}
$tabindex = (x($options, 'tabindex') ? "tabindex=\"" . $options["tabindex"] . "\"" : "");
if($x['single'])
$o .= "<select name=\"$selname\" id=\"$selclass\" class=\"$selclass\" size=\"" . $x['size'] . "\" >\r\n";
$o .= "<select name=\"$selname\" id=\"$selclass\" class=\"$selclass\" size=\"" . $x['size'] . "\" $tabindex >\r\n";
else
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"" . $x['size'] . "$\" >\r\n";
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"" . $x['size'] . "$\" $tabindex >\r\n";
$r = q("SELECT `id`, `name`, `url`, `network` FROM `contact`
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `notify` != ''
@ -156,7 +158,7 @@ function contact_selector($selname, $selclass, $preselected = false, $options) {
function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false) {
function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false, $tabindex = null) {
$a = get_app();
@ -178,12 +180,12 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
$sql_extra .= " AND `network` IN ( 'dfrn', 'mail', 'face', 'dspr' ) ";
}
$tabindex = ($tabindex > 0 ? "tabindex=\"$tabindex\"" : "");
if($privmail)
$o .= "<select name=\"$selname\" id=\"$selclass\" class=\"$selclass\" size=\"$size\" >\r\n";
$o .= "<select name=\"$selname\" id=\"$selclass\" class=\"$selclass\" size=\"$size\" $tabindex >\r\n";
else
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" >\r\n";
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" $tabindex >\r\n";
$r = q("SELECT `id`, `name`, `url`, `network` FROM `contact`
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `notify` != ''

View file

@ -779,6 +779,17 @@ function item_photo_menu($item){
if(($cid) && (! $item['self'])) {
$contact_url = $a->get_baseurl($ssl_state) . '/contacts/' . $cid;
$posts_link = $a->get_baseurl($ssl_state) . '/network/?cid=' . $cid;
$clean_url = normalise_link($item['author-link']);
if((local_user()) && (local_user() == $item['uid'])) {
if(isset($a->contacts) && x($a->contacts,$clean_url)) {
if($a->contacts[$clean_url]['network'] === NETWORK_DIASPORA) {
$pm_url = $a->get_baseurl($ssl_state) . '/message/new/' . $cid;
}
}
}
}
$menu = Array(

View file

@ -1159,6 +1159,48 @@ function diaspora_comment($importer,$xml,$msg) {
proc_run('php','include/notifier.php','comment',$message_id);
}
$myconv = q("SELECT `author-link`, `author-avatar`, `parent` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 ",
dbesc($parent_item['uri']),
intval($importer['uid'])
);
if(count($myconv)) {
$importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname'];
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;
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['uid'],
'item' => $datarray,
'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $message_id,
'source_name' => $datarray['author-name'],
'source_link' => $datarray['author-link'],
'source_photo' => $datarray['author-avatar'],
'verb' => ACTIVITY_POST,
'otype' => 'item',
'parent' => $conv_parent,
));
// only send one notification
break;
}
}
return;
}

View file

@ -2026,6 +2026,7 @@ function local_delivery($importer,$data) {
if(($item['verb'] === ACTIVITY_TAG) && ($item['object-type'] === ACTVITY_OBJ_TAGTERM)) {
$xo = parse_xml_string($item['object'],false);
$xt = parse_xml_string($item['target'],false);
if($xt->type === ACTIVITY_OBJ_NOTE) {
$i = q("select * from `item` where uri = '%s' and uid = %d limit 1",
dbesc($xt->id),

View file

@ -638,7 +638,7 @@ if(! function_exists('search')) {
function search($s,$id='search-box',$url='/search',$save = false) {
$a = get_app();
$o = '<div id="' . $id . '">';
$o .= '<form action="' . $a->get_baseurl() . $url . '" method="get" >';
$o .= '<form action="' . $a->get_baseurl((stristr($url,'network')) ? true : false) . $url . '" method="get" >';
$o .= '<input type="text" name="search" id="search-text" value="' . $s .'" />';
$o .= '<input type="submit" name="submit" id="search-submit" value="' . t('Search') . '" />';
if($save)

View file

@ -832,129 +832,129 @@ function item_content(&$a) {
*/
function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
//is it a hash tag?
if(strpos($tag,'#') === 0) {
if(strpos($tag,'#') === 0) {
//if the tag is replaced...
if(strpos($tag,'[url='))
//...do nothing
continue;
//base tag has the tags name only
$basetag = str_replace('_',' ',substr($tag,1));
//...do nothing
return;
//base tag has the tags name only
$basetag = str_replace('_',' ',substr($tag,1));
//create text for link
$newtag = '#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]';
//replace tag by the link
$body = str_replace($tag, $newtag, $body);
//replace tag by the link
$body = str_replace($tag, $newtag, $body);
//is the link already in str_tags?
if(! stristr($str_tags,$newtag)) {
//is the link already in str_tags?
if(! stristr($str_tags,$newtag)) {
//append or set str_tags
if(strlen($str_tags))
$str_tags .= ',';
$str_tags .= $newtag;
}
return;
if(strlen($str_tags))
$str_tags .= ',';
$str_tags .= $newtag;
}
return;
}
//is it a person tag?
if(strpos($tag,'@') === 0) {
//is it a person tag?
if(strpos($tag,'@') === 0) {
//is it already replaced?
if(strpos($tag,'[url='))
continue;
$stat = false;
if(strpos($tag,'[url='))
continue;
$stat = false;
//get the person's name
$name = substr($tag,1);
//is it a link or a full dfrn address?
if((strpos($name,'@')) || (strpos($name,'http://'))) {
$newname = $name;
//is it a link or a full dfrn address?
if((strpos($name,'@')) || (strpos($name,'http://'))) {
$newname = $name;
//get the profile links
$links = @lrdd($name);
if(count($links)) {
$links = @lrdd($name);
if(count($links)) {
//for all links, collect how is to inform and how's profile is to link
foreach($links as $link) {
if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page')
$profile = $link['@attributes']['href'];
if($link['@attributes']['rel'] === 'salmon') {
if(strlen($inform))
$inform .= ',';
$inform .= 'url:' . str_replace(',','%2c',$link['@attributes']['href']);
}
}
}
} else { //if it is a name rather than an address
$newname = $name;
$alias = '';
foreach($links as $link) {
if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page')
$profile = $link['@attributes']['href'];
if($link['@attributes']['rel'] === 'salmon') {
if(strlen($inform))
$inform .= ',';
$inform .= 'url:' . str_replace(',','%2c',$link['@attributes']['href']);
}
}
}
} else { //if it is a name rather than an address
$newname = $name;
$alias = '';
$tagcid = 0;
//is it some generated name?
if(strrpos($newname,'+')) {
//is it some generated name?
if(strrpos($newname,'+')) {
//get the id
$tagcid = intval(substr($newname,strrpos($newname,'+') + 1));
$tagcid = intval(substr($newname,strrpos($newname,'+') + 1));
//remove the next word from tag's name
if(strpos($name,' ')) {
if(strpos($name,' ')) {
$name = substr($name,0,strpos($name,' '));
}
}
}
if($tagcid) { //if there was an id
//select contact with that id from the logged in user's contact list
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($tagcid),
//select contact with that id from the logged in user's contact list
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($tagcid),
intval($profile_uid)
);
);
} elseif(strstr($name,'_') || strstr($name,' ')) { //no id
//get the real name
$newname = str_replace('_',' ',$name);
//get the real name
$newname = str_replace('_',' ',$name);
//select someone from this user's contacts by name
$r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
dbesc($newname),
intval($profile_uid)
);
$r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
dbesc($newname),
intval($profile_uid)
);
} else {
//select someone by attag or nick and the name passed in
$r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1",
dbesc($name),
dbesc($name),
intval($profile_uid)
);
//select someone by attag or nick and the name passed in
$r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1",
dbesc($name),
dbesc($name),
intval($profile_uid)
);
}
//$r is set, if someone could be selected
if(count($r)) {
//$r is set, if someone could be selected
if(count($r)) {
$profile = $r[0]['url'];
//set newname to nick, find alias
if($r[0]['network'] === 'stat') {
$newname = $r[0]['nick'];
$stat = true;
if($r[0]['alias'])
$alias = $r[0]['alias'];
}
else
$newname = $r[0]['name'];
//set newname to nick, find alias
if($r[0]['network'] === 'stat') {
$newname = $r[0]['nick'];
$stat = true;
if($r[0]['alias'])
$alias = $r[0]['alias'];
}
else
$newname = $r[0]['name'];
//add person's id to $inform
if(strlen($inform))
$inform .= ',';
$inform .= 'cid:' . $r[0]['id'];
}
if(strlen($inform))
$inform .= ',';
$inform .= 'cid:' . $r[0]['id'];
}
}
//if there is an url for this persons profile
if(isset($profile)) {
//if there is an url for this persons profile
if(isset($profile)) {
//create profile link
$profile = str_replace(',','%2c',$profile);
$newtag = '@[url=' . $profile . ']' . $newname . '[/url]';
$body = str_replace('@' . $name, $newtag, $body);
$profile = str_replace(',','%2c',$profile);
$newtag = '@[url=' . $profile . ']' . $newname . '[/url]';
$body = str_replace('@' . $name, $newtag, $body);
//append tag to str_tags
if(! stristr($str_tags,$newtag)) {
if(strlen($str_tags))
$str_tags .= ',';
$str_tags .= $newtag;
}
// Status.Net seems to require the numeric ID URL in a mention if the person isn't
// subscribed to you. But the nickname URL is OK if they are. Grrr. We'll tag both.
if(strlen($alias)) {
$newtag = '@[url=' . $alias . ']' . $newname . '[/url]';
if(! stristr($str_tags,$newtag)) {
if(strlen($str_tags))
$str_tags .= ',';
$str_tags .= $newtag;
}
}
}
if(! stristr($str_tags,$newtag)) {
if(strlen($str_tags))
$str_tags .= ',';
$str_tags .= $newtag;
}
// Status.Net seems to require the numeric ID URL in a mention if the person isn't
// subscribed to you. But the nickname URL is OK if they are. Grrr. We'll tag both.
if(strlen($alias)) {
$newtag = '@[url=' . $alias . ']' . $newname . '[/url]';
if(! stristr($str_tags,$newtag)) {
if(strlen($str_tags))
$str_tags .= ',';
$str_tags .= $newtag;
}
}
}
}
}

View file

@ -154,7 +154,7 @@ function message_content(&$a) {
$preselect = (isset($a->argv[2])?array($a->argv[2]):false);
$select = contact_select('messageto','message-to-select', $preselect, 4, true);
$select = contact_select('messageto','message-to-select', $preselect, 4, true, false, false, 10);
$tpl = get_markup_template('prv_message.tpl');
$o .= replace_macros($tpl,array(
'$header' => t('Send Private Message'),

View file

@ -90,7 +90,7 @@ function saved_searches($search) {
$o = replace_macros($tpl, array(
'$title' => t('Saved Searches'),
'$add' => t('add'),
'$searchbox' => search($search,'netsearch-box',$a->get_baseurl(true) . $srchurl,true),
'$searchbox' => search($search,'netsearch-box',$srchurl,true),
'$saved' => $saved,
));

View file

@ -652,20 +652,20 @@ function settings_content(&$a) {
$blocktags = $a->user['blocktags'];
$expire_items = get_pconfig(local_user(), 'expire','items');
$expire_items = (($expire_items===false)?1:$expire_items); // default if not set: 1
$expire_items = (($expire_items===false)? '1' : $expire_items); // default if not set: 1
$expire_notes = get_pconfig(local_user(), 'expire','notes');
$expire_notes = (($expire_notes===false)?1:$expire_notes); // default if not set: 1
$expire_notes = (($expire_notes===false)? '1' : $expire_notes); // default if not set: 1
$expire_starred = get_pconfig(local_user(), 'expire','starred');
$expire_starred = (($expire_starred===false)?1:$expire_starred); // default if not set: 1
$expire_starred = (($expire_starred===false)? '1' : $expire_starred); // default if not set: 1
$expire_photos = get_pconfig(local_user(), 'expire','photos');
$expire_photos = (($expire_photos===false)?0:$expire_photos); // default if not set: 0
$expire_photos = (($expire_photos===false)? '0' : $expire_photos); // default if not set: 0
$suggestme = get_pconfig(local_user(), 'system','suggestme');
$suggestme = (($suggestme===false)?0:$suggestme); // default if not set: 0
$suggestme = (($suggestme===false)? '0': $suggestme); // default if not set: 0
$browser_update = intval(get_pconfig(local_user(), 'system','update_interval'));
$browser_update = (($browser_update == 0) ? 40 : $browser_update / 1000); // default if not set: 40 seconds
@ -736,13 +736,13 @@ function settings_content(&$a) {
));
$blockwall = replace_macros($opt_tpl,array(
'$field' => array('blockwall', t('Allow friends to post to your profile page?'), ! $a->user['blockwall'], '', array(t('No'),t('Yes'))),
'$field' => array('blockwall', t('Allow friends to post to your profile page?'), (intval($a->user['blockwall']) ? '0' : '1'), '', array(t('No'),t('Yes'))),
));
$blocktags = replace_macros($opt_tpl,array(
'$field' => array('blocktags', t('Allow friends to tag your posts?'), ! $a->user['blocktags'], '', array(t('No'),t('Yes'))),
'$field' => array('blocktags', t('Allow friends to tag your posts?'), (intval($a->user['blocktags']) ? '0' : '1'), '', array(t('No'),t('Yes'))),
));

View file

@ -30,6 +30,12 @@ if(plaintext != 'none') {
setup : function(ed) {
ed.onInit.add(function(ed) {
ed.pasteAsPlainText = true;
var editorId = ed.editorId;
var textarea = $('#'+editorId);
if (typeof(textarea.attr('tabindex')) != "undefined") {
$('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex'));
textarea.attr('tabindex', null);
}
});
}
});

View file

@ -10,14 +10,14 @@ $parent
$select
<div id="prvmail-subject-label">$subject</div>
<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="$subjtxt" $readonly />
<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="$subjtxt" $readonly tabindex="11" />
<div id="prvmail-message-label">$yourmessage</div>
<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" >$text</textarea>
<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">$text</textarea>
<div id="prvmail-submit-wrapper" >
<input type="submit" id="prvmail-submit" name="submit" value="Submit" />
<input type="submit" id="prvmail-submit" name="submit" value="Submit" tabindex="13" />
<div id="prvmail-upload-wrapper" >
<div id="prvmail-upload" class="icon border camera" title="$upload" ></div>
</div>

View file

@ -52,6 +52,9 @@ $('.savedsearchterm').hover(
$('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');}
);
// make auto-complete work in more places
$(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl");
});

View file

@ -123,9 +123,6 @@ a {
text-decoration: none;
margin-bottom: 1px;
}
/*a:hover { */
/* text-decoration: none;*/
/*}*/
a:hover img {
text-decoration: none;
}
@ -778,6 +775,15 @@ aside #viewcontacts {
#profile-jot-text_ifr {
width:99.900002% !important;
}
[id$="jot-text_ifr"] {
width: 99.900002% !important;
color: #2e2f2e;
background: #eec;
}
[id$="jot-text_ifr"] .mceContentBody {
color: #2e2f2e;
background: #eec;
}
#profile-attach-wrapper,
#profile-audio-wrapper,
#profile-link-wrapper,
@ -1527,7 +1533,6 @@ div[id$="wrapper"] br {
}
.mail-list-subject {
font-size: 1.2em;
font-weight: bold;
}
.mail-list-delete-wrapper {
float: right;
@ -1751,23 +1756,23 @@ div[id$="wrapper"] br {
margin: 30px 0px;
}
.profile-edit-side-div {
/*background: #111;*/
/*border-radius: 5px 5px 0px 0px;*/
/*margin: 0px 0px 0px 0px;*/
/*width: 100px;*/
/*height: 25px;*/
/*position: absolute;*/
/*background: #111;
border-radius: 5px 5px 0px 0px;
margin: 0px 0px 0px 0px;
width: 100px;
height: 25px;
position: absolute;*/
display: none;
/*left: 35%;*/
/*top: 41%;*/
/*cursor: pointer;*/
/*left: 35%;
top: 41%;
cursor: pointer;*/
}
/*.profile-edit-side-div:hover {*/
/*display: block;*/
/*}*/
/*.profile-edit-side-link {*/
/*margin: 3px 0px 0px 70px;*/
/*}*/
/*.profile-edit-side-div:hover {
display: block;
}
.profile-edit-side-link {
margin: 3px 0px 0px 70px;
}*/
#profiles-menu-trigger {
margin: 0px 0px 0px 25px;
}
@ -2123,12 +2128,12 @@ div[id$="wrapper"] br {
border-bottom: 1px solid #000;
}
#adminpage dt {
width: 200px;
width: 250px;
float: left;
font-weight: bold;
}
#adminpage dd {
margin-left: 200px;
margin-left: 250px;
}
#adminpage h3 {
border-bottom:1px solid #ccc;
@ -2590,8 +2595,8 @@ footer {
margin-top: 30px;
overflow: auto;
}
/*#acl-list-content {*/
/*}*/
/*#acl-list-content {
}*/
.acl-list-item {
border: 1px solid #eec;
display: block;

View file

@ -64,7 +64,7 @@ $(document).ready(function() {
$('#drop-' + id).addClass('iconspacer'); }
);
// notifications
// click outside notifications menu closes it
$('html').click(function() {
$('#nav-notifications-linkmenu').removeClass('selected');
document.getElementById("nav-notifications-menu").style.display = "none";
@ -73,7 +73,17 @@ $(document).ready(function() {
$('#nav-notifications-linkmenu').click(function(event) {
event.stopPropagation();
});
// click outside profiles menu closes it
$('html').click(function() {
$('#profiles-menu-trigger').removeClass('selected');
document.getElementById("profiles-menu").style.display = "none";
});
$('#profiles-menu').click(function(event) {
event.stopPropagation();
});
// main function in toolbar functioning
function toggleToolbar() {
if ( $('#nav-floater').is(':visible') ) {
$('#nav-floater').slideUp('fast');
@ -87,15 +97,20 @@ $(document).ready(function() {
});
}
};
// our trigger for the toolbar button
$('.floaterflip').click(function() {
toggleToolbar();
return false;
});
// (attempt) to change the text colour in a top post
$('#profile-jot-text').focusin(function() {
$(this).css({color: '#eec'});
});
// make auto-complete work in more places
$(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl");
/* $('#profile-photo-wrapper').mouseover(function() {
$('.profile-edit-side-div').css({display: 'block'});
}).mouseout(function() {

View file

@ -20,9 +20,11 @@
</div>
<div class="contact-entry-photo-end" ></div>
<div class="contact-entry-name" id="contact-entry-name-$contact.id" >$contact.name</div>
{{ if $contact.alt_text }}<div class="contact-entry-details" id="contact-entry-rel-$contact.id" >$contact.alt_text</div>{{ endif }}
<div class="contact-entry-details" id="contact-entry-url-$contact.id" >
<a href="$contact.itemurl" title="$contact.itemurl">Profile URL</a></div>
<div class="contact-entry-details" id="contact-entry-network-$contact.id" >$contact.network</div>
<div class="contact-entry-end" ></div>
</div>

View file

@ -1,5 +1,5 @@
<div class="widget" id="group-sidebar">
<h3>$title</h3>
<div id="group-sidebar" class="widget">
<h3 class="label">$title</h3>
<div id="sidebar-group-list">
<ul id="sidebar-group-ul">
@ -9,7 +9,7 @@
{{ if $group.edit }}
<a
class="groupsideedit"
href="$group.edit.href" title="$edittext"><span class="icon small-pencil"></span></a>
href="$group.edit.href" title="$group.edit.title"><span class="icon small-pencil"></span></a>
{{ endif }}
{{ if $group.cid }}
<input type="checkbox"

View file

@ -74,25 +74,6 @@
}
}
$(document).ready(function() {
function toggleToolbar() {
if ( $('#nav-floater').is(':visible') ) {
$('#nav-floater').slideUp('fast');
$('.floaterflip').css({
backgroundPosition: '-210px -60px'
});
} else {
$('#nav-floater').slideDown('fast');
$('.floaterflip').css({
backgroundPosition: '-190px -60px'
});
}
};
$('.floaterflip').click(function() {
toggleToolbar();
return false;
});
});
</script>

View file

@ -114,6 +114,7 @@ function enableOnUser(){
$(this).val("");
initEditor();
}
</script>
<script type="text/javascript" src="$baseurl/js/ajaxupload.js"></script>
<script type="text/javascript">
@ -121,6 +122,7 @@ function enableOnUser(){
var addtitle = '$addtitle';
$(document).ready(function() {
/* enable tinymce on focus and click */
$("#profile-jot-text").focus(enableOnUser);
$("#profile-jot-text").click(enableOnUser);
@ -261,6 +263,18 @@ function enableOnUser(){
}
}
function itemFiler(id) {
reply = prompt("$fileas");
if(reply && reply.length) {
commentBusy = true;
$('body').css('cursor', 'wait');
$.get('filer/' + id + '?term=' + reply);
if(timer) clearTimeout(timer);
timer = setTimeout(NavUpdate,3000);
liking = 1;
}
}
function jotClearLocation() {
$('#jot-coord').val('');
$('#profile-nolocation-wrapper').hide();

View file

@ -57,14 +57,6 @@ works -->
</li>
{{ endif }}
{{ if $userinfo }}
<ul id="nav-user-menu" class="menu-popup">
{{ for $nav.usermenu as $usermenu }}
<li><a class="$usermenu.2" href="$usermenu.0" title="$usermenu.3">$usermenu.1</a></li>
{{ endfor }}
</ul>
{{ endif }}
{{ if $nav.contacts }}
<li><a id="nav-contacts-link" class="nav-commlink $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.1">$nav.contacts.1</a></li>
{{ endif }}
@ -94,6 +86,14 @@ works -->
</ul>
</div>
{{ if $userinfo }}
<ul id="nav-user-menu" class="menu-popup">
{{ for $nav.usermenu as $usermenu }}
<li><a class="$usermenu.2" href="$usermenu.0" title="$usermenu.3">$usermenu.1</a></li>
{{ endfor }}
</ul>
{{ endif }}
<div id="notifications">
{{ if $nav.home }}
<a id="home-update" class="nav-ajax-left" href="$nav.home.0" title="$nav.home.1"></a>

2
view/theme/dispy/nets.tpl Executable file → Normal file
View file

@ -4,7 +4,7 @@
<a href="$base" class="nets-link{{ if $sel_all }} nets-selected{{ endif }} nets-all">$all</a>
<ul class="nets-ul">
{{ for $nets as $net }}
<li><a href="$base?nets=$net.ref" class="nets-link{{ if $net.selected }} nets-selected{{ endif }}">$net.name</a></li>
<li><a href="$base?f=&nets=$net.ref" class="nets-link{{ if $net.selected }} nets-selected{{ endif }}">$net.name</a></li>
{{ endfor }}
</ul>
</div>

2
view/theme/dispy/photo_view.tpl Executable file → Normal file
View file

@ -17,7 +17,7 @@
</div>
<div id="photo-photo-end"></div>
<div id="photo-caption" >$desc</div>
<div id="photo-caption">$desc</div>
{{ if $tags }}
<div id="in-this-photo-text">$tags.0</div>
<div id="in-this-photo">$tags.1</div>

View file

@ -1,12 +1,29 @@
<div class="vcard">
{{ if $profile.edit }}
<div class="action">
<span class="icon-profile-edit"></span>
<a href="#" rel="#profiles-menu" class="ttright" id="profiles-menu-trigger" title="$profile.edit.3">$profile.edit.1</a>
<ul id="profiles-menu" class="menu-popup">
{{ for $profile.menu.entries as $e }}
<li>
<a href="profiles/$e.id"><img src='$e.photo'>$e.profile_name</a>
</li>
{{ endfor }}
<li><a href="profile_photo" >$profile.menu.chg_photo</a></li>
<li><a href="profiles/new" id="profile-listing-new-link">$profile.menu.cr_new</a></li>
</ul>
</div>
{{ endif }}
<div class="fn label">$profile.name</div>
{{ if $pdesc }}
<div class="title">$profile.pdesc</div>
{{ endif }}
<div id="profile-photo-wrapper">
<img class="photo" width="175" height="175" src="$profile.photo" alt="$profile.name" />
<img class="photo" width="175" height="175" src="$profile.photo?rev=$profile.picdate" alt="$profile.name" />
</div>
{{ if $location }}
@ -15,10 +32,11 @@
<div class="adr">
{{ if $profile.address }}
<div class="street-address">$profile.address</div>{{ endif }}
<span class="city-state-zip">$profile.zip</span>
<span class="locality">$profile.locality</span>{{ if $profile.locality }}, {{ endif }}
<span class="region">$profile.region</span>
<span class="postal-code">$profile.postal-code</span>
<span class="city-state-zip">
<span class="locality">$profile.locality</span>{{ if $profile.locality }}, {{ endif }}
<span class="region">$profile.region</span>
<span class="postal-code">$profile.postal-code</span>
</span>
{{ if $profile.country-name }}<span class="country-name">$profile.country-name</span>{{ endif }}
</div>
</div>

2
view/theme/dispy/saved_searches_aside.tpl Executable file → Normal file
View file

@ -1,4 +1,4 @@
<div class="widget" id="saved-search-list">
<div id="saved-search-list" class="widget">
<h3 id="search">$title</h3>
$searchbox

View file

@ -190,14 +190,16 @@ input[type=submit] {
color: #fff;
}
/**
* global
*/
/* .tool .action */
.action {
float: right;
margin: 5px 0;
}
/**
* login
*/
@ -205,9 +207,10 @@ input[type=submit] {
margin-right: 20px;
}
/*********
* nav
*********/
/**
* nav
*/
nav {
height: 60px;
display: block;
@ -515,11 +518,13 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link
position: fixed;
left: 28px;
bottom: 6px;
z-index: 10;
}
#language-selector {
position: fixed;
bottom: 2px;
left: 52px;
z-index: 10;
}
.menu-popup {
position: absolute;
@ -532,9 +537,9 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link
list-style: none;
border: 3px solid #364e59;
z-index: 100000;
-webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-webkit-box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.7);
-moz-box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.7);
box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.7);
}
.menu-popup a {
display: block;
@ -582,24 +587,24 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link
/** sysmsg **/
#sysmsg_info {
position:fixed;
bottom:0;
-moz-box-shadow:0 0 5px #888;
-webkit-box-shadow:0 0 5px #888;
box-shadow:0 0 5px #888;
position: fixed;
bottom: 0;
-moz-box-shadow: 3px 3px 3px 10px 0 #000;
-webkit-box-shadow: 3px 3px 10px 0 #000;
box-shadow: 3px 3px 10px 0 #000;
padding: 10px;
background-color:#fcaf3e;
background-color: #fcaf3e;
border:2px solid #f8911b;
border-bottom:0;
border-bottom: 0;
padding-bottom: 50px;
z-index: 1000;
}
#sysmsg {
position: fixed;
bottom: 0;
-moz-box-shadow: 0 0 5px #888;
-webkit-box-shadow: 0 0 5px #888;
box-shadow: 0 0 5px #888;
-moz-box-shadow: 3px 3px 10px 0 #000;
-webkit-box-shadow: 3px 3px 10px 0 #000;
box-shadow: 3px 3px 10px 0 #000;
padding: 10px;
background-color: #fcaf3e;
border: 2px solid #f8911b;
@ -683,7 +688,9 @@ aside #viewcontacts {
#netsearch-box {
margin: 30px 0px;
}
.ttright {
margin: 0px 0px 0px 0px;
}
/**
* contacts block
@ -766,6 +773,15 @@ aside #viewcontacts {
#profile-jot-text_ifr {
width:99.900002% !important;
}
[id$="jot-text_ifr"] {
width: 99.900002% !important;
color: #2e2f2e;
background: #eec;
}
[id$="jot-text_ifr"] .mceContentBody {
color: #2e2f2e;
background: #eec;
}
#profile-attach-wrapper,
#profile-audio-wrapper,
#profile-link-wrapper,
@ -805,6 +821,9 @@ aside #viewcontacts {
border-bottom: 0;
padding: 5px;
}
#profile-jot-net {
margin: 5px 0;
}
#jot-preview-link {
margin: 0 0 0 10px;
border: 0;
@ -820,18 +839,19 @@ aside #viewcontacts {
border: 0;
text-decoration: none;
float: right;
cursor: pointer;
}
#profile-jot-perms {
float: right;
background-color: #555753;
height: 22px;
width: 20px;
-webkit-border-radius: 5px 0px 0px 5px;
-moz-border-radius: 5px 0px 0px 5px;
border-radius: 5px 0px 0px 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
overflow: hidden;
border: 0px;
margin: 0 -4px 0 10px;
margin: 0 10px 0 10px;
}
#profile-jot-plugin-wrapper {
width: 1px;
@ -849,23 +869,21 @@ aside #viewcontacts {
height: 22px;
background-color: #555753;
color: #eeeeec;
-webkit-border-radius: 0 5px 5px 0;
-moz-border-radius: 0 5px 5px 0;
border-radius: 0 5px 5px 0;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
border: 0;
margin: 0;
float: right;
}
#jot-perms-icons {
background-color: #555753;
#jot-perms-icon {
height: 22px;
width: 20px;
-webkit-border-radius: 0 5px 5px 0;
-moz-border-radius: 0 5px 5px 0;
border-radius: 0 5px 5px 0;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
overflow: hidden;
border: 0;
margin: 0 0 0 94.4%;
}
#profile-jot-acl-wrapper {
margin: 0 10px;
@ -908,10 +926,11 @@ aside #viewcontacts {
clear: both;
}
#jot-title-desc {
color: #cccccc;
color: #ccc;
}
#profile-jot-desc {
color: #a00;
margin: 5px 0;
}
#jot-title-wrapper {
margin-bottom: 5px;
@ -1088,7 +1107,7 @@ section {
clear: left;
font-size: 0.8em;
color: #878883;
margin: 20px 0 0 110px;
margin: 20px 20px 0 110px;
}
.wall-item-ago {
display: inline;
@ -1325,10 +1344,11 @@ div[id$="wrapper"] br {
.photo-album-image-wrapper,
.photo-top-image-wrapper {
float: left;
-moz-box-shadow: 0 0 5px #888;
-webkit-box-shadow: 0 0 5px #888;
box-shadow: 0 0 5px #888;
-moz-box-shadow: 3px 3px 10px 0 #000;
-webkit-box-shadow: 3px 3px 10px 0 #000;
box-shadow: 3px 3px 10px 0 #000;
background-color: #eee;
color: #111;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
@ -1497,20 +1517,25 @@ div[id$="wrapper"] br {
}
.mail-list-sender-name {
display: inline;
font-size: 1.1em;
}
.mail-list-date {
display: inline;
font-size: 0.8em;
font-size: 0.9em;
padding-left: 10px;
}
.mail-list-sender-name, .mail-list-date {
font-style: italic;
}
.mail-list-subject {
font-size: 1.5em;
font-size: 1.2em;
}
.mail-list-delete-wrapper {
float: right;
}
.mail-list-outside-wrapper-end {
clear: both;
border-bottom: 1px #eec dotted;
}
.mail-conv-sender {
float: left;
@ -1681,7 +1706,6 @@ div[id$="wrapper"] br {
}
/**
* register, settings & profile forms
*/
@ -1728,29 +1752,55 @@ div[id$="wrapper"] br {
margin: 30px 0px;
}
.profile-edit-side-div {
margin: 5px 2px 0 0;
display: none;
}
/*.profile-edit-side-div:hover {
display: block;
}
.profile-edit-side-link {
margin: 0 20px -18px 0;
float: right;
margin: 3px 0px 0px 70px;
}*/
#profiles-menu-trigger {
margin: 0px 0px 0px 25px;
}
.profile-listing {
float: left;
margin: 20px 20px 0px 0px;
}
.icon-profile-edit {
background: url("icons.png") -150px 0px no-repeat;
border: 0;
cursor: pointer;
display: block;
float: right;
width: 20px;
height: 20px;
margin: 0 0 -18px;
position: absolute;
text-decoration: none;
top: 18px;
right: 226px;
}
#profile-edit-links ul {
margin: 20px 0;
padding: 0;
list-style: none;
}
.marital {
margin-top: 5px;
}
#register-sitename {
display: inline;
font-weight: bold;
}
#advanced-expire-popup {
/* background: #2e2f2e;
color: #eec;*/
background: #2e2f2e;
color: #eec;
}
#id_ssl_policy {
width: 374px;
}
/**
* contacts selector
@ -1961,10 +2011,12 @@ div[id$="wrapper"] br {
.group-selected, .nets-selected {
padding: 3px;
color: #111;
border: 1px solid #CCCCCC;
background: #F8F8F8;
background: #f8f8f8;
font-weight: bold;
}
.group-selected:hover, .nets-selected:hover {
color: #111;
}
.groupsideedit {
margin-right: 10px;
}
@ -2063,12 +2115,12 @@ div[id$="wrapper"] br {
border-bottom: 1px solid #000;
}
#adminpage dt {
width: 200px;
width: 250px;
float: left;
font-weight: bold;
}
#adminpage dd {
margin-left: 200px;
margin-left: 250px;
}
#adminpage h3 {
border-bottom:1px solid #ccc;
@ -2294,6 +2346,7 @@ div[id$="wrapper"] br {
background: url(icons.png) no-repeat;
border: 0;
text-decoration: none;
border-radius: 5px;
}
.icon:hover {
border: 0;
@ -2391,7 +2444,7 @@ div[id$="wrapper"] br {
background-position: -70px -40px;
}
.unlock {
background-position: -90px -40px;
background-position: -88px -40px;
}
.video {
background-position: -110px -40px;
@ -2487,106 +2540,109 @@ footer {
#photos-upload-permissions-wrapper,
#profile-jot-acl-wrapper {
display: block !important;
background: #eec;
color: #2e2f2e;
}
#acl-wrapper {
width: 690px;
float: left;
width: 660px;
margin: 0 auto;
}
#acl-search {
float: right;
background: #fff url("../../../images/search_18.png") no-repeat right center;
padding-right: 20px;
margin: 6px;
}
#acl-showall {
float:left;
display:block;
width:auto;
height:18px;
background-color:#CCC;
background-image:url("../../../images/show_all_off.png");
background-position:7px 7px;
background-repeat:no-repeat;
padding:7px 10px 7px 30px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
border-radius:5px;
color:#999;
float: left;
display: block;
width: auto;
height: 18px;
background: #eec url("../../../images/show_all_off.png") 8px 8px no-repeat;
padding: 7px 10px 7px 30px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
color: #999;
margin: 5px 0;
}
#acl-showall.selected {
color:#000;
background-color:#F90;
background-image:url(../../../images/show_all_on.png);
color: #000;
background: #f90 url(../../../images/show_all_on.png) 8px 8px no-repeat;
}
#acl-list {
height:210px;
border:1px solid #ccc;
clear:both;
margin-top:30px;
overflow:auto;
}
#acl-list-content {
height: 210px;
border: 1px solid #ccc;
clear: both;
margin-top: 30px;
overflow: auto;
}
/*#acl-list-content {
}*/
.acl-list-item {
display:block;
width:150px;
height:30px;
border:1px solid #ccc;
margin:5px;
float:left;
border: 1px solid #ccc;
display: block;
float: left;
height: 110px;
margin: 3px 0 5px 5px;
width: 120px;
}
.acl-list-item img {
width:22px;
height:22px;
float:left;
margin:4px;
width: 22px;
height: 22px;
float: left;
margin: 5px 5px 20px;
}
.acl-list-item p {
height: 12px;
font-size: 10px;
margin: 0;
margin: 0 0 22px;
padding: 2px 0 1px;
}
.acl-list-item a {
font-size:8px;
display:block;
width:40px;
height:10px;
float:left;
color:#999;
background-color:#CCC;
background-position:3px 3px;
background-repeat:no-repeat;
margin-right:5px;
-webkit-border-radius:2px;
-moz-border-radius:2px;
border-radius:2px;
padding-left:15px;
background: #ccc 3px 3px no-repeat;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
clear: both;
font-size: 10px;
display: block;
width: 55px;
height: 20px;
color: #999;
margin: 5px auto 0;
padding: 0 3px;
text-align: center;
vertical-align: middle;
}
#acl-wrapper a:hover {
text-decoration:none;
color:#000;
color: #000;
border: 0;
}
.acl-button-show {
background-image:url('../../../images/show_off.png');
background-image: url('../../../images/show_off.png');
margin: 0 auto;
}
.acl-button-hide {
background-image:url('../../../images/hide_off.png');
background-image: url('../../../images/hide_off.png');
margin: 0 auto;
}
.acl-button-show.selected {
color:#000;
background-color:#9ade00;
background-image:url(../../../images/show_on.png);
color: #000;
background-color: #9ade00;
background-image: url(../../../images/show_on.png);
}
.acl-button-hide.selected {
color:#000;
background-color:#ff4141;
background-image:url(../../../images/hide_on.png);
color: #000;
background-color: #ff4141;
background-image: url(../../../images/hide_on.png);
}
.acl-list-item.groupshow {
border-color:#9ade00;
border-color: #9ade00;
}
.acl-list-item.grouphide {
border-color:#ff4141;
border-color: #ff4141;
}
/** /acl **/
@ -2645,7 +2701,7 @@ footer {
@media handheld {
body {
font-size: 15pt;
}
body {
font-size: 15pt;
}
}

View file

@ -64,7 +64,7 @@ $(document).ready(function() {
$('#drop-' + id).addClass('iconspacer'); }
);
// notifications
// click outside notifications menu closes it
$('html').click(function() {
$('#nav-notifications-linkmenu').removeClass('selected');
document.getElementById("nav-notifications-menu").style.display = "none";
@ -73,17 +73,17 @@ $(document).ready(function() {
$('#nav-notifications-linkmenu').click(function(event) {
event.stopPropagation();
});
// usermenu
// click outside profiles menu closes it
$('html').click(function() {
$('#nav-user-linkmenu').removeClass('selected');
document.getElementById("nav-user-menu").style.display = "none";
$('#profiles-menu-trigger').removeClass('selected');
document.getElementById("profiles-menu").style.display = "none";
});
$('#nav-user-linkmenu').click(function(event) {
$('#profiles-menu').click(function(event) {
event.stopPropagation();
});
// main function in toolbar functioning
function toggleToolbar() {
if ( $('#nav-floater').is(':visible') ) {
$('#nav-floater').slideUp('fast');
@ -97,17 +97,35 @@ $(document).ready(function() {
});
}
};
// our trigger for the toolbar button
$('.floaterflip').click(function() {
toggleToolbar();
return false;
});
});
</script>
<script>
$(document).ready(function() {
// (attempt) to change the text colour in a top post
$('#profile-jot-text').focusin(function() {
$(this).css('color: #eec;');
$(this).css({color: '#eec'});
});
// make auto-complete work in more places
$(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl");
/* $('#profile-photo-wrapper').mouseover(function() {
$('.profile-edit-side-div').css({display: 'block'});
}).mouseout(function() {
$('.profile-edit-side-div').css({display: 'none'});
return false;
});
$('img.photo').mouseover(function() {
$('.profile-edit-side-div').css({display: 'block'});
}).mouseout(function() {
$('.profile-edit-side-div').css({display: 'none'});
return false;
});*/
});
</script>
EOT;

View file

@ -26,11 +26,14 @@
<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 $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 }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id"
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 }}

View file

@ -31,11 +31,15 @@
<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 $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 }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id"
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 }}
@ -63,6 +67,7 @@
{{ endfor }}
</div>
</div>
</div>
<div class="wall-item-author">
<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>