mirror of
https://github.com/friendica/friendica
synced 2024-12-25 05:20:15 +00:00
Merge remote branch 'upstream/master'
This commit is contained in:
commit
a2ea560bf3
40 changed files with 6304 additions and 611 deletions
2
boot.php
2
boot.php
|
@ -9,7 +9,7 @@ require_once('include/nav.php');
|
|||
require_once('include/cache.php');
|
||||
|
||||
define ( 'FRIENDICA_PLATFORM', 'Friendica');
|
||||
define ( 'FRIENDICA_VERSION', '2.3.1331' );
|
||||
define ( 'FRIENDICA_VERSION', '2.3.1334' );
|
||||
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
||||
define ( 'DB_UPDATE_VERSION', 1143 );
|
||||
|
||||
|
|
|
@ -952,7 +952,7 @@ function tag_deliver($uid,$item_id) {
|
|||
|
||||
$mention = false;
|
||||
|
||||
$u = q("select uid, nickname, language, username, email, `page-flags`, `notify-flags` from user where uid = %d limit 1",
|
||||
$u = q("select * from user where uid = %d limit 1",
|
||||
intval($uid)
|
||||
);
|
||||
if(! count($u))
|
||||
|
@ -1027,10 +1027,20 @@ function tag_deliver($uid,$item_id) {
|
|||
if(! count($c))
|
||||
return;
|
||||
|
||||
q("update item set wall = 1, origin = 1, forum_mode = 1, `owner-name` = '%s', `owner-link` = '%s', `owner-avatar` = '%s' where id = %d limit 1",
|
||||
// also reset all the privacy bits to the forum default permissions
|
||||
|
||||
$private = ($u[0]['allow_cid'] || $u[0]['allow_gid'] || $u[0]['deny_cid'] || $u[0]['deny_gid']) ? 1 : 0;
|
||||
|
||||
q("update item set wall = 1, origin = 1, forum_mode = 1, `owner-name` = '%s', `owner-link` = '%s', `owner-avatar` = '%s',
|
||||
`private` = %d, `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s' where id = %d limit 1",
|
||||
dbesc($c[0]['name']),
|
||||
dbesc($c[0]['url']),
|
||||
dbesc($c[0]['thumb']),
|
||||
intval($private),
|
||||
dbesc($u[0]['allow_cid']),
|
||||
dbesc($u[0]['allow_gid']),
|
||||
dbesc($u[0]['deny_cid']),
|
||||
dbesc($u[0]['deny_gid']),
|
||||
intval($item_id)
|
||||
);
|
||||
|
||||
|
@ -3029,32 +3039,7 @@ function item_expire($uid,$days) {
|
|||
if($expire_items==0 && $item['type']!='note')
|
||||
continue;
|
||||
|
||||
|
||||
$r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s' WHERE `id` = %d LIMIT 1",
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
intval($item['id'])
|
||||
);
|
||||
|
||||
$r = q("DELETE FROM item_id where iid in (select id from item where parent = %d) and uid = %d",
|
||||
intval($item['id']),
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
$r = q("DELETE FROM sign where iid in (select id from item where parent = %d) and uid = %d",
|
||||
intval($item['id']),
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
// kill the kids
|
||||
|
||||
$r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d ",
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc($item['parent-uri']),
|
||||
intval($item['uid'])
|
||||
);
|
||||
|
||||
drop_item($item['id'],false);
|
||||
}
|
||||
|
||||
proc_run('php',"include/notifier.php","expire","$uid");
|
||||
|
@ -3116,6 +3101,25 @@ function drop_item($id,$interactive = true) {
|
|||
intval($item['id'])
|
||||
);
|
||||
|
||||
// clean up categories and tags so they don't end up as orphans
|
||||
|
||||
$matches = false;
|
||||
$cnt = preg_match_all('/<(.*?)>/',$item['file'],$matches,PREG_SET_ORDER);
|
||||
if($cnt) {
|
||||
foreach($matches as $mtch) {
|
||||
file_tag_unsave_file($item['uid'],$item['id'],$mtch[1],true);
|
||||
}
|
||||
}
|
||||
|
||||
$matches = false;
|
||||
|
||||
$cnt = preg_match_all('/\[(.*?)\]/',$item['file'],$matches,PREG_SET_ORDER);
|
||||
if($cnt) {
|
||||
foreach($matches as $mtch) {
|
||||
file_tag_unsave_file($item['uid'],$item['id'],$mtch[1],false);
|
||||
}
|
||||
}
|
||||
|
||||
// If item is a link to a photo resource, nuke all the associated photos
|
||||
// (visitors will not have photo resources)
|
||||
// This only applies to photos uploaded from the photos page. Photos inserted into a post do not
|
||||
|
@ -3139,6 +3143,17 @@ function drop_item($id,$interactive = true) {
|
|||
// ignore the result
|
||||
}
|
||||
|
||||
// clean up item_id and sign meta-data tables
|
||||
|
||||
$r = q("DELETE FROM item_id where iid in (select id from item where parent = %d and uid = %d)",
|
||||
intval($item['id']),
|
||||
intval($item['uid'])
|
||||
);
|
||||
|
||||
$r = q("DELETE FROM sign where iid in (select id from item where parent = %d and uid = %d)",
|
||||
intval($item['id']),
|
||||
intval($item['uid'])
|
||||
);
|
||||
|
||||
// If it's the parent of a comment thread, kill all the kids
|
||||
|
||||
|
@ -3171,7 +3186,7 @@ function drop_item($id,$interactive = true) {
|
|||
}
|
||||
}
|
||||
$drop_id = intval($item['id']);
|
||||
|
||||
|
||||
// send the notification upstream/downstream as the case may be
|
||||
|
||||
if(! $interactive)
|
||||
|
|
|
@ -930,7 +930,8 @@ function prepare_body($item,$attach = false) {
|
|||
foreach($matches as $mtch) {
|
||||
if(strlen($x))
|
||||
$x .= ',';
|
||||
$x .= xmlify(file_tag_decode($mtch[1])) . ' <a href="' . $a->get_baseurl() . '/filerm/' . $item['id'] . '?f=&cat=' . xmlify(file_tag_decode($mtch[1])) . '" title="' . t('remove') . '" >' . t('[remove]') . '</a>';
|
||||
$x .= xmlify(file_tag_decode($mtch[1]))
|
||||
. ((local_user() == $item['uid']) ? ' <a href="' . $a->get_baseurl() . '/filerm/' . $item['id'] . '?f=&cat=' . xmlify(file_tag_decode($mtch[1])) . '" title="' . t('remove') . '" >' . t('[remove]') . '</a>' : '');
|
||||
}
|
||||
if(strlen($x))
|
||||
$s .= '<div class="categorytags"><span>' . t('Categories:') . ' </span>' . $x . '</div>';
|
||||
|
@ -1490,7 +1491,7 @@ function file_tag_unsave_file($uid,$item,$file,$cat = false) {
|
|||
intval($uid)
|
||||
);
|
||||
|
||||
$r = q("select file from item where uid = %d " . file_tag_file_query('item',$file,(($cat) ? 'category' : 'file')),
|
||||
$r = q("select file from item where uid = %d and deleted = 0 " . file_tag_file_query('item',$file,(($cat) ? 'category' : 'file')),
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
|
|
4
library/jquery_ac/README
Normal file
4
library/jquery_ac/README
Normal file
|
@ -0,0 +1,4 @@
|
|||
This is jquery.autocomplete from
|
||||
|
||||
http://www.devbridge.com/projects/autocomplete/jquery/
|
||||
|
19
library/jquery_ac/jquery-1.3.2.min.js
vendored
Normal file
19
library/jquery_ac/jquery-1.3.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
11
library/jquery_ac/jquery.autocomplete-min.js
vendored
Normal file
11
library/jquery_ac/jquery.autocomplete-min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
390
library/jquery_ac/jquery.autocomplete.js
Normal file
390
library/jquery_ac/jquery.autocomplete.js
Normal file
|
@ -0,0 +1,390 @@
|
|||
/**
|
||||
* Ajax Autocomplete for jQuery, version 1.1.3
|
||||
* (c) 2010 Tomas Kirda
|
||||
*
|
||||
* Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license.
|
||||
* For details, see the web site: http://www.devbridge.com/projects/autocomplete/jquery/
|
||||
*
|
||||
* Last Review: 04/19/2010
|
||||
*/
|
||||
|
||||
/*jslint onevar: true, evil: true, nomen: true, eqeqeq: true, bitwise: true, regexp: true, newcap: true, immed: true */
|
||||
/*global window: true, document: true, clearInterval: true, setInterval: true, jQuery: true */
|
||||
|
||||
(function($) {
|
||||
|
||||
var reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g');
|
||||
|
||||
function fnFormatResult(value, data, currentValue) {
|
||||
var pattern = '(' + currentValue.replace(reEscape, '\\$1') + ')';
|
||||
return value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>');
|
||||
}
|
||||
|
||||
function Autocomplete(el, options) {
|
||||
this.el = $(el);
|
||||
this.el.attr('autocomplete', 'off');
|
||||
this.suggestions = [];
|
||||
this.data = [];
|
||||
this.badQueries = [];
|
||||
this.selectedIndex = -1;
|
||||
this.currentValue = this.el.val();
|
||||
this.intervalId = 0;
|
||||
this.cachedResponse = [];
|
||||
this.onChangeInterval = null;
|
||||
this.ignoreValueChange = false;
|
||||
this.serviceUrl = options.serviceUrl;
|
||||
this.isLocal = false;
|
||||
this.options = {
|
||||
autoSubmit: false,
|
||||
minChars: 1,
|
||||
maxHeight: 300,
|
||||
deferRequestBy: 0,
|
||||
width: 0,
|
||||
highlight: true,
|
||||
params: {},
|
||||
fnFormatResult: fnFormatResult,
|
||||
delimiter: null,
|
||||
zIndex: 9999
|
||||
};
|
||||
this.initialize();
|
||||
this.setOptions(options);
|
||||
}
|
||||
|
||||
$.fn.autocomplete = function(options) {
|
||||
return new Autocomplete(this.get(0)||$('<input />'), options);
|
||||
};
|
||||
|
||||
|
||||
Autocomplete.prototype = {
|
||||
|
||||
killerFn: null,
|
||||
|
||||
initialize: function() {
|
||||
|
||||
var me, uid, autocompleteElId;
|
||||
me = this;
|
||||
uid = Math.floor(Math.random()*0x100000).toString(16);
|
||||
autocompleteElId = 'Autocomplete_' + uid;
|
||||
|
||||
this.killerFn = function(e) {
|
||||
if ($(e.target).parents('.autocomplete').size() === 0) {
|
||||
me.killSuggestions();
|
||||
me.disableKillerFn();
|
||||
}
|
||||
};
|
||||
|
||||
if (!this.options.width) { this.options.width = this.el.width(); }
|
||||
this.mainContainerId = 'AutocompleteContainter_' + uid;
|
||||
|
||||
$('<div id="' + this.mainContainerId + '" style="position:absolute;z-index:9999;"><div class="autocomplete-w1"><div class="autocomplete" id="' + autocompleteElId + '" style="display:none; width:300px;"></div></div></div>').appendTo('body');
|
||||
|
||||
this.container = $('#' + autocompleteElId);
|
||||
this.fixPosition();
|
||||
if (window.opera) {
|
||||
this.el.keypress(function(e) { me.onKeyPress(e); });
|
||||
} else {
|
||||
this.el.keydown(function(e) { me.onKeyPress(e); });
|
||||
}
|
||||
this.el.keyup(function(e) { me.onKeyUp(e); });
|
||||
this.el.blur(function() { me.enableKillerFn(); });
|
||||
this.el.focus(function() { me.fixPosition(); });
|
||||
},
|
||||
|
||||
setOptions: function(options){
|
||||
var o = this.options;
|
||||
$.extend(o, options);
|
||||
if(o.lookup){
|
||||
this.isLocal = true;
|
||||
if($.isArray(o.lookup)){ o.lookup = { suggestions:o.lookup, data:[] }; }
|
||||
}
|
||||
$('#'+this.mainContainerId).css({ zIndex:o.zIndex });
|
||||
this.container.css({ maxHeight: o.maxHeight + 'px', width:o.width });
|
||||
},
|
||||
|
||||
clearCache: function(){
|
||||
this.cachedResponse = [];
|
||||
this.badQueries = [];
|
||||
},
|
||||
|
||||
disable: function(){
|
||||
this.disabled = true;
|
||||
},
|
||||
|
||||
enable: function(){
|
||||
this.disabled = false;
|
||||
},
|
||||
|
||||
fixPosition: function() {
|
||||
var offset = this.el.offset();
|
||||
$('#' + this.mainContainerId).css({ top: (offset.top + this.el.innerHeight()) + 'px', left: offset.left + 'px' });
|
||||
},
|
||||
|
||||
enableKillerFn: function() {
|
||||
var me = this;
|
||||
$(document).bind('click', me.killerFn);
|
||||
},
|
||||
|
||||
disableKillerFn: function() {
|
||||
var me = this;
|
||||
$(document).unbind('click', me.killerFn);
|
||||
},
|
||||
|
||||
killSuggestions: function() {
|
||||
var me = this;
|
||||
this.stopKillSuggestions();
|
||||
this.intervalId = window.setInterval(function() { me.hide(); me.stopKillSuggestions(); }, 300);
|
||||
},
|
||||
|
||||
stopKillSuggestions: function() {
|
||||
window.clearInterval(this.intervalId);
|
||||
},
|
||||
|
||||
onKeyPress: function(e) {
|
||||
if (this.disabled || !this.enabled) { return; }
|
||||
// return will exit the function
|
||||
// and event will not be prevented
|
||||
switch (e.keyCode) {
|
||||
case 27: //KEY_ESC:
|
||||
this.el.val(this.currentValue);
|
||||
this.hide();
|
||||
break;
|
||||
case 9: //KEY_TAB:
|
||||
case 13: //KEY_RETURN:
|
||||
if (this.selectedIndex === -1) {
|
||||
this.hide();
|
||||
return;
|
||||
}
|
||||
this.select(this.selectedIndex);
|
||||
if(e.keyCode === 9){ return; }
|
||||
break;
|
||||
case 38: //KEY_UP:
|
||||
this.moveUp();
|
||||
break;
|
||||
case 40: //KEY_DOWN:
|
||||
this.moveDown();
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
e.stopImmediatePropagation();
|
||||
e.preventDefault();
|
||||
},
|
||||
|
||||
onKeyUp: function(e) {
|
||||
if(this.disabled){ return; }
|
||||
switch (e.keyCode) {
|
||||
case 38: //KEY_UP:
|
||||
case 40: //KEY_DOWN:
|
||||
return;
|
||||
}
|
||||
clearInterval(this.onChangeInterval);
|
||||
if (this.currentValue !== this.el.val()) {
|
||||
if (this.options.deferRequestBy > 0) {
|
||||
// Defer lookup in case when value changes very quickly:
|
||||
var me = this;
|
||||
this.onChangeInterval = setInterval(function() { me.onValueChange(); }, this.options.deferRequestBy);
|
||||
} else {
|
||||
this.onValueChange();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
onValueChange: function() {
|
||||
clearInterval(this.onChangeInterval);
|
||||
this.currentValue = this.el.val();
|
||||
var q = this.getQuery(this.currentValue);
|
||||
this.selectedIndex = -1;
|
||||
if (this.ignoreValueChange) {
|
||||
this.ignoreValueChange = false;
|
||||
return;
|
||||
}
|
||||
if (q === '' || q.length < this.options.minChars) {
|
||||
this.hide();
|
||||
} else {
|
||||
this.getSuggestions(q);
|
||||
}
|
||||
},
|
||||
|
||||
getQuery: function(val) {
|
||||
var d, arr;
|
||||
d = this.options.delimiter;
|
||||
if (!d) { return $.trim(val); }
|
||||
arr = val.split(d);
|
||||
return $.trim(arr[arr.length - 1]);
|
||||
},
|
||||
|
||||
getSuggestionsLocal: function(q) {
|
||||
var ret, arr, len, val, i;
|
||||
arr = this.options.lookup;
|
||||
len = arr.suggestions.length;
|
||||
ret = { suggestions:[], data:[] };
|
||||
q = q.toLowerCase();
|
||||
for(i=0; i< len; i++){
|
||||
val = arr.suggestions[i];
|
||||
if(val.toLowerCase().indexOf(q) === 0){
|
||||
ret.suggestions.push(val);
|
||||
ret.data.push(arr.data[i]);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
},
|
||||
|
||||
getSuggestions: function(q) {
|
||||
var cr, me;
|
||||
cr = this.isLocal ? this.getSuggestionsLocal(q) : this.cachedResponse[q];
|
||||
if (cr && $.isArray(cr.suggestions)) {
|
||||
this.suggestions = cr.suggestions;
|
||||
this.data = cr.data;
|
||||
this.suggest();
|
||||
} else if (!this.isBadQuery(q)) {
|
||||
me = this;
|
||||
me.options.params.query = q;
|
||||
$.get(this.serviceUrl, me.options.params, function(txt) { me.processResponse(txt); }, 'text');
|
||||
}
|
||||
},
|
||||
|
||||
isBadQuery: function(q) {
|
||||
var i = this.badQueries.length;
|
||||
while (i--) {
|
||||
if (q.indexOf(this.badQueries[i]) === 0) { return true; }
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
this.enabled = false;
|
||||
this.selectedIndex = -1;
|
||||
this.container.hide();
|
||||
},
|
||||
|
||||
suggest: function() {
|
||||
if (this.suggestions.length === 0) {
|
||||
this.hide();
|
||||
return;
|
||||
}
|
||||
|
||||
var me, len, div, f, v, i, s, mOver, mClick;
|
||||
me = this;
|
||||
len = this.suggestions.length;
|
||||
f = this.options.fnFormatResult;
|
||||
v = this.getQuery(this.currentValue);
|
||||
mOver = function(xi) { return function() { me.activate(xi); }; };
|
||||
mClick = function(xi) { return function() { me.select(xi); }; };
|
||||
this.container.hide().empty();
|
||||
for (i = 0; i < len; i++) {
|
||||
s = this.suggestions[i];
|
||||
div = $((me.selectedIndex === i ? '<div class="selected"' : '<div') + ' title="' + s + '">' + f(s, this.data[i], v) + '</div>');
|
||||
div.mouseover(mOver(i));
|
||||
div.click(mClick(i));
|
||||
this.container.append(div);
|
||||
}
|
||||
this.enabled = true;
|
||||
this.container.show();
|
||||
},
|
||||
|
||||
processResponse: function(text) {
|
||||
var response;
|
||||
try {
|
||||
response = eval('(' + text + ')');
|
||||
} catch (err) { return; }
|
||||
if (!$.isArray(response.data)) { response.data = []; }
|
||||
if(!this.options.noCache){
|
||||
this.cachedResponse[response.query] = response;
|
||||
if (response.suggestions.length === 0) { this.badQueries.push(response.query); }
|
||||
}
|
||||
if (response.query === this.getQuery(this.currentValue)) {
|
||||
this.suggestions = response.suggestions;
|
||||
this.data = response.data;
|
||||
this.suggest();
|
||||
}
|
||||
},
|
||||
|
||||
activate: function(index) {
|
||||
var divs, activeItem;
|
||||
divs = this.container.children();
|
||||
// Clear previous selection:
|
||||
if (this.selectedIndex !== -1 && divs.length > this.selectedIndex) {
|
||||
$(divs.get(this.selectedIndex)).removeClass();
|
||||
}
|
||||
this.selectedIndex = index;
|
||||
if (this.selectedIndex !== -1 && divs.length > this.selectedIndex) {
|
||||
activeItem = divs.get(this.selectedIndex);
|
||||
$(activeItem).addClass('selected');
|
||||
}
|
||||
return activeItem;
|
||||
},
|
||||
|
||||
deactivate: function(div, index) {
|
||||
div.className = '';
|
||||
if (this.selectedIndex === index) { this.selectedIndex = -1; }
|
||||
},
|
||||
|
||||
select: function(i) {
|
||||
var selectedValue, f;
|
||||
selectedValue = this.suggestions[i];
|
||||
if (selectedValue) {
|
||||
this.el.val(selectedValue);
|
||||
if (this.options.autoSubmit) {
|
||||
f = this.el.parents('form');
|
||||
if (f.length > 0) { f.get(0).submit(); }
|
||||
}
|
||||
this.ignoreValueChange = true;
|
||||
this.hide();
|
||||
this.onSelect(i);
|
||||
}
|
||||
},
|
||||
|
||||
moveUp: function() {
|
||||
if (this.selectedIndex === -1) { return; }
|
||||
if (this.selectedIndex === 0) {
|
||||
this.container.children().get(0).className = '';
|
||||
this.selectedIndex = -1;
|
||||
this.el.val(this.currentValue);
|
||||
return;
|
||||
}
|
||||
this.adjustScroll(this.selectedIndex - 1);
|
||||
},
|
||||
|
||||
moveDown: function() {
|
||||
if (this.selectedIndex === (this.suggestions.length - 1)) { return; }
|
||||
this.adjustScroll(this.selectedIndex + 1);
|
||||
},
|
||||
|
||||
adjustScroll: function(i) {
|
||||
var activeItem, offsetTop, upperBound, lowerBound;
|
||||
activeItem = this.activate(i);
|
||||
offsetTop = activeItem.offsetTop;
|
||||
upperBound = this.container.scrollTop();
|
||||
lowerBound = upperBound + this.options.maxHeight - 25;
|
||||
if (offsetTop < upperBound) {
|
||||
this.container.scrollTop(offsetTop);
|
||||
} else if (offsetTop > lowerBound) {
|
||||
this.container.scrollTop(offsetTop - this.options.maxHeight + 25);
|
||||
}
|
||||
this.el.val(this.getValue(this.suggestions[i]));
|
||||
},
|
||||
|
||||
onSelect: function(i) {
|
||||
var me, fn, s, d;
|
||||
me = this;
|
||||
fn = me.options.onSelect;
|
||||
s = me.suggestions[i];
|
||||
d = me.data[i];
|
||||
me.el.val(me.getValue(s));
|
||||
if ($.isFunction(fn)) { fn(s, d, me.el); }
|
||||
},
|
||||
|
||||
getValue: function(value){
|
||||
var del, currVal, arr, me;
|
||||
me = this;
|
||||
del = me.options.delimiter;
|
||||
if (!del) { return value; }
|
||||
currVal = me.currentValue;
|
||||
arr = currVal.split(del);
|
||||
if (arr.length === 1) { return value; }
|
||||
return currVal.substr(0, currVal.length - arr[arr.length - 1].length) + value;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}(jQuery));
|
BIN
library/jquery_ac/shadow.png
Normal file
BIN
library/jquery_ac/shadow.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.3 KiB |
6
library/jquery_ac/styles.css
Normal file
6
library/jquery_ac/styles.css
Normal file
|
@ -0,0 +1,6 @@
|
|||
|
||||
.autocomplete-w1 { background:url(img/shadow.png) no-repeat bottom right; position:absolute; top:0px; left:0px; margin:8px 0 0 6px; /* IE6 fix: */ _background:none; _margin:0; }
|
||||
.autocomplete { border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; }
|
||||
.autocomplete .selected { background:#F0F0F0; }
|
||||
.autocomplete div { padding:2px 5px; white-space:nowrap; }
|
||||
.autocomplete strong { font-weight:normal; color:#3399FF; }
|
25
mod/acl.php
25
mod/acl.php
|
@ -13,6 +13,14 @@ function acl_init(&$a){
|
|||
$type = (x($_REQUEST,'type')?$_REQUEST['type']:"");
|
||||
|
||||
|
||||
// For use with jquery.autocomplete for private mail completion
|
||||
|
||||
if(x($_REQUEST,'query') && strlen($_REQUEST['query'])) {
|
||||
$type = 'm';
|
||||
$search = $_REQUEST['query'];
|
||||
}
|
||||
|
||||
|
||||
if ($search!=""){
|
||||
$sql_extra = "AND `name` LIKE '%%".dbesc($search)."%%'";
|
||||
$sql_extra2 = "AND (`attag` LIKE '%%".dbesc($search)."%%' OR `name` LIKE '%%".dbesc($search)."%%' OR `nick` LIKE '%%".dbesc($search)."%%')";
|
||||
|
@ -115,6 +123,23 @@ function acl_init(&$a){
|
|||
else
|
||||
$r = array();
|
||||
|
||||
|
||||
if($type == 'm') {
|
||||
$x = array();
|
||||
$x['query'] = $search;
|
||||
$x['suggestions'] = array();
|
||||
$x['data'] = array();
|
||||
if(count($r)) {
|
||||
foreach($r as $g) {
|
||||
$x['suggestions'][] = sprintf( t('%s [%s]'),$g['name'],$g['url']);
|
||||
// '<img src="' . $g['micro'] . ' height="16" width="16" alt="' . t('Image/photo') . '" />' .
|
||||
$x['data'][] = intval($g['id']);
|
||||
}
|
||||
}
|
||||
echo json_encode($x);
|
||||
killme();
|
||||
}
|
||||
|
||||
if(count($r)) {
|
||||
foreach($r as $g){
|
||||
$contacts[] = array(
|
||||
|
|
|
@ -4,20 +4,7 @@ require_once('include/acl_selectors.php');
|
|||
require_once('include/message.php');
|
||||
|
||||
function message_init(&$a) {
|
||||
$tabs = array(
|
||||
/*
|
||||
array(
|
||||
'label' => t('All'),
|
||||
'url'=> $a->get_baseurl(true) . '/message',
|
||||
'sel'=> ($a->argc == 1),
|
||||
),
|
||||
array(
|
||||
'label' => t('Sent'),
|
||||
'url' => $a->get_baseurl(true) . '/message/sent',
|
||||
'sel'=> ($a->argv[1] == 'sent'),
|
||||
),
|
||||
*/
|
||||
);
|
||||
$tabs = array();
|
||||
$new = array(
|
||||
'label' => t('New Message'),
|
||||
'url' => $a->get_baseurl(true) . '/message/new',
|
||||
|
@ -29,6 +16,21 @@ function message_init(&$a) {
|
|||
'$tabs'=>$tabs,
|
||||
'$new'=>$new,
|
||||
));
|
||||
$base = $a->get_baseurl();
|
||||
|
||||
$a->page['htmlhead'] .= '<script src="' . $a->get_baseurl(true) . '/library/jquery_ac/jquery.autocomplete-min.js" ></script>';
|
||||
$a->page['htmlhead'] .= <<< EOT
|
||||
|
||||
<script>$(document).ready(function() {
|
||||
var a;
|
||||
a = $("#recip").autocomplete({
|
||||
serviceUrl: '$base/acl',
|
||||
width: 350
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
EOT;
|
||||
|
||||
}
|
||||
|
||||
|
@ -172,6 +174,15 @@ function message_content(&$a) {
|
|||
$preselect = (isset($a->argv[2])?array($a->argv[2]):false);
|
||||
|
||||
$select = contact_select('messageto','message-to-select', $preselect, 4, true, false, false, 10);
|
||||
|
||||
// here's sort of where we want to do contact autocomplete
|
||||
// comment out the contact selector line just above and use the following one instead,
|
||||
// then figure out how to make it do the right thing
|
||||
// pictures would be nice, but that didn't seem to work when I tried it
|
||||
// (the json backend is found in mod/acl.php)
|
||||
|
||||
// $select = '<input type="text" id="recip" name="messageto" value="' . $preselect .'" />';
|
||||
|
||||
$tpl = get_markup_template('prv_message.tpl');
|
||||
$o .= replace_macros($tpl,array(
|
||||
'$header' => t('Send Private Message'),
|
||||
|
@ -198,7 +209,7 @@ function message_content(&$a) {
|
|||
$o .= $header;
|
||||
|
||||
$r = q("SELECT count(*) AS `total` FROM `mail`
|
||||
WHERE `mail`.`uid` = %d AND `from-url` $eq '%s' GROUP BY `parent-uri` ORDER BY `created` DESC",
|
||||
WHERE `mail`.`uid` = %d GROUP BY `parent-uri` ORDER BY `created` DESC",
|
||||
intval(local_user()),
|
||||
dbesc($myprofile)
|
||||
);
|
||||
|
|
529
util/messages.po
529
util/messages.po
File diff suppressed because it is too large
Load diff
|
@ -1,32 +1,32 @@
|
|||
|
||||
Liebe/r $username,
|
||||
wir haben gerade eine Anfrage erhalten dein Passwort auf $sitename zu ändern.
|
||||
Um diese Anfrage zu bestätigen folge bitte dem Bestätigungslink oder kopiere
|
||||
ihn in die Adresszeile deines Browsers.
|
||||
Hallo $[username],
|
||||
Auf $[sitename] wurde eine Anfrage zum Zurücksetzen deines
|
||||
Passworts empfangen. Um diese zu bestätigen folge bitte dem Link
|
||||
weiter unten oder kopiere ihn in die Adressleiste deines Browsers.
|
||||
|
||||
Solltest du KEINE Änderungsanfrage gestellt haben ignoriere diese EMail einfach
|
||||
und folge dem angegebenen Link UNTER KEINEN UMSTÄNDEN.
|
||||
Wenn du die Anfrage NICHT gesendet haben solltest, dann IGNORIERE
|
||||
bitte diese Mail und den Link.
|
||||
|
||||
Dein Passwort wird nicht geändert wenn du die Anfrage nicht bestätigst.
|
||||
Dein Passwort wird nicht geändert werden solange wir nicht überprüfen
|
||||
konnten, dass du die Anfrage gestellt hast.
|
||||
|
||||
Folge diesem Link zur Verifizierung der Anfrage:
|
||||
Folge diesem Link um deine Identität zu verifizieren:
|
||||
|
||||
$reset_link
|
||||
$[reset_link]
|
||||
|
||||
Anschließend wirst du eine EMail erhalten die dein neues Passwort enthält.
|
||||
Du wirst eine weitere Email erhalten mit dem neuen Passwort.
|
||||
|
||||
Du kannst dein Passwort jederzeit in den Einstellungen deines Accounts ändern
|
||||
nachdem du angemeldet bist.
|
||||
Das Passwort kannst du anschließend wie gewohnt in deinen Account Einstellungen ändern.
|
||||
|
||||
Die Anmelde Daten sind die Folgenden:
|
||||
Die Login-Details sind die folgenden:
|
||||
|
||||
Adresse der Seite: $siteurl
|
||||
Anmelde Name: $email
|
||||
Adresse der Seite: $[siteurl]
|
||||
Login Name: $[email]
|
||||
|
||||
|
||||
|
||||
|
||||
Mit freundlichen Grüßen,
|
||||
$sitename Administrator
|
||||
Grüße,
|
||||
$[sitename] Administrator
|
||||
|
||||
|
||||
|
|
@ -1,12 +1,11 @@
|
|||
Hey,
|
||||
Ich bin's, $sitename.
|
||||
Die Friendica-Entwickler haben gerade Update $update freigegeben,
|
||||
aber als ich es installieren wollte, ist irgendetwas schief gegangen.
|
||||
Das sollte schnell repariert werden und alleine schaffe ich es nicht.
|
||||
Wende dich bitte an einen Friendica-Entwickler, wenn du mir nicht selbst helfen kannst.
|
||||
Meine Datenbank könnte ziemlich durcheinander sein.
|
||||
Hi,
|
||||
ich bin $sitename.
|
||||
Die friendica Entwickler haben jüngst Update $update veröffentlicht,
|
||||
aber als ich versucht habe es zu installieren ist etwas schrecklich schief gegangen.
|
||||
Das sollte schnellst möglichst behoben werden und ich kann das nicht alleine machen.
|
||||
Bitte wende dich an einen friendica Entwickler, falls du mir nicht alleine helfen kannst. Meine Datenbank könnte unbrauchbar sein.
|
||||
|
||||
Die Fehlermeldung ist '$error'.
|
||||
Die Fehlermeldung lautet '$error'.
|
||||
|
||||
Tut mir leid,
|
||||
dein Friendica Server unter $siteurl
|
||||
Tut mir Leid!
|
||||
Deine friendica Instanz auf $siteurl
|
|
@ -12,8 +12,9 @@ function theme_content(&$a){
|
|||
$resize = get_pconfig(local_user(), 'cleanzero', 'resize' );
|
||||
$color = get_pconfig(local_user(), 'cleanzero', 'color' );
|
||||
$font_size = get_pconfig(local_user(), 'cleanzero', 'font_size' );
|
||||
$theme_width= get_pconfig(local_user(), 'cleanzero', 'theme_width' );
|
||||
|
||||
return cleanzero_form($a,$color,$font_size,$resize);
|
||||
return cleanzero_form($a,$color,$font_size,$resize,$theme_width);
|
||||
}
|
||||
|
||||
function theme_post(&$a){
|
||||
|
@ -24,6 +25,7 @@ function theme_post(&$a){
|
|||
set_pconfig(local_user(), 'cleanzero', 'resize', $_POST['cleanzero_resize']);
|
||||
set_pconfig(local_user(), 'cleanzero', 'color', $_POST['cleanzero_color']);
|
||||
set_pconfig(local_user(), 'cleanzero', 'font_size', $_POST['cleanzero_font_size']);
|
||||
set_pconfig(local_user(), 'cleanzero', 'theme_width', $_POST['cleanzero_theme_width']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -32,8 +34,8 @@ function theme_admin(&$a){
|
|||
$resize = get_config('cleanzero', 'resize' );
|
||||
$color = get_config('cleanzero', 'color' );
|
||||
$font_size = get_config('cleanzero', 'font_size' );
|
||||
|
||||
return cleanzero_form($a,$color,$font_size,$resize);
|
||||
$theme_width= get_config('cleanzero', 'theme_width' );
|
||||
return cleanzero_form($a,$color,$font_size,$resize,$theme_width);
|
||||
}
|
||||
|
||||
function theme_admin_post(&$a){
|
||||
|
@ -41,11 +43,13 @@ function theme_admin_post(&$a){
|
|||
set_config('cleanzero', 'resize', $_POST['cleanzero_resize']);
|
||||
set_config('cleanzero', 'color', $_POST['cleanzero_color']);
|
||||
set_config('cleanzero', 'font_size', $_POST['cleanzero_font_size']);
|
||||
set_config('cleanzero', 'theme_width', $_POST['cleanzero_theme_width']);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function cleanzero_form(&$a, $color,$font_size,$resize){
|
||||
function cleanzero_form(&$a, $color,$font_size,$resize,$theme_width){
|
||||
$colors = array(
|
||||
"cleanzero"=>"cleanzero",
|
||||
"cleanzero-green"=>"green",
|
||||
|
@ -65,7 +69,12 @@ function cleanzero_form(&$a, $color,$font_size,$resize){
|
|||
"250"=>"3 (250px)",
|
||||
"150"=>"4 (150px)",
|
||||
);
|
||||
|
||||
$theme_widths =array (
|
||||
"standard"=>"standard",
|
||||
"narrow"=>"narrow",
|
||||
"wide"=>"wide",
|
||||
);
|
||||
|
||||
$t = file_get_contents( dirname(__file__). "/theme_settings.tpl" );
|
||||
$o .= replace_macros($t, array(
|
||||
'$submit' => t('Submit'),
|
||||
|
@ -73,6 +82,7 @@ function cleanzero_form(&$a, $color,$font_size,$resize){
|
|||
'$title' => t("Theme settings"),
|
||||
'$resize' => array('cleanzero_resize',t ('Set resize level for images in posts and comments (width and height)'),$resize,'',$resizes),
|
||||
'$font_size' => array('cleanzero_font_size', t('Set font-size for posts and comments'), $font_size, '', $font_sizes),
|
||||
'$theme_width' => array('cleanzero_theme_width', t('Set theme width'), $theme_width, '', $theme_widths),
|
||||
'$color' => array('cleanzero_color', t('Color scheme'), $color, '', $colors),
|
||||
));
|
||||
return $o;
|
||||
|
|
|
@ -1,21 +1,24 @@
|
|||
<?php
|
||||
$color=false;
|
||||
$cleanzero_font_size=false;
|
||||
$cleanzero_theme_width=false;
|
||||
|
||||
$site_color = get_config("cleanzero","color");
|
||||
$site_cleanzero_font_size = get_config("cleanzero", "font_size" );
|
||||
|
||||
$site_cleanzero_theme_width = get_config("cleanzero", "theme_width");
|
||||
|
||||
if (local_user()) {
|
||||
$color = get_pconfig(local_user(), "cleanzero","color");
|
||||
$cleanzero_font_size = get_pconfig(local_user(), "cleanzero", "font_size");
|
||||
$cleanzero_theme_width = get_pconfig(local_user(), "cleanzero", "theme_width");
|
||||
|
||||
}
|
||||
|
||||
if ($color===false) $color=$site_color;
|
||||
if ($color===false) $color="cleanzero";
|
||||
if ($cleanzero_font_size===false) $cleanzero_font_size=$site_cleanzero_font_size;
|
||||
|
||||
if ($cleanzero_theme_width===false) $cleanzero_theme_width=$site_cleanzero_theme_width;
|
||||
if ($cleanzero_theme_width===false) $cleanzero_theme_width="standard";
|
||||
|
||||
|
||||
if (file_exists("$THEMEPATH/$color/style.css")){
|
||||
|
@ -68,4 +71,70 @@
|
|||
}
|
||||
";
|
||||
}
|
||||
if ($cleanzero_theme_width === "standard") {
|
||||
echo "
|
||||
section {
|
||||
margin: 0px 10%;
|
||||
margin-right:10%;
|
||||
}
|
||||
|
||||
aside {
|
||||
margin-left: 10%;
|
||||
}
|
||||
nav {
|
||||
margin-left: 10%;
|
||||
margin-right: 10%;
|
||||
|
||||
}
|
||||
|
||||
nav #site-location {
|
||||
right: 10%;
|
||||
|
||||
}
|
||||
";
|
||||
}
|
||||
|
||||
if ($cleanzero_theme_width === "narrow") {
|
||||
echo "
|
||||
section {
|
||||
margin: 0px 15%;
|
||||
margin-right:15%;
|
||||
}
|
||||
|
||||
aside {
|
||||
margin-left: 15%;
|
||||
}
|
||||
nav {
|
||||
margin-left: 15%;
|
||||
margin-right: 15%;
|
||||
|
||||
}
|
||||
|
||||
nav #site-location {
|
||||
right: 15%;
|
||||
|
||||
}
|
||||
";
|
||||
}
|
||||
if ($cleanzero_theme_width === "wide") {
|
||||
echo "
|
||||
section {
|
||||
margin: 0px 5%;
|
||||
margin-right:5%;
|
||||
}
|
||||
|
||||
aside {
|
||||
margin-left: 5%;
|
||||
}
|
||||
nav {
|
||||
margin-left: 5%;
|
||||
margin-right: 5%;
|
||||
|
||||
}
|
||||
|
||||
nav #site-location {
|
||||
right: 5%;
|
||||
|
||||
}
|
||||
";
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{{inc field_select.tpl with $field=$color}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$font_size}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$resize}}{{endinc}}
|
||||
|
||||
{{inc field_select.tpl with $field=$theme_width}}{{endinc}}
|
||||
|
||||
|
||||
<div class="settings-submit-wrapper">
|
||||
|
|
|
@ -31,6 +31,7 @@ $(document).ready(function() {
|
|||
for (var Sitem=0, m = SavedID.length; Sitem < m; Sitem++) {
|
||||
$("#sortable_boxes").append($("#sortable_boxes").children("#" + SavedID[Sitem]));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function tautogrow(id){
|
||||
|
|
|
@ -1,3 +1,39 @@
|
|||
|
||||
<div id="twittersettings" style="display:none">
|
||||
<form id="twittersettingsform" action="network" method="post" >
|
||||
{{inc field_input.tpl with $field=$TSearchTerm}}{{endinc}}
|
||||
<div class="settings-submit-wrapper">
|
||||
<input id="twittersub" type="submit" value="$sub" class="settings-submit" name="diabook-settings-sub"></input>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="mapcontrol" style="display:none;">
|
||||
<form id="mapform" action="network" method="post" >
|
||||
<span style="width: 500px;position: relative;float: right;right:20px;"><p>this ist still under development.
|
||||
the idea is to provide a map with different layers(e.g. earth population, atomic power plants, wheat growing acreages, sunrise or what you want)
|
||||
and markers(events, demos, friends, anything, that is intersting for you).
|
||||
These layer and markers should be importable and deletable by the user.</p>
|
||||
<p>help on this feature is very appreciated. i am not that good in js so it's a start, but needs tweaks and further dev.
|
||||
just contact me, if you are intesrested in joining</p>
|
||||
<p>http://localhost/friendica/profile/thomas</p>
|
||||
<p>this is build with <b>mapquery</b> http://mapquery.org/ and
|
||||
<b>openlayers</b>http://openlayers.org/</p>
|
||||
</span>
|
||||
<div id="map2" style="height:350px;width:350px;"></div>
|
||||
<div id="mouseposition" style="width: 350px;"></div>
|
||||
<div id="zoom">
|
||||
zoom:<input type="text" id="mapzoom" value=""></input>
|
||||
</div>
|
||||
{{inc field_input.tpl with $field=$ELZoom}}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$ELPosX}}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$ELPosY}}{{endinc}}
|
||||
<div class="settings-submit-wrapper">
|
||||
<input id="mapsub" type="submit" value="$sub" class="settings-submit" name="diabook-settings-map-sub"></input>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="pos_null" style="margin-bottom:-30px;">
|
||||
</div>
|
||||
|
||||
|
@ -7,11 +43,11 @@
|
|||
{{ if $page }}
|
||||
<div>$page</div>
|
||||
{{ endif }}
|
||||
|
||||
</div>
|
||||
|
||||
<div id="close_profiles">
|
||||
{{ if $comunity_profilest_title }}
|
||||
<h3>$comunity_profilest_title<a id="close_comunity_profiles_icon" onClick="close_profiles()" class="icon close_box" title="close"></a></h3>
|
||||
{{ if $comunity_profiles_title }}
|
||||
<h3>$comunity_profiles_title<a id="close_comunity_profiles_icon" onClick="close_profiles()" class="icon close_box" title="$close"></a></h3>
|
||||
<div id='lastusers-wrapper' class='items-wrapper'>
|
||||
{{ for $comunity_profiles_items as $i }}
|
||||
$i
|
||||
|
@ -22,7 +58,8 @@
|
|||
|
||||
<div id="close_helpers">
|
||||
{{ if $helpers }}
|
||||
<h3>$helpers.title.1<a id="close_helpers_icon" onClick="close_helpers()" class="icon close_box" title="close"></a></h3>
|
||||
<h3>$helpers.title.1<a id="close_helpers_icon" onClick="close_helpers()" class="icon close_box" title="$close"></a></h3>
|
||||
<a href="http://friendica.com/resources" title="How-to's" style="margin-left: 10px; " target="blank">How-To Guides</a><br>
|
||||
<a href="http://kakste.com/profile/newhere" title="@NewHere" style="margin-left: 10px; " target="blank">NewHere</a><br>
|
||||
<a href="https://helpers.pyxis.uberspace.de/profile/helpers" style="margin-left: 10px; " title="Friendica Support" target="blank">Friendica Support</a><br>
|
||||
<a href="https://letstalk.pyxis.uberspace.de/profile/letstalk" style="margin-left: 10px; " title="Let's talk" target="blank">Let's talk</a><br>
|
||||
|
@ -32,7 +69,7 @@
|
|||
|
||||
<div id="close_services">
|
||||
{{ if $con_services }}
|
||||
<h3>$con_services.title.1<a id="close_services_icon" onClick="close_services()" class="icon close_box" title="close"></a></h3>
|
||||
<h3>$con_services.title.1<a id="close_services_icon" onClick="close_services()" class="icon close_box" title="$close"></a></h3>
|
||||
<div id="right_service_icons" style="margin-left: 16px; margin-top: 5px;">
|
||||
<a href="$url/facebook"><img alt="Facebook" src="view/theme/diabook/icons/facebook.png" title="Facebook"></a>
|
||||
<a href="$url/settings/connectors"><img alt="StatusNet" src="view/theme/diabook/icons/StatusNet.png?" title="StatusNet"></a>
|
||||
|
@ -48,7 +85,7 @@
|
|||
|
||||
<div id="close_friends" style="margin-bottom:53px;">
|
||||
{{ if $nv }}
|
||||
<h3>$nv.title.1<a id="close_friends_icon" onClick="close_friends()" class="icon close_box" title="close"></a></h3>
|
||||
<h3>$nv.title.1<a id="close_friends_icon" onClick="close_friends()" class="icon close_box" title="$close"></a></h3>
|
||||
<a class="$nv.directory.2" href="$nv.directory.0" style="margin-left: 10px; " title="$nv.directory.3" >$nv.directory.1</a><br>
|
||||
<a class="$nv.global_directory.2" href="$nv.global_directory.0" target="blank" style="margin-left: 10px; " title="$nv.global_directory.3" >$nv.global_directory.1</a><br>
|
||||
<a class="$nv.match.2" href="$nv.match.0" style="margin-left: 10px; " title="$nv.match.3" >$nv.match.1</a><br>
|
||||
|
@ -60,7 +97,7 @@ $nv.search
|
|||
|
||||
<div id="close_lastusers">
|
||||
{{ if $lastusers_title }}
|
||||
<h3>$lastusers_title<a id="close_lastusers_icon" onClick="close_lastusers()" class="icon close_box" title="close"></a></h3>
|
||||
<h3>$lastusers_title<a id="close_lastusers_icon" onClick="close_lastusers()" class="icon close_box" title="$close"></a></h3>
|
||||
<div id='lastusers-wrapper' class='items-wrapper'>
|
||||
{{ for $lastusers_items as $i }}
|
||||
$i
|
||||
|
@ -80,7 +117,7 @@ $nv.search
|
|||
|
||||
<div id="close_lastphotos">
|
||||
{{ if $photos_title }}
|
||||
<h3>$photos_title<a id="close_photos_icon" onClick="close_lastphotos()" class="icon close_box" title="close"></a></h3>
|
||||
<h3>$photos_title<a id="close_photos_icon" onClick="close_lastphotos()" class="icon close_box" title="$close"></a></h3>
|
||||
<div id='ra-photos-wrapper' class='items-wrapper'>
|
||||
{{ for $photos_items as $i }}
|
||||
$i
|
||||
|
@ -91,7 +128,7 @@ $nv.search
|
|||
|
||||
<div id="close_lastlikes">
|
||||
{{ if $like_title }}
|
||||
<h3>$like_title<a id="close_lastlikes_icon" onClick="close_lastlikes()" class="icon close_box" title="close"></a></h3>
|
||||
<h3>$like_title<a id="close_lastlikes_icon" onClick="close_lastlikes()" class="icon close_box" title="$close"></a></h3>
|
||||
<ul id='likes'>
|
||||
{{ for $like_items as $i }}
|
||||
<li id='ra-photos-wrapper'>$i</li>
|
||||
|
@ -100,6 +137,18 @@ $nv.search
|
|||
{{ endif }}
|
||||
</div>
|
||||
|
||||
<div id="close_twitter">
|
||||
<h3 style="height:1.17em">$twitter.title.1<a id="close_twitter_icon" onClick="close_twitter()" class="icon close_box" title="$close"></a></h3>
|
||||
<div id="twitter">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="close_mapquery">
|
||||
{{ if $mapquery }}
|
||||
<h3>$mapquery.title.1<a id="close_mapquery_icon" onClick="close_mapquery()" class="icon close_box" title="$close"></a></h3>
|
||||
<div id="map" style="height:165px;width:165px;margin-left:3px;margin-top:3px;margin-bottom:1px;">
|
||||
</div>
|
||||
<div style="font-size:9px;margin-left:3px;">Data CC-By-SA by <a href="http://openstreetmap.org/">OpenStreetMap</a></div>
|
||||
{{ endif }}
|
||||
</div>
|
||||
</div>
|
|
@ -13,8 +13,12 @@ function theme_content(&$a){
|
|||
$line_height = get_pconfig(local_user(), 'diabook', 'line_height' );
|
||||
$resolution = get_pconfig(local_user(), 'diabook', 'resolution' );
|
||||
$color = get_pconfig(local_user(), 'diabook', 'color' );
|
||||
$TSearchTerm = get_pconfig(local_user(), 'diabook', 'TSearchTerm' );
|
||||
$ELZoom = get_pconfig(local_user(), 'diabook', 'ELZoom' );
|
||||
$ELPosX = get_pconfig(local_user(), 'diabook', 'ELPosX' );
|
||||
$ELPosY = get_pconfig(local_user(), 'diabook', 'ELPosY' );
|
||||
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color);
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color, $TSearchTerm, $ELZoom, $ELPosX, $ELPosY);
|
||||
}
|
||||
|
||||
function theme_post(&$a){
|
||||
|
@ -26,6 +30,10 @@ function theme_post(&$a){
|
|||
set_pconfig(local_user(), 'diabook', 'line_height', $_POST['diabook_line_height']);
|
||||
set_pconfig(local_user(), 'diabook', 'resolution', $_POST['diabook_resolution']);
|
||||
set_pconfig(local_user(), 'diabook', 'color', $_POST['diabook_color']);
|
||||
set_pconfig(local_user(), 'diabook', 'TSearchTerm', $_POST['diabook_TSearchTerm']);
|
||||
set_pconfig(local_user(), 'diabook', 'ELZoom', $_POST['diabook_ELZoom']);
|
||||
set_pconfig(local_user(), 'diabook', 'ELPosX', $_POST['diabook_ELPosX']);
|
||||
set_pconfig(local_user(), 'diabook', 'ELPosY', $_POST['diabook_ELPosY']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -35,8 +43,12 @@ function theme_admin(&$a){
|
|||
$line_height = get_config('diabook', 'line_height' );
|
||||
$resolution = get_config('diabook', 'resolution' );
|
||||
$color = get_config('diabook', 'color' );
|
||||
$TSearchTerm = get_config('diabook', 'TSearchTerm' );
|
||||
$ELZoom = get_config('diabook', 'ELZoom' );
|
||||
$ELPosX = get_config('diabook', 'ELPosX' );
|
||||
$ELPosY = get_config('diabook', 'ELPosY' );
|
||||
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color);
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color, $TSearchTerm, $ELZoom, $ELPosX, $ELPosY);
|
||||
}
|
||||
|
||||
function theme_admin_post(&$a){
|
||||
|
@ -45,11 +57,15 @@ function theme_admin_post(&$a){
|
|||
set_config('diabook', 'line_height', $_POST['diabook_line_height']);
|
||||
set_config('diabook', 'resolution', $_POST['diabook_resolution']);
|
||||
set_config('diabook', 'color', $_POST['diabook_color']);
|
||||
set_config('diabook', 'TSearchTerm', $_POST['diabook_TSearchTerm']);
|
||||
set_config('diabook', 'ELZoom', $_POST['diabook_ELZoom']);
|
||||
set_config('diabook', 'ELPosX', $_POST['diabook_ELPosX']);
|
||||
set_config('diabook', 'ELPosY', $_POST['diabook_ELPosY']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function diabook_form(&$a, $font_size, $line_height, $resolution, $color){
|
||||
function diabook_form(&$a, $font_size, $line_height, $resolution, $color, $TSearchTerm, $ELZoom, $ELPosX, $ELPosY){
|
||||
$line_heights = array(
|
||||
"1.3"=>"1.3",
|
||||
"---"=>"---",
|
||||
|
@ -95,6 +111,10 @@ function diabook_form(&$a, $font_size, $line_height, $resolution, $color){
|
|||
'$line_height' => array('diabook_line_height', t('Set line-height for posts and comments'), $line_height, '', $line_heights),
|
||||
'$resolution' => array('diabook_resolution', t('Set resolution for middle column'), $resolution, '', $resolutions),
|
||||
'$color' => array('diabook_color', t('Set color scheme'), $color, '', $colors),
|
||||
'$TSearchTerm' => array('diabook_TSearchTerm', t('Set twitter search term'), $TSearchTerm, '', $TSearchTerm),
|
||||
'$ELZoom' => array('diabook_ELZoom', t('Set zoomfactor for Earth Layer'), $ELZoom, '', $ELZoom),
|
||||
'$ELPosX' => array('diabook_ELPosX', t('Set longitude (X) for Earth Layer'), $ELPosX, '', $ELPosX),
|
||||
'$ELPosY' => array('diabook_ELPosY', t('Set latitude (Y) for Earth Layer'), $ELPosY, '', $ELPosY),
|
||||
));
|
||||
return $o;
|
||||
}
|
||||
|
|
2885
view/theme/diabook/js/OpenLayers.js
Normal file
2885
view/theme/diabook/js/OpenLayers.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1028
view/theme/diabook/js/jquery.mapquery.core.js
Normal file
1028
view/theme/diabook/js/jquery.mapquery.core.js
Normal file
File diff suppressed because it is too large
Load diff
107
view/theme/diabook/js/jquery.mapquery.mqMousePosition.js
Normal file
107
view/theme/diabook/js/jquery.mapquery.mqMousePosition.js
Normal file
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (c) 2011 by MapQuery Contributors (see AUTHORS for
|
||||
* full list of contributors). Published under the MIT license.
|
||||
* See https://github.com/mapquery/mapquery/blob/master/LICENSE for the
|
||||
* full text of the license. */
|
||||
|
||||
/**
|
||||
#jquery.mapquery.mqMousePosition.js
|
||||
The file containing the mqMousePosition Widget
|
||||
|
||||
### *$('selector')*.`mqMousePosition([options])`
|
||||
_version added 0.1_
|
||||
####**Description**: create a widget to show the location under the mouse pointer
|
||||
|
||||
+ **options**
|
||||
- **map**: the mapquery instance
|
||||
- **precision**: the number of decimals (default 2)
|
||||
- **x**: the label for the x-coordinate (default x)
|
||||
- **y**: the label for the y-coordinate (default y)
|
||||
|
||||
|
||||
>Returns: widget
|
||||
|
||||
|
||||
The mqMousePosition allows us to show the coordinates under the mouse pointer
|
||||
|
||||
|
||||
$('#mousepointer').mqMousePointer({
|
||||
map: '#map'
|
||||
});
|
||||
|
||||
*/
|
||||
(function($) {
|
||||
$.template('mqMousePosition',
|
||||
'<div class="mq-mouseposition ui-widget ui-helper-clearfix ">'+
|
||||
'<span class="ui-widget-content ui-helper-clearfix ui-corner-all ui-corner-all">'+
|
||||
'<div id="mq-mouseposition-x" class="mq-mouseposition-coordinate">'+
|
||||
'</div><div id="mq-mouseposition-y" class="mq-mouseposition-coordinate">'+
|
||||
'</div></div></span>');
|
||||
|
||||
$.widget("mapQuery.mqMousePosition", {
|
||||
options: {
|
||||
// The MapQuery instance
|
||||
map: undefined,
|
||||
|
||||
// The number of decimals for the coordinates
|
||||
// default: 2
|
||||
// TODO: JCB20110630 use dynamic precision based on the pixel
|
||||
// resolution, no need to configure precision
|
||||
precision: 2,
|
||||
|
||||
// The label of the x-value
|
||||
// default: 'x'
|
||||
x: 'x',
|
||||
// The label of the y-value
|
||||
// default: 'y'
|
||||
y: 'y'
|
||||
|
||||
},
|
||||
_create: function() {
|
||||
var map;
|
||||
var self = this;
|
||||
var element = this.element;
|
||||
var mousepos;
|
||||
|
||||
//get the mapquery object
|
||||
map = $(this.options.map).data('mapQuery');
|
||||
|
||||
map.bind("mousemove",
|
||||
{widget:self,map:map},
|
||||
self._onMouseMove);
|
||||
|
||||
|
||||
$.tmpl('mqMousePosition',{
|
||||
mouseposition:mousepos
|
||||
}).appendTo(element);
|
||||
|
||||
},
|
||||
_destroy: function() {
|
||||
this.element.removeClass(' ui-widget ui-helper-clearfix ' +
|
||||
'ui-corner-all')
|
||||
.empty();
|
||||
},
|
||||
_mouseMoved: function(data, element, map) {
|
||||
var x = data.layerX;
|
||||
var y = data.layerY;
|
||||
var mapProjection = map.options.projection;
|
||||
var displayProjection = map.options.projection;
|
||||
//if the coordinates should be displayed in something else,
|
||||
//set them via the map displayProjection option
|
||||
var pos = map.olMap.getLonLatFromLayerPx(new OpenLayers.Pixel(x,y));
|
||||
if(map.options.displayProjection) {
|
||||
displayProjection = map.options.displayProjection;
|
||||
pos=pos.transform(
|
||||
new OpenLayers.Projection(mapProjection),
|
||||
new OpenLayers.Projection(displayProjection));
|
||||
}
|
||||
$("#mq-mouseposition-x", element).html(
|
||||
this.options.x+': '+pos.lon.toFixed(this.options.precision));
|
||||
$("#mq-mouseposition-y", element).html(
|
||||
this.options.y+': '+pos.lat.toFixed(this.options.precision));
|
||||
},
|
||||
|
||||
_onMouseMove: function(evt, data) {
|
||||
evt.data.widget._mouseMoved(data,evt.data.control,evt.data.map);
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
85
view/theme/diabook/js/jquery.mapquery.mqZoomSlider.js
Normal file
85
view/theme/diabook/js/jquery.mapquery.mqZoomSlider.js
Normal file
|
@ -0,0 +1,85 @@
|
|||
/* Copyright (c) 2011 by MapQuery Contributors (see AUTHORS for
|
||||
* full list of contributors). Published under the MIT license.
|
||||
* See https://github.com/mapquery/mapquery/blob/master/LICENSE for the
|
||||
* full text of the license. */
|
||||
|
||||
|
||||
/**
|
||||
#jquery.mapquery.mqZoomSlider.js
|
||||
The file containing the mqZoomSlider Widget
|
||||
|
||||
### *$('selector')*.`mqZoomSlider([options])`
|
||||
_version added 0.1_
|
||||
####**Description**: create a widget to show a zoom slider
|
||||
|
||||
+ **options**:
|
||||
- **map**: the mapquery instance
|
||||
|
||||
>Returns: widget
|
||||
|
||||
|
||||
The mqZoomSlider widget allows us to display a vertical zoom slider.
|
||||
|
||||
|
||||
$('#zoomslider').mqZoomSlider({
|
||||
map: '#map'
|
||||
});
|
||||
|
||||
*/
|
||||
(function($) {
|
||||
$.template('mqZoomSlider',
|
||||
'<div class="mq-zoomslider ui-widget ui-helper-clearfix ">'+
|
||||
'<div class="mq-zoomslider-slider"></div>'+
|
||||
'</div>');
|
||||
|
||||
$.widget("mapQuery.mqZoomSlider", {
|
||||
options: {
|
||||
// The MapQuery instance
|
||||
map: undefined
|
||||
|
||||
},
|
||||
_create: function() {
|
||||
var map;
|
||||
var zoom;
|
||||
var numzoomlevels;
|
||||
var self = this;
|
||||
var element = this.element;
|
||||
|
||||
//get the mapquery object
|
||||
map = $(this.options.map).data('mapQuery');
|
||||
|
||||
$.tmpl('mqZoomSlider').appendTo(element);
|
||||
|
||||
numzoomlevels = map.options.numZoomLevels;
|
||||
$(".mq-zoomslider-slider", element).slider({
|
||||
max: numzoomlevels,
|
||||
min:2,
|
||||
orientation: 'vertical',
|
||||
step: 1,
|
||||
value: numzoomlevels - map.center().zoom,
|
||||
slide: function(event, ui) {
|
||||
map.center({zoom:numzoomlevels-ui.value});
|
||||
},
|
||||
change: function(event, ui) {
|
||||
map.center({zoom:numzoomlevels-ui.value});
|
||||
}
|
||||
});
|
||||
map.bind("zoomend",
|
||||
{widget:self,map:map,control:element},
|
||||
self._onZoomEnd);
|
||||
|
||||
},
|
||||
_destroy: function() {
|
||||
this.element.removeClass(' ui-widget ui-helper-clearfix ' +
|
||||
'ui-corner-all')
|
||||
.empty();
|
||||
},
|
||||
_zoomEnd: function (element,map) {
|
||||
var slider = element.find('.mq-zoomslider-slider');
|
||||
slider.slider('value',map.options.numZoomLevels-map.center().zoom);
|
||||
},
|
||||
_onZoomEnd: function(evt) {
|
||||
evt.data.widget._zoomEnd(evt.data.control,evt.data.map);
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
84
view/theme/diabook/js/jquery.mousewheel.js
Normal file
84
view/theme/diabook/js/jquery.mousewheel.js
Normal file
|
@ -0,0 +1,84 @@
|
|||
/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
|
||||
* Licensed under the MIT License (LICENSE.txt).
|
||||
*
|
||||
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
|
||||
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
|
||||
* Thanks to: Seamus Leahy for adding deltaX and deltaY
|
||||
*
|
||||
* Version: 3.0.6
|
||||
*
|
||||
* Requires: 1.2.2+
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
var types = ['DOMMouseScroll', 'mousewheel'];
|
||||
|
||||
if ($.event.fixHooks) {
|
||||
for ( var i=types.length; i; ) {
|
||||
$.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
|
||||
}
|
||||
}
|
||||
|
||||
$.event.special.mousewheel = {
|
||||
setup: function() {
|
||||
if ( this.addEventListener ) {
|
||||
for ( var i=types.length; i; ) {
|
||||
this.addEventListener( types[--i], handler, false );
|
||||
}
|
||||
} else {
|
||||
this.onmousewheel = handler;
|
||||
}
|
||||
},
|
||||
|
||||
teardown: function() {
|
||||
if ( this.removeEventListener ) {
|
||||
for ( var i=types.length; i; ) {
|
||||
this.removeEventListener( types[--i], handler, false );
|
||||
}
|
||||
} else {
|
||||
this.onmousewheel = null;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.extend({
|
||||
mousewheel: function(fn) {
|
||||
return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
|
||||
},
|
||||
|
||||
unmousewheel: function(fn) {
|
||||
return this.unbind("mousewheel", fn);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function handler(event) {
|
||||
var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
|
||||
event = $.event.fix(orgEvent);
|
||||
event.type = "mousewheel";
|
||||
|
||||
// Old school scrollwheel delta
|
||||
if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
|
||||
if ( orgEvent.detail ) { delta = -orgEvent.detail/3; }
|
||||
|
||||
// New school multidimensional scroll (touchpads) deltas
|
||||
deltaY = delta;
|
||||
|
||||
// Gecko
|
||||
if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
|
||||
deltaY = 0;
|
||||
deltaX = -1*delta;
|
||||
}
|
||||
|
||||
// Webkit
|
||||
if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
|
||||
if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
|
||||
|
||||
// Add event and delta to the front of the arguments
|
||||
args.unshift(event, delta, deltaX, deltaY);
|
||||
|
||||
return ($.event.dispatch || $.event.handle).apply(this, args);
|
||||
}
|
||||
|
||||
})(jQuery);
|
486
view/theme/diabook/js/jquery.tmpl.js
Normal file
486
view/theme/diabook/js/jquery.tmpl.js
Normal file
|
@ -0,0 +1,486 @@
|
|||
/*
|
||||
* jQuery Templating Plugin
|
||||
* Copyright 2010, John Resig
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
*/
|
||||
(function( jQuery, undefined ){
|
||||
var oldManip = jQuery.fn.domManip, tmplItmAtt = "_tmplitem", htmlExpr = /^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,
|
||||
newTmplItems = {}, wrappedItems = {}, appendToTmplItems, topTmplItem = { key: 0, data: {} }, itemKey = 0, cloneIndex = 0, stack = [];
|
||||
|
||||
function newTmplItem( options, parentItem, fn, data ) {
|
||||
// Returns a template item data structure for a new rendered instance of a template (a 'template item').
|
||||
// The content field is a hierarchical array of strings and nested items (to be
|
||||
// removed and replaced by nodes field of dom elements, once inserted in DOM).
|
||||
var newItem = {
|
||||
data: data || (parentItem ? parentItem.data : {}),
|
||||
_wrap: parentItem ? parentItem._wrap : null,
|
||||
tmpl: null,
|
||||
parent: parentItem || null,
|
||||
nodes: [],
|
||||
calls: tiCalls,
|
||||
nest: tiNest,
|
||||
wrap: tiWrap,
|
||||
html: tiHtml,
|
||||
update: tiUpdate
|
||||
};
|
||||
if ( options ) {
|
||||
jQuery.extend( newItem, options, { nodes: [], parent: parentItem } );
|
||||
}
|
||||
if ( fn ) {
|
||||
// Build the hierarchical content to be used during insertion into DOM
|
||||
newItem.tmpl = fn;
|
||||
newItem._ctnt = newItem._ctnt || newItem.tmpl( jQuery, newItem );
|
||||
newItem.key = ++itemKey;
|
||||
// Keep track of new template item, until it is stored as jQuery Data on DOM element
|
||||
(stack.length ? wrappedItems : newTmplItems)[itemKey] = newItem;
|
||||
}
|
||||
return newItem;
|
||||
}
|
||||
|
||||
// Override appendTo etc., in order to provide support for targeting multiple elements. (This code would disappear if integrated in jquery core).
|
||||
jQuery.each({
|
||||
appendTo: "append",
|
||||
prependTo: "prepend",
|
||||
insertBefore: "before",
|
||||
insertAfter: "after",
|
||||
replaceAll: "replaceWith"
|
||||
}, function( name, original ) {
|
||||
jQuery.fn[ name ] = function( selector ) {
|
||||
var ret = [], insert = jQuery( selector ), elems, i, l, tmplItems,
|
||||
parent = this.length === 1 && this[0].parentNode;
|
||||
|
||||
appendToTmplItems = newTmplItems || {};
|
||||
if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
|
||||
insert[ original ]( this[0] );
|
||||
ret = this;
|
||||
} else {
|
||||
for ( i = 0, l = insert.length; i < l; i++ ) {
|
||||
cloneIndex = i;
|
||||
elems = (i > 0 ? this.clone(true) : this).get();
|
||||
jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
|
||||
ret = ret.concat( elems );
|
||||
}
|
||||
cloneIndex = 0;
|
||||
ret = this.pushStack( ret, name, insert.selector );
|
||||
}
|
||||
tmplItems = appendToTmplItems;
|
||||
appendToTmplItems = null;
|
||||
jQuery.tmpl.complete( tmplItems );
|
||||
return ret;
|
||||
};
|
||||
});
|
||||
|
||||
jQuery.fn.extend({
|
||||
// Use first wrapped element as template markup.
|
||||
// Return wrapped set of template items, obtained by rendering template against data.
|
||||
tmpl: function( data, options, parentItem ) {
|
||||
return jQuery.tmpl( this[0], data, options, parentItem );
|
||||
},
|
||||
|
||||
// Find which rendered template item the first wrapped DOM element belongs to
|
||||
tmplItem: function() {
|
||||
return jQuery.tmplItem( this[0] );
|
||||
},
|
||||
|
||||
// Consider the first wrapped element as a template declaration, and get the compiled template or store it as a named template.
|
||||
template: function( name ) {
|
||||
return jQuery.template( name, this[0] );
|
||||
},
|
||||
|
||||
domManip: function( args, table, callback, options ) {
|
||||
// This appears to be a bug in the appendTo, etc. implementation
|
||||
// it should be doing .call() instead of .apply(). See #6227
|
||||
if ( args[0] && args[0].nodeType ) {
|
||||
var dmArgs = jQuery.makeArray( arguments ), argsLength = args.length, i = 0, tmplItem;
|
||||
while ( i < argsLength && !(tmplItem = jQuery.data( args[i++], "tmplItem" ))) {}
|
||||
if ( argsLength > 1 ) {
|
||||
dmArgs[0] = [jQuery.makeArray( args )];
|
||||
}
|
||||
if ( tmplItem && cloneIndex ) {
|
||||
dmArgs[2] = function( fragClone ) {
|
||||
// Handler called by oldManip when rendered template has been inserted into DOM.
|
||||
jQuery.tmpl.afterManip( this, fragClone, callback );
|
||||
};
|
||||
}
|
||||
oldManip.apply( this, dmArgs );
|
||||
} else {
|
||||
oldManip.apply( this, arguments );
|
||||
}
|
||||
cloneIndex = 0;
|
||||
if ( !appendToTmplItems ) {
|
||||
jQuery.tmpl.complete( newTmplItems );
|
||||
}
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
jQuery.extend({
|
||||
// Return wrapped set of template items, obtained by rendering template against data.
|
||||
tmpl: function( tmpl, data, options, parentItem ) {
|
||||
var ret, topLevel = !parentItem;
|
||||
if ( topLevel ) {
|
||||
// This is a top-level tmpl call (not from a nested template using {{tmpl}})
|
||||
parentItem = topTmplItem;
|
||||
tmpl = jQuery.template[tmpl] || jQuery.template( null, tmpl );
|
||||
wrappedItems = {}; // Any wrapped items will be rebuilt, since this is top level
|
||||
} else if ( !tmpl ) {
|
||||
// The template item is already associated with DOM - this is a refresh.
|
||||
// Re-evaluate rendered template for the parentItem
|
||||
tmpl = parentItem.tmpl;
|
||||
newTmplItems[parentItem.key] = parentItem;
|
||||
parentItem.nodes = [];
|
||||
if ( parentItem.wrapped ) {
|
||||
updateWrapped( parentItem, parentItem.wrapped );
|
||||
}
|
||||
// Rebuild, without creating a new template item
|
||||
return jQuery( build( parentItem, null, parentItem.tmpl( jQuery, parentItem ) ));
|
||||
}
|
||||
if ( !tmpl ) {
|
||||
return []; // Could throw...
|
||||
}
|
||||
if ( typeof data === "function" ) {
|
||||
data = data.call( parentItem || {} );
|
||||
}
|
||||
if ( options && options.wrapped ) {
|
||||
updateWrapped( options, options.wrapped );
|
||||
}
|
||||
ret = jQuery.isArray( data ) ?
|
||||
jQuery.map( data, function( dataItem ) {
|
||||
return dataItem ? newTmplItem( options, parentItem, tmpl, dataItem ) : null;
|
||||
}) :
|
||||
[ newTmplItem( options, parentItem, tmpl, data ) ];
|
||||
return topLevel ? jQuery( build( parentItem, null, ret ) ) : ret;
|
||||
},
|
||||
|
||||
// Return rendered template item for an element.
|
||||
tmplItem: function( elem ) {
|
||||
var tmplItem;
|
||||
if ( elem instanceof jQuery ) {
|
||||
elem = elem[0];
|
||||
}
|
||||
while ( elem && elem.nodeType === 1 && !(tmplItem = jQuery.data( elem, "tmplItem" )) && (elem = elem.parentNode) ) {}
|
||||
return tmplItem || topTmplItem;
|
||||
},
|
||||
|
||||
// Set:
|
||||
// Use $.template( name, tmpl ) to cache a named template,
|
||||
// where tmpl is a template string, a script element or a jQuery instance wrapping a script element, etc.
|
||||
// Use $( "selector" ).template( name ) to provide access by name to a script block template declaration.
|
||||
|
||||
// Get:
|
||||
// Use $.template( name ) to access a cached template.
|
||||
// Also $( selectorToScriptBlock ).template(), or $.template( null, templateString )
|
||||
// will return the compiled template, without adding a name reference.
|
||||
// If templateString includes at least one HTML tag, $.template( templateString ) is equivalent
|
||||
// to $.template( null, templateString )
|
||||
template: function( name, tmpl ) {
|
||||
if (tmpl) {
|
||||
// Compile template and associate with name
|
||||
if ( typeof tmpl === "string" ) {
|
||||
// This is an HTML string being passed directly in.
|
||||
tmpl = buildTmplFn( tmpl )
|
||||
} else if ( tmpl instanceof jQuery ) {
|
||||
tmpl = tmpl[0] || {};
|
||||
}
|
||||
if ( tmpl.nodeType ) {
|
||||
// If this is a template block, use cached copy, or generate tmpl function and cache.
|
||||
tmpl = jQuery.data( tmpl, "tmpl" ) || jQuery.data( tmpl, "tmpl", buildTmplFn( tmpl.innerHTML ));
|
||||
}
|
||||
return typeof name === "string" ? (jQuery.template[name] = tmpl) : tmpl;
|
||||
}
|
||||
// Return named compiled template
|
||||
return name ? (typeof name !== "string" ? jQuery.template( null, name ):
|
||||
(jQuery.template[name] ||
|
||||
// If not in map, treat as a selector. (If integrated with core, use quickExpr.exec)
|
||||
jQuery.template( null, htmlExpr.test( name ) ? name : jQuery( name )))) : null;
|
||||
},
|
||||
|
||||
encode: function( text ) {
|
||||
// Do HTML encoding replacing < > & and ' and " by corresponding entities.
|
||||
return ("" + text).split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'");
|
||||
}
|
||||
});
|
||||
|
||||
jQuery.extend( jQuery.tmpl, {
|
||||
tag: {
|
||||
"tmpl": {
|
||||
_default: { $2: "null" },
|
||||
open: "if($notnull_1){_=_.concat($item.nest($1,$2));}"
|
||||
// tmpl target parameter can be of type function, so use $1, not $1a (so not auto detection of functions)
|
||||
// This means that {{tmpl foo}} treats foo as a template (which IS a function).
|
||||
// Explicit parens can be used if foo is a function that returns a template: {{tmpl foo()}}.
|
||||
},
|
||||
"wrap": {
|
||||
_default: { $2: "null" },
|
||||
open: "$item.calls(_,$1,$2);_=[];",
|
||||
close: "call=$item.calls();_=call._.concat($item.wrap(call,_));"
|
||||
},
|
||||
"each": {
|
||||
_default: { $2: "$index, $value" },
|
||||
open: "if($notnull_1){$.each($1a,function($2){with(this){",
|
||||
close: "}});}"
|
||||
},
|
||||
"if": {
|
||||
open: "if(($notnull_1) && $1a){",
|
||||
close: "}"
|
||||
},
|
||||
"else": {
|
||||
_default: { $1: "true" },
|
||||
open: "}else if(($notnull_1) && $1a){"
|
||||
},
|
||||
"html": {
|
||||
// Unecoded expression evaluation.
|
||||
open: "if($notnull_1){_.push($1a);}"
|
||||
},
|
||||
"=": {
|
||||
// Encoded expression evaluation. Abbreviated form is ${}.
|
||||
_default: { $1: "$data" },
|
||||
open: "if($notnull_1){_.push($.encode($1a));}"
|
||||
},
|
||||
"!": {
|
||||
// Comment tag. Skipped by parser
|
||||
open: ""
|
||||
}
|
||||
},
|
||||
|
||||
// This stub can be overridden, e.g. in jquery.tmplPlus for providing rendered events
|
||||
complete: function( items ) {
|
||||
newTmplItems = {};
|
||||
},
|
||||
|
||||
// Call this from code which overrides domManip, or equivalent
|
||||
// Manage cloning/storing template items etc.
|
||||
afterManip: function afterManip( elem, fragClone, callback ) {
|
||||
// Provides cloned fragment ready for fixup prior to and after insertion into DOM
|
||||
var content = fragClone.nodeType === 11 ?
|
||||
jQuery.makeArray(fragClone.childNodes) :
|
||||
fragClone.nodeType === 1 ? [fragClone] : [];
|
||||
|
||||
// Return fragment to original caller (e.g. append) for DOM insertion
|
||||
callback.call( elem, fragClone );
|
||||
|
||||
// Fragment has been inserted:- Add inserted nodes to tmplItem data structure. Replace inserted element annotations by jQuery.data.
|
||||
storeTmplItems( content );
|
||||
cloneIndex++;
|
||||
}
|
||||
});
|
||||
|
||||
//========================== Private helper functions, used by code above ==========================
|
||||
|
||||
function build( tmplItem, nested, content ) {
|
||||
// Convert hierarchical content into flat string array
|
||||
// and finally return array of fragments ready for DOM insertion
|
||||
var frag, ret = content ? jQuery.map( content, function( item ) {
|
||||
return (typeof item === "string") ?
|
||||
// Insert template item annotations, to be converted to jQuery.data( "tmplItem" ) when elems are inserted into DOM.
|
||||
(tmplItem.key ? item.replace( /(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g, "$1 " + tmplItmAtt + "=\"" + tmplItem.key + "\" $2" ) : item) :
|
||||
// This is a child template item. Build nested template.
|
||||
build( item, tmplItem, item._ctnt );
|
||||
}) :
|
||||
// If content is not defined, insert tmplItem directly. Not a template item. May be a string, or a string array, e.g. from {{html $item.html()}}.
|
||||
tmplItem;
|
||||
if ( nested ) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
// top-level template
|
||||
ret = ret.join("");
|
||||
|
||||
// Support templates which have initial or final text nodes, or consist only of text
|
||||
// Also support HTML entities within the HTML markup.
|
||||
ret.replace( /^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/, function( all, before, middle, after) {
|
||||
frag = jQuery( middle ).get();
|
||||
|
||||
storeTmplItems( frag );
|
||||
if ( before ) {
|
||||
frag = unencode( before ).concat(frag);
|
||||
}
|
||||
if ( after ) {
|
||||
frag = frag.concat(unencode( after ));
|
||||
}
|
||||
});
|
||||
return frag ? frag : unencode( ret );
|
||||
}
|
||||
|
||||
function unencode( text ) {
|
||||
// Use createElement, since createTextNode will not render HTML entities correctly
|
||||
var el = document.createElement( "div" );
|
||||
el.innerHTML = text;
|
||||
return jQuery.makeArray(el.childNodes);
|
||||
}
|
||||
|
||||
// Generate a reusable function that will serve to render a template against data
|
||||
function buildTmplFn( markup ) {
|
||||
return new Function("jQuery","$item",
|
||||
"var $=jQuery,call,_=[],$data=$item.data;" +
|
||||
|
||||
// Introduce the data as local variables using with(){}
|
||||
"with($data){_.push('" +
|
||||
|
||||
// Convert the template into pure JavaScript
|
||||
jQuery.trim(markup)
|
||||
.replace( /([\\'])/g, "\\$1" )
|
||||
.replace( /[\r\t\n]/g, " " )
|
||||
.replace( /\$\{([^\}]*)\}/g, "{{= $1}}" )
|
||||
.replace( /\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,
|
||||
function( all, slash, type, fnargs, target, parens, args ) {
|
||||
var tag = jQuery.tmpl.tag[ type ], def, expr, exprAutoFnDetect;
|
||||
if ( !tag ) {
|
||||
throw "Template command not found: " + type;
|
||||
}
|
||||
def = tag._default || [];
|
||||
if ( parens && !/\w$/.test(target)) {
|
||||
target += parens;
|
||||
parens = "";
|
||||
}
|
||||
if ( target ) {
|
||||
target = unescape( target );
|
||||
args = args ? ("," + unescape( args ) + ")") : (parens ? ")" : "");
|
||||
// Support for target being things like a.toLowerCase();
|
||||
// In that case don't call with template item as 'this' pointer. Just evaluate...
|
||||
expr = parens ? (target.indexOf(".") > -1 ? target + parens : ("(" + target + ").call($item" + args)) : target;
|
||||
exprAutoFnDetect = parens ? expr : "(typeof(" + target + ")==='function'?(" + target + ").call($item):(" + target + "))";
|
||||
} else {
|
||||
exprAutoFnDetect = expr = def.$1 || "null";
|
||||
}
|
||||
fnargs = unescape( fnargs );
|
||||
return "');" +
|
||||
tag[ slash ? "close" : "open" ]
|
||||
.split( "$notnull_1" ).join( target ? "typeof(" + target + ")!=='undefined' && (" + target + ")!=null" : "true" )
|
||||
.split( "$1a" ).join( exprAutoFnDetect )
|
||||
.split( "$1" ).join( expr )
|
||||
.split( "$2" ).join( fnargs ?
|
||||
fnargs.replace( /\s*([^\(]+)\s*(\((.*?)\))?/g, function( all, name, parens, params ) {
|
||||
params = params ? ("," + params + ")") : (parens ? ")" : "");
|
||||
return params ? ("(" + name + ").call($item" + params) : all;
|
||||
})
|
||||
: (def.$2||"")
|
||||
) +
|
||||
"_.push('";
|
||||
}) +
|
||||
"');}return _;"
|
||||
);
|
||||
}
|
||||
function updateWrapped( options, wrapped ) {
|
||||
// Build the wrapped content.
|
||||
options._wrap = build( options, true,
|
||||
// Suport imperative scenario in which options.wrapped can be set to a selector or an HTML string.
|
||||
jQuery.isArray( wrapped ) ? wrapped : [htmlExpr.test( wrapped ) ? wrapped : jQuery( wrapped ).html()]
|
||||
).join("");
|
||||
}
|
||||
|
||||
function unescape( args ) {
|
||||
return args ? args.replace( /\\'/g, "'").replace(/\\\\/g, "\\" ) : null;
|
||||
}
|
||||
function outerHtml( elem ) {
|
||||
var div = document.createElement("div");
|
||||
div.appendChild( elem.cloneNode(true) );
|
||||
return div.innerHTML;
|
||||
}
|
||||
|
||||
// Store template items in jQuery.data(), ensuring a unique tmplItem data data structure for each rendered template instance.
|
||||
function storeTmplItems( content ) {
|
||||
var keySuffix = "_" + cloneIndex, elem, elems, newClonedItems = {}, i, l, m;
|
||||
for ( i = 0, l = content.length; i < l; i++ ) {
|
||||
if ( (elem = content[i]).nodeType !== 1 ) {
|
||||
continue;
|
||||
}
|
||||
elems = elem.getElementsByTagName("*");
|
||||
for ( m = elems.length - 1; m >= 0; m-- ) {
|
||||
processItemKey( elems[m] );
|
||||
}
|
||||
processItemKey( elem );
|
||||
}
|
||||
function processItemKey( el ) {
|
||||
var pntKey, pntNode = el, pntItem, tmplItem, key;
|
||||
// Ensure that each rendered template inserted into the DOM has its own template item,
|
||||
if ( (key = el.getAttribute( tmplItmAtt ))) {
|
||||
while ( pntNode.parentNode && (pntNode = pntNode.parentNode).nodeType === 1 && !(pntKey = pntNode.getAttribute( tmplItmAtt ))) { }
|
||||
if ( pntKey !== key ) {
|
||||
// The next ancestor with a _tmplitem expando is on a different key than this one.
|
||||
// So this is a top-level element within this template item
|
||||
// Set pntNode to the key of the parentNode, or to 0 if pntNode.parentNode is null, or pntNode is a fragment.
|
||||
pntNode = pntNode.parentNode ? (pntNode.nodeType === 11 ? 0 : (pntNode.getAttribute( tmplItmAtt ) || 0)) : 0;
|
||||
if ( !(tmplItem = newTmplItems[key]) ) {
|
||||
// The item is for wrapped content, and was copied from the temporary parent wrappedItem.
|
||||
tmplItem = wrappedItems[key];
|
||||
tmplItem = newTmplItem( tmplItem, newTmplItems[pntNode]||wrappedItems[pntNode], null, true );
|
||||
tmplItem.key = ++itemKey;
|
||||
newTmplItems[itemKey] = tmplItem;
|
||||
}
|
||||
if ( cloneIndex ) {
|
||||
cloneTmplItem( key );
|
||||
}
|
||||
}
|
||||
el.removeAttribute( tmplItmAtt );
|
||||
} else if ( cloneIndex && (tmplItem = jQuery.data( el, "tmplItem" )) ) {
|
||||
// This was a rendered element, cloned during append or appendTo etc.
|
||||
// TmplItem stored in jQuery data has already been cloned in cloneCopyEvent. We must replace it with a fresh cloned tmplItem.
|
||||
cloneTmplItem( tmplItem.key );
|
||||
newTmplItems[tmplItem.key] = tmplItem;
|
||||
pntNode = jQuery.data( el.parentNode, "tmplItem" );
|
||||
pntNode = pntNode ? pntNode.key : 0;
|
||||
}
|
||||
if ( tmplItem ) {
|
||||
pntItem = tmplItem;
|
||||
// Find the template item of the parent element.
|
||||
// (Using !=, not !==, since pntItem.key is number, and pntNode may be a string)
|
||||
while ( pntItem && pntItem.key != pntNode ) {
|
||||
// Add this element as a top-level node for this rendered template item, as well as for any
|
||||
// ancestor items between this item and the item of its parent element
|
||||
pntItem.nodes.push( el );
|
||||
pntItem = pntItem.parent;
|
||||
}
|
||||
// Delete content built during rendering - reduce API surface area and memory use, and avoid exposing of stale data after rendering...
|
||||
delete tmplItem._ctnt;
|
||||
delete tmplItem._wrap;
|
||||
// Store template item as jQuery data on the element
|
||||
jQuery.data( el, "tmplItem", tmplItem );
|
||||
}
|
||||
function cloneTmplItem( key ) {
|
||||
key = key + keySuffix;
|
||||
tmplItem = newClonedItems[key] =
|
||||
(newClonedItems[key] || newTmplItem( tmplItem, newTmplItems[tmplItem.parent.key + keySuffix] || tmplItem.parent, null, true ));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//---- Helper functions for template item ----
|
||||
|
||||
function tiCalls( content, tmpl, data, options ) {
|
||||
if ( !content ) {
|
||||
return stack.pop();
|
||||
}
|
||||
stack.push({ _: content, tmpl: tmpl, item:this, data: data, options: options });
|
||||
}
|
||||
|
||||
function tiNest( tmpl, data, options ) {
|
||||
// nested template, using {{tmpl}} tag
|
||||
return jQuery.tmpl( jQuery.template( tmpl ), data, options, this );
|
||||
}
|
||||
|
||||
function tiWrap( call, wrapped ) {
|
||||
// nested template, using {{wrap}} tag
|
||||
var options = call.options || {};
|
||||
options.wrapped = wrapped;
|
||||
// Apply the template, which may incorporate wrapped content,
|
||||
return jQuery.tmpl( jQuery.template( call.tmpl ), call.data, options, call.item );
|
||||
}
|
||||
|
||||
function tiHtml( filter, textOnly ) {
|
||||
var wrapped = this._wrap;
|
||||
return jQuery.map(
|
||||
jQuery( jQuery.isArray( wrapped ) ? wrapped.join("") : wrapped ).filter( filter || "*" ),
|
||||
function(e) {
|
||||
return textOnly ?
|
||||
e.innerText || e.textContent :
|
||||
e.outerHTML || outerHtml(e);
|
||||
});
|
||||
}
|
||||
|
||||
function tiUpdate() {
|
||||
var coll = this.nodes;
|
||||
jQuery.tmpl( null, null, null, this).insertBefore( coll[0] );
|
||||
jQuery( coll ).remove();
|
||||
}
|
||||
})( jQuery );
|
|
@ -31,7 +31,7 @@
|
|||
opts.title = opts.term;
|
||||
|
||||
opts.title = opts.title || '';
|
||||
text = opts.titleLink ? ('<a href="'+ opts.titleLink +'">'+ opts.title + '</a>') : ('<span>' + opts.title +'<a id="close_friends_icon" onClick="close_twitter()" class="icon close_box" title="close"></a>'+ '</span>');
|
||||
text = opts.titleLink ? ('<a href="'+ opts.titleLink +'">'+ opts.title + '</a>') : ('<span>' + opts.title +'</span>');
|
||||
$text = $(text);
|
||||
if (opts.titleLink)
|
||||
$text.css(opts.css['titleLink']);
|
||||
|
@ -210,7 +210,7 @@
|
|||
loading: { padding: '20px', textAlign: 'center', color: '#888' },
|
||||
text: {},
|
||||
time: { fontSize: 'smaller', color: '#888' },
|
||||
title: { 'border-bottom': '1px solid #D2D2D2', 'padding-top': '5px', 'padding-bottom': '0px', 'padding-left': '9px', 'margin-bottom': '0px', 'margin-top': '30px' , 'display': 'block', 'font-size': '1.17em', 'font-weight': 'bold'},
|
||||
title: { 'display': 'none'},
|
||||
titleLink: { textDecoration: 'none', color: '#3B5998' },
|
||||
user: { fontWeight: 'bold' }
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<a class="embed_yt" href='$embedurl' onclick='this.innerHTML=Base64.decode("$escapedhtml"); yt_iframe();javascript:$(this).parent().css("height", "370px"); return false;' style='float:left; margin: 1em; position: relative;'>
|
||||
<a class="embed_yt" href='$embedurl' onclick='this.innerHTML=Base64.decode("$escapedhtml"); yt_iframe();javascript:$(this).parent().css("height", "450px"); return false;' style='float:left; margin: 1em; position: relative;'>
|
||||
<img width='$tw' height='$th' src='$turl' >
|
||||
<div style='position: absolute; top: 0px; left: 0px; width: $twpx; height: $thpx; background: url(images/icons/48/play.png) no-repeat center center;'></div>
|
||||
</a>
|
||||
|
|
|
@ -3,21 +3,18 @@
|
|||
/*
|
||||
* Name: Diabook
|
||||
* Description: Diabook: report bugs and request here: http://pad.toktan.org/p/diabook or contact me : thomas_bierey@friendica.eu
|
||||
* Version: (Version: 1.025)
|
||||
* Version: (Version: 1.026)
|
||||
* Author:
|
||||
*/
|
||||
|
||||
$a = get_app();
|
||||
$a->theme_info = array(
|
||||
'family' => 'diabook',
|
||||
'version' => '1.025'
|
||||
);
|
||||
|
||||
|
||||
function diabook_init(&$a) {
|
||||
|
||||
//print diabook-version for debugging
|
||||
$diabook_version = "Diabook (Version: 1.025)";
|
||||
$a->page['htmlhead'] .= sprintf('<script "%s" ></script>', $diabook_version);
|
||||
$diabook_version = "Diabook (Version: 1.026)";
|
||||
$a->page['htmlhead'] .= sprintf('<META NAME="theme" CONTENT="%s"/>', $diabook_version);
|
||||
|
||||
//change css on network and profilepages
|
||||
$cssFile = null;
|
||||
|
@ -48,7 +45,7 @@ if ($color=="pink") $color_path = "/diabook-pink/";
|
|||
if ($color=="green") $color_path = "/diabook-green/";
|
||||
if ($color=="dark") $color_path = "/diabook-dark/";
|
||||
|
||||
|
||||
|
||||
//profile_side at networkpages
|
||||
if ($a->argv[0] === "network" && local_user()){
|
||||
|
||||
|
@ -80,9 +77,9 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
|
||||
}
|
||||
|
||||
$ccCookie = $_COOKIE['close_pages'] + $_COOKIE['close_profiles'] + $_COOKIE['close_helpers'] + $_COOKIE['close_services'] + $_COOKIE['close_friends'] + $_COOKIE['close_twitter'] + $_COOKIE['close_lastusers'] + $_COOKIE['close_lastphotos'] + $_COOKIE['close_lastlikes'];
|
||||
$ccCookie = $_COOKIE['close_pages'] + $_COOKIE['close_mapquery'] + $_COOKIE['close_profiles'] + $_COOKIE['close_helpers'] + $_COOKIE['close_services'] + $_COOKIE['close_friends'] + $_COOKIE['close_twitter'] + $_COOKIE['close_lastusers'] + $_COOKIE['close_lastphotos'] + $_COOKIE['close_lastlikes'];
|
||||
|
||||
if($ccCookie != "9") {
|
||||
if($ccCookie != "10") {
|
||||
// COMMUNITY
|
||||
diabook_community_info();
|
||||
|
||||
|
@ -96,7 +93,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
|
||||
//right_aside at profile pages
|
||||
if ($a->argv[0].$a->argv[1] === "profile".$a->user['nickname']){
|
||||
if($ccCookie != "9") {
|
||||
if($ccCookie != "10") {
|
||||
// COMMUNITY
|
||||
diabook_community_info();
|
||||
|
||||
|
@ -117,7 +114,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $imageresizeJS);
|
||||
|
||||
//load jquery.ui.js
|
||||
if($ccCookie != "9") {
|
||||
if($ccCookie != "10") {
|
||||
$jqueryuiJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery-ui-1.8.20.custom.min.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $jqueryuiJS);
|
||||
}
|
||||
|
@ -128,36 +125,113 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $twitterJS);
|
||||
}
|
||||
|
||||
//load jquery.mapquery.js
|
||||
|
||||
if($_COOKIE['close_mapquery'] != "1") {
|
||||
$mqtmplJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.tmpl.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $mqtmplJS);
|
||||
$mapqueryJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.mapquery.core.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $mapqueryJS);
|
||||
$openlayersJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/OpenLayers.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $openlayersJS);
|
||||
$mqmouseposJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.mapquery.mqMousePosition.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $mqmouseposJS);
|
||||
$mousewheelJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.mousewheel.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $mousewheelJS);
|
||||
|
||||
}
|
||||
|
||||
$a->page['htmlhead'] .= '
|
||||
<script>
|
||||
|
||||
$(function() {
|
||||
$("a.lightbox").fancybox(); // Select all links with lightbox class
|
||||
$("a.#twittersettings-link").fancybox({onClosed: function() { $("#twittersettings").attr("style","display: none;");}} );
|
||||
$("a.#mapcontrol-link").fancybox({onClosed: function() { $("#mapcontrol").attr("style","display: none;");}} );
|
||||
});
|
||||
|
||||
$(window).load(function() {
|
||||
var footer_top = $(document).height() - 30;
|
||||
$("div#footerbox").attr("style", "border-top: 1px solid #D2D2D2; width: 70%;right: 15%;position: absolute;top:"+footer_top+"px;");
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>';
|
||||
|
||||
//check if mapquerybox is active and print
|
||||
|
||||
if($_COOKIE['close_mapquery'] != "1") {
|
||||
$ELZoom=false;
|
||||
$ELPosX=false;
|
||||
$ELPosy=false;
|
||||
$site_ELZoom = get_config("diabook", "ELZoom" );
|
||||
$site_ELPosX = get_config("diabook", "ELPosX" );
|
||||
$site_ELPosY = get_config("diabook", "ELPosY" );
|
||||
$ELZoom = get_pconfig(local_user(), "diabook", "ELZoom");
|
||||
$ELPosX = get_pconfig(local_user(), "diabook", "ELPosX");
|
||||
$ELPosY = get_pconfig(local_user(), "diabook", "ELPosY");
|
||||
if ($ELZoom===false) $ELZoom=$site_ELZoom;
|
||||
if ($ELPosX===false) $ELPosX=$site_ELPosX;
|
||||
if ($ELPosY===false) $ELPosY=$site_ELPosY;
|
||||
if ($ELZoom===false) $ELZoom="0";
|
||||
if ($ELPosX===false) $ELPosX="0";
|
||||
if ($ELPosY===false) $ELPosY="0";
|
||||
$a->page['htmlhead'] .= '
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
$("#map").mapQuery({
|
||||
layers:[{ //add layers to your map; you need to define at least one to be able to see anything on the map
|
||||
type:"osm" //add a layer of the type osm (OpenStreetMap)
|
||||
}],
|
||||
center:({zoom:'.$ELZoom.',position:['.$ELPosX.','.$ELPosY.']}),
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function open_mapcontrol() {
|
||||
$("div#mapcontrol").attr("style","display: block;width:900px;height:600px;");
|
||||
$("#map2").mapQuery({layers:[{type:"osm"}],
|
||||
center:({zoom:'.$ELZoom.',position:['.$ELPosX.','.$ELPosY.']})});
|
||||
|
||||
$("#mouseposition").mqMousePosition({
|
||||
map: "#map2",
|
||||
x:"lon",
|
||||
y:"lat",
|
||||
precision:2
|
||||
});
|
||||
|
||||
|
||||
map = $("#map2").mapQuery().data("mapQuery");
|
||||
textarea = document.getElementById("mapzoom");
|
||||
|
||||
|
||||
$("#map2").bind("mousewheel", function(event, delta) {
|
||||
if (delta > 0 || delta < 0){
|
||||
textarea.value = map.center().zoom; }
|
||||
});
|
||||
|
||||
};
|
||||
</script>';
|
||||
}
|
||||
//check if twitterbox is active and print
|
||||
if($_COOKIE['close_twitter'] != "1") {
|
||||
$TSearchTerm=false;
|
||||
$site_TSearchTerm = get_config("diabook", "TSearchTerm" );
|
||||
$TSearchTerm = get_pconfig(local_user(), "diabook", "TSearchTerm");
|
||||
if ($TSearchTerm===false) $TSearchTerm=$site_TSearchTerm;
|
||||
if ($TSearchTerm===false) $TSearchTerm="friendica";
|
||||
$a->page['htmlhead'] .= '
|
||||
<script>
|
||||
$(function() {
|
||||
$("#twitter").twitterSearch({
|
||||
term: "friendica",
|
||||
term: "'.$TSearchTerm.'",
|
||||
animInSpeed: 250,
|
||||
bird: false,
|
||||
avatar: false,
|
||||
colorExterior: "#fff",
|
||||
title: "Last Tweets",
|
||||
timeout: 10000 });
|
||||
});
|
||||
function open_twittersettings() {
|
||||
$("div#twittersettings").attr("style","display: block;");
|
||||
};
|
||||
</script>';}
|
||||
|
||||
//check if community_home-plugin is activated and change css
|
||||
|
@ -169,6 +243,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
<script>
|
||||
$(document).ready(function() {
|
||||
$("div#login-submit-wrapper").attr("style","padding-top: 120px;");
|
||||
|
||||
});
|
||||
</script>';
|
||||
}
|
||||
|
@ -187,6 +262,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
<script>
|
||||
function restore_boxes(){
|
||||
$.cookie("close_pages","2", { expires: 365, path: "/" });
|
||||
$.cookie("close_mapquery","2", { expires: 365, path: "/" });
|
||||
$.cookie("close_helpers","2", { expires: 365, path: "/" });
|
||||
$.cookie("close_profiles","2", { expires: 365, path: "/" });
|
||||
$.cookie("close_services","2", { expires: 365, path: "/" });
|
||||
|
@ -209,7 +285,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
});
|
||||
</script>';
|
||||
|
||||
if($ccCookie != "9") {
|
||||
if($ccCookie != "10") {
|
||||
$a->page['htmlhead'] .= '
|
||||
<script>
|
||||
$("right_aside").ready(function(){
|
||||
|
@ -219,6 +295,11 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
document.getElementById( "close_pages" ).style.display = "none";
|
||||
};
|
||||
|
||||
if($.cookie("close_mapquery") == "1")
|
||||
{
|
||||
document.getElementById( "close_mapquery" ).style.display = "none";
|
||||
};
|
||||
|
||||
if($.cookie("close_profiles") == "1")
|
||||
{
|
||||
document.getElementById( "close_profiles" ).style.display = "none";
|
||||
|
@ -241,7 +322,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
|
||||
if($.cookie("close_twitter") == "1")
|
||||
{
|
||||
document.getElementById( "twitter" ).style.display = "none";
|
||||
document.getElementById( "close_twitter" ).style.display = "none";
|
||||
};
|
||||
|
||||
if($.cookie("close_lastusers") == "1")
|
||||
|
@ -265,6 +346,11 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
document.getElementById( "close_pages" ).style.display = "none";
|
||||
$.cookie("close_pages","1", { expires: 365, path: "/" });
|
||||
};
|
||||
|
||||
function close_mapquery(){
|
||||
document.getElementById( "close_mapquery" ).style.display = "none";
|
||||
$.cookie("close_mapquery","1", { expires: 365, path: "/" });
|
||||
};
|
||||
|
||||
function close_profiles(){
|
||||
document.getElementById( "close_profiles" ).style.display = "none";
|
||||
|
@ -287,7 +373,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
};
|
||||
|
||||
function close_twitter(){
|
||||
document.getElementById( "twitter" ).style.display = "none";
|
||||
document.getElementById( "close_twitter" ).style.display = "none";
|
||||
$.cookie("close_twitter","1", { expires: 365, path: "/" });
|
||||
};
|
||||
|
||||
|
@ -317,7 +403,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$a->page['footer'] .= replace_macros($tpl, array());
|
||||
|
||||
//
|
||||
js_in_foot();
|
||||
js_diabook_footer();
|
||||
}
|
||||
|
||||
|
||||
|
@ -325,7 +411,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$a = get_app();
|
||||
// comunity_profiles
|
||||
if($_COOKIE['close_profiles'] != "1") {
|
||||
$aside['$comunity_profilest_title'] = t('Community Profiles');
|
||||
$aside['$comunity_profiles_title'] = t('Community Profiles');
|
||||
$aside['$comunity_profiles_items'] = array();
|
||||
$r = q("select gcontact.* from gcontact left join glink on glink.gcid = gcontact.id
|
||||
where glink.cid = 0 and glink.uid = 0 order by rand() limit 9");
|
||||
|
@ -478,7 +564,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
if($_COOKIE['close_pages'] != "1") {
|
||||
if(local_user()) {
|
||||
$page = '
|
||||
<h3 style="margin-top:0px;">'.t("Community Pages").'<a id="close_pages_icon" onClick="close_pages()" class="icon close_box" title="close"></a></h3></div>
|
||||
<h3 style="margin-top:0px;">'.t("Community Pages").'<a id="close_pages_icon" onClick="close_pages()" class="icon close_box" title="close"></a></h3>
|
||||
<div id=""><ul style="margin-left: 7px;margin-top: 0px;padding-left: 0px;padding-top: 0px;">';
|
||||
|
||||
$pagelist = array();
|
||||
|
@ -509,6 +595,30 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
}}
|
||||
//END Community Page
|
||||
|
||||
//mapquery
|
||||
|
||||
if($_COOKIE['close_mapquery'] != "1") {
|
||||
$mapquery = array();
|
||||
$mapquery['title'] = Array("", "<a id='mapcontrol-link' href='#mapcontrol' style='text-decoration:none;' onclick='open_mapcontrol(); return false;'>".t('Earth Layers')."</a>", "", "");
|
||||
$aside['$mapquery'] = $mapquery;
|
||||
$ELZoom = get_pconfig(local_user(), 'diabook', 'ELZoom' );
|
||||
$ELPosX = get_pconfig(local_user(), 'diabook', 'ELPosX' );
|
||||
$ELPosY = get_pconfig(local_user(), 'diabook', 'ELPosY' );
|
||||
$aside['$sub'] = t('Submit');
|
||||
$aside['$ELZoom'] = array('diabook_ELZoom', t('Set zoomfactor for Earth Layer'), $ELZoom, '', $ELZoom);
|
||||
$aside['$ELPosX'] = array('diabook_ELPosX', t('Set longitude (X) for Earth Layer'), $ELPosX, '', $ELPosX);
|
||||
$aside['$ELPosY'] = array('diabook_ELPosY', t('Set latitude (Y) for Earth Layer'), $ELPosY, '', $ELPosY);
|
||||
$baseurl = $a->get_baseurl($ssl_state);
|
||||
$aside['$baseurl'] = $baseurl;
|
||||
if (isset($_POST['diabook-settings-map-sub']) && $_POST['diabook-settings-map-sub']!=''){
|
||||
set_pconfig(local_user(), 'diabook', 'ELZoom', $_POST['diabook_ELZoom']);
|
||||
set_pconfig(local_user(), 'diabook', 'ELPosX', $_POST['diabook_ELPosX']);
|
||||
set_pconfig(local_user(), 'diabook', 'ELPosY', $_POST['diabook_ELPosY']);
|
||||
header("Location: network");
|
||||
}
|
||||
}
|
||||
//end mapquery
|
||||
|
||||
//helpers
|
||||
if($_COOKIE['close_helpers'] != "1") {
|
||||
$helpers = array();
|
||||
|
@ -523,6 +633,24 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$aside['$con_services'] = $con_services;
|
||||
}
|
||||
//end connectable services
|
||||
//twitter
|
||||
if($_COOKIE['close_twitter'] != "1") {
|
||||
$twitter = array();
|
||||
$twitter['title'] = Array("", "<a id='twittersettings-link' href='#twittersettings' style='text-decoration:none;' onclick='open_twittersettings(); return false;'>".t('Last Tweets')."</a>", "", "");
|
||||
$aside['$twitter'] = $twitter;
|
||||
$TSearchTerm = get_pconfig(local_user(), 'diabook', 'TSearchTerm' );
|
||||
$aside['$sub'] = t('Submit');
|
||||
$aside['$TSearchTerm'] = array('diabook_TSearchTerm', t('Set twitter search term'), $TSearchTerm, '', $TSearchTerm);
|
||||
$baseurl = $a->get_baseurl($ssl_state);
|
||||
$aside['$baseurl'] = $baseurl;
|
||||
if (isset($_POST['diabook-settings-sub']) && $_POST['diabook-settings-sub']!=''){
|
||||
set_pconfig(local_user(), 'diabook', 'TSearchTerm', $_POST['diabook_TSearchTerm']);
|
||||
header("Location: network");
|
||||
}
|
||||
}
|
||||
//end twitter
|
||||
$close = t('Close');
|
||||
$aside['$close'] = $close;
|
||||
//get_baseurl
|
||||
$url = $a->get_baseurl($ssl_state);
|
||||
$aside['$url'] = $url;
|
||||
|
@ -532,7 +660,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
|
||||
}
|
||||
|
||||
function js_in_foot() {
|
||||
function js_diabook_footer() {
|
||||
/** @purpose insert stuff in bottom of page
|
||||
*/
|
||||
$a = get_app();
|
||||
|
@ -542,14 +670,4 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$a->page['footer'] = $a->page['footer'].replace_macros($tpl, $bottom);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -6,6 +6,14 @@
|
|||
|
||||
{{inc field_select.tpl with $field=$resolution}}{{endinc}}
|
||||
|
||||
{{inc field_input.tpl with $field=$TSearchTerm}}{{endinc}}
|
||||
|
||||
{{inc field_input.tpl with $field=$ELPosX}}{{endinc}}
|
||||
|
||||
{{inc field_input.tpl with $field=$ELPosY}}{{endinc}}
|
||||
|
||||
{{inc field_input.tpl with $field=$ELZoom}}{{endinc}}
|
||||
|
||||
<div class="field select">
|
||||
<a onClick="restore_boxes()" title="Restore right-hand column" style="cursor: pointer;">Restore right-hand column</a>
|
||||
</div>
|
||||
|
|
29
view/theme/dispy/README.md
Normal file
29
view/theme/dispy/README.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
## Dispy Themes ##
|
||||
|
||||
**Dispy**: Light, Spartan, Sleek, and Functional
|
||||
|
||||
**Dispy Dark**: Dark, Spartan, Sleek, and Functional
|
||||
|
||||
|
||||
### A Brief History ###
|
||||
|
||||
Their beginnings are unknown to me, but they are part of the themes
|
||||
that Mike Macgirvin, Emmanual Revah, put together for Friendica, I *think*.
|
||||
|
||||
Later on, in the fall and winter of 2011-2012, I took over maintaining
|
||||
the original dispy (now called dispy light). It went through a minor re-vamp,
|
||||
keeping to its spartan look as much as possible.
|
||||
|
||||
I added more rounded corners, and as Friendica grew in capabilities and
|
||||
features, so did it - but, I always wanted to keep the features down, so as
|
||||
to be fast and spartan, which seems to appeal to a lot of the geekier
|
||||
users (like myself).
|
||||
|
||||
Soon after I started maintaining dispy light, I developed its sister
|
||||
theme - dark - according to another user's request (and other "+1"
|
||||
votes for one like it). So *dark* was "born".
|
||||
|
||||
Anyway, I've added a few more things since, and I hope I haven't
|
||||
over-done it ;-).
|
||||
|
||||
Simon
|
71
view/theme/dispy/css/media.less
Normal file
71
view/theme/dispy/css/media.less
Normal file
|
@ -0,0 +1,71 @@
|
|||
//
|
||||
//* media stuff */
|
||||
@media handheld and screen {
|
||||
body {
|
||||
font-size: 15pt;
|
||||
}
|
||||
}
|
||||
//* Smartphones (portrait and landscape) ----------- */
|
||||
@media only screen and (min-device-width: 320px)
|
||||
and (max-device-width: 480px) {
|
||||
body {
|
||||
font-size: 12pt;
|
||||
}
|
||||
}
|
||||
//* Smartphones (landscape) ----------- */
|
||||
@media only screen and (min-width: 321px) {
|
||||
body {
|
||||
font-size: 12pt;
|
||||
}
|
||||
}
|
||||
//* Smartphones (portrait) ----------- */
|
||||
@media only screen and (max-width: 320px) {
|
||||
body {
|
||||
font-size: 12pt;
|
||||
}
|
||||
}
|
||||
//* iPads (portrait and landscape) ----------- */
|
||||
@media only screen and (min-device-width: 768px)
|
||||
and (max-device-width: 1024px) {
|
||||
body {
|
||||
font-size: 14pt;
|
||||
}
|
||||
}
|
||||
//* iPads (landscape) ----------- */
|
||||
@media only screen and (min-device-width: 768px)
|
||||
and (max-device-width: 1024px)
|
||||
and (orientation: landscape) {
|
||||
body {
|
||||
font-size: 14pt;
|
||||
}
|
||||
}
|
||||
//* iPads (portrait) ----------- */
|
||||
@media only screen and (min-device-width: 768px)
|
||||
and (max-device-width: 1024px)
|
||||
and (orientation: portrait) {
|
||||
body {
|
||||
font-size: 14pt;
|
||||
}
|
||||
}
|
||||
//* Desktops and laptops ----------- */
|
||||
//adjusted to 1024 from 1224.
|
||||
//not everybody has a fucking big screen ffs
|
||||
@media only screen and (min-width: 1024px) {
|
||||
body {
|
||||
font-size: 14pt;
|
||||
}
|
||||
}
|
||||
//* Large screens - */
|
||||
@media only screen and (min-width: 1520px) {
|
||||
body {
|
||||
font-size: 16pt;
|
||||
}
|
||||
}
|
||||
//* iPhone 4 ----------- */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
|
||||
only screen and (min-device-pixel-ratio: 1.5) {
|
||||
body {
|
||||
font-size: 14pt;
|
||||
}
|
||||
}
|
||||
|
66
view/theme/dispy/css/reset.less
Normal file
66
view/theme/dispy/css/reset.less
Normal file
|
@ -0,0 +1,66 @@
|
|||
///* http://meyerweb.com/eric/tools/css/reset/
|
||||
// v2.0 | 20110126
|
||||
// License: none (public domain)
|
||||
//*/
|
||||
|
||||
html, body, div, span,
|
||||
applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
p, blockquote, pre, a,
|
||||
abbr, acronym, address,
|
||||
big, cite, code, del,
|
||||
dfn, em, img, ins, kbd,
|
||||
q, s, samp, small, strike,
|
||||
strong, sub, sup, tt, var,
|
||||
b, u, i, center, dl, dt,
|
||||
dd, ol, ul, li, fieldset,
|
||||
form, label, legend, table,
|
||||
caption, tbody, tfoot, thead,
|
||||
tr, th, td, article, aside,
|
||||
canvas, details, embed,
|
||||
figure, figcaption, footer,
|
||||
header, hgroup, menu, nav,
|
||||
output, ruby, section, summary,
|
||||
time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
///* HTML5 display-role reset for older browsers */
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
body {
|
||||
line-height: 1;
|
||||
}
|
||||
ul, ol {
|
||||
.list_reset;
|
||||
}
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
///* de-italicize address */
|
||||
address {
|
||||
font-style: normal;
|
||||
}
|
||||
a img,
|
||||
:link img,
|
||||
:visited img {
|
||||
border: none;
|
||||
}
|
||||
q {
|
||||
quotes: "" "";
|
||||
}
|
|
@ -13,6 +13,9 @@
|
|||
// you "compile" the css (with `lessc`), but css (/**/) comments
|
||||
// do. i use them to our advantage :).
|
||||
|
||||
// import our reset styles first
|
||||
@import "../css/reset";
|
||||
|
||||
//* backgrounds */
|
||||
@dk_bg_colour: #1d1f1d;
|
||||
@bg_colour: #2e2f2e;
|
||||
|
@ -138,7 +141,7 @@
|
|||
}
|
||||
//* font size sizing */
|
||||
.default_font () {
|
||||
font-size: 16px;
|
||||
font-size: 14pt;
|
||||
line-height: 1.1em;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
|
|
@ -1,12 +1,21 @@
|
|||
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
|
||||
body{line-height:1;}
|
||||
ul,ol{margin:0px;padding:0px;list-style:none;list-style-position:inside;}
|
||||
blockquote,q{quotes:none;}
|
||||
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
|
||||
table{border-collapse:collapse;border-spacing:0;}
|
||||
address{font-style:normal;}
|
||||
a img,:link img,:visited img{border:none;}
|
||||
q{quotes:"" "";}
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
|
||||
audio,canvas,video,time{display:inline-block;*display:inline;*zoom:1;}
|
||||
audio:not([controls]),[hidden]{display:none;}
|
||||
html{font-size:100%;overflow-y:scroll;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
|
||||
body{margin:0;padding:0;font-size:16px;line-height:1.1em;font-family:sans-serif;color:#eeeecc;background-color:#2e2f2e;}
|
||||
body{margin:0;padding:0;font-size:14pt;line-height:1.1em;font-family:sans-serif;color:#eeeecc;background-color:#2e2f2e;}
|
||||
button,input,select,textarea{color:#eeeecc;background-color:#2e2f2e;}
|
||||
select{border:1px #555 dotted;padding:1px;margin:3px;color:#eeeecc;background:#2e2f2e;}
|
||||
select{border:1px dotted #555555;padding:1px;margin:3px;color:#eeeecc;background:#2e2f2e;max-width:85%;min-width:85px;}
|
||||
option{padding:1px;color:#eeeecc;background:#2e2f2e;}option[selected="selected"]{color:#2e2f2e;background:#eeeecc;}
|
||||
ul,ol{margin:0px;padding:0px;list-style:none;list-style-position:inside;}
|
||||
tr:nth-child(even){background-color:#474947;}
|
||||
:focus{outline:0;}
|
||||
[disabled="disabled"]{background:#4e4f4e;color:#ddddbb;}
|
||||
|
@ -23,18 +32,23 @@ sup{top:-0.5em;}
|
|||
img{border:0 none;}
|
||||
a{color:#88a9d2;text-decoration:none;margin-bottom:1px;}a:hover{color:#638ec4;border-bottom:1px dotted #638ec4;}
|
||||
a:hover img{text-decoration:none;}
|
||||
blockquote{background:#444;color:#eeeecc;text-indent:5px;padding:5px;border:1px #aaa solid;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
|
||||
blockquote{background:#444444;color:#eeeecc;text-indent:5px;padding:5px;border:1px solid #9a9a9a;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
|
||||
label{width:38%;display:inline-block;font-size:0.95em;margin:0 10px 1em 0;border:1px solid #2e2f2e;padding:5px;background:#eeeecc;color:#111111;-moz-box-shadow:3px 3px 5px 0px #111111;-o-box-shadow:3px 3px 5px 0px #111111;-webkit-box-shadow:3px 3px 5px 0px #111111;-ms-box-shadow:3px 3px 5px 0px #111111;box-shadow:3px 3px 5px 0px #111111;}
|
||||
input{width:250px;height:25px;border:1px solid #999999;}input[type="checkbox"],input[type="radio"]{margin:0;width:15px;height:15px;}
|
||||
input[type="submit"],input[type="button"]{background-color:#eeeeee;border:2px outset #b1b1b1;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 3px 4px 0 #111111;-o-box-shadow:1px 3px 4px 0 #111111;-webkit-box-shadow:1px 3px 4px 0 #111111;-ms-box-shadow:1px 3px 4px 0 #111111;box-shadow:1px 3px 4px 0 #111111;color:#2e302e;cursor:pointer;font-weight:bold;width:auto;-moz-text-shadow:1px 1px #111111;-o-text-shadow:1px 1px #111111;-webkit-text-shadow:1px 1px #111111;-ms-text-shadow:1px 1px #111111;text-shadow:1px 1px #111111;}
|
||||
input[type="submit"]:active,input[type="button"]:active{-moz-box-shadow:0 0 0 0 #111111;-o-box-shadow:0 0 0 0 #111111;-webkit-box-shadow:0 0 0 0 #111111;-ms-box-shadow:0 0 0 0 #111111;box-shadow:0 0 0 0 #111111;}
|
||||
h1,h2,h3,h4,h5,h6{margin:10px 0px;font-weight:bold;border-bottom:1px solid #638ec4;}
|
||||
.required{display:inline;color:#ff0;font-size:16px;font-weight:bold;margin:3px;}
|
||||
.fakelink,.lockview{color:#88a9d2;cursor:pointer;}
|
||||
.fakelink:hover{color:#638ec4;}
|
||||
.smalltext{font-size:0.7em;}
|
||||
#panel{position:absolute;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;border:1px solid #eeeeee;background-color:#2e302e;color:#eeeecc;padding:1em;}
|
||||
.pager{margin-top:60px;display:block;clear:both;text-align:center;}.pager span{padding:4px;margin:4px;}
|
||||
.pager_current{background-color:#88a9d2;color:#eeeeee;}
|
||||
.pager{margin-top:60px;display:block;clear:both;text-align:center;font-size:small;font-weight:bold;}.pager span{padding:4px;margin:4px;}
|
||||
.pager_current{background-color:#88a9d2;color:#2e2f2e;}
|
||||
.action{margin:5px 0;}
|
||||
.tool{margin:5px 0;list-style:none;}
|
||||
#articlemain{width:100%;height:100%;margin:0 auto;}
|
||||
[class$="-desc"],[id$="-desc"]{color:#2e2f2e;background:#eeeecc;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:3px 3px 5px 0px #111111;-o-box-shadow:3px 3px 5px 0px #111111;-webkit-box-shadow:3px 3px 5px 0px #111111;-ms-box-shadow:3px 3px 5px 0px #111111;box-shadow:3px 3px 5px 0px #111111;padding:3px;margin:5px 0;font-weight:bold;}
|
||||
[class$="-desc"],[id$="-desc"]{color:#2e2f2e;background:#eeeecc;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:3px 3px 5px 0px #111111;-o-box-shadow:3px 3px 5px 0px #111111;-webkit-box-shadow:3px 3px 5px 0px #111111;-ms-box-shadow:3px 3px 5px 0px #111111;box-shadow:3px 3px 5px 0px #111111;margin:3px 10px 7px 0;padding:6px 7px;font-weight:bold;font-size:smaller;}
|
||||
#asidemain .field{overflow:hidden;width:200px;}
|
||||
#login-extra-links{overflow:auto !important;padding-top:60px !important;width:100% !important;}#login-extra-links a{margin-right:20px;}
|
||||
#login_standard{display:block !important;float:none !important;height:100% !important;position:relative !important;width:100% !important;}#login_standard .field label{width:200px !important;}
|
||||
|
@ -46,7 +60,7 @@ blockquote{background:#444;color:#eeeecc;text-indent:5px;padding:5px;border:1px
|
|||
#login_openid label{width:180px !important;}
|
||||
nav{height:60px;background-color:#1d1f1d;color:#eeeeee;position:relative;padding:20px 20px 10px 95px;}nav a{text-decoration:none;color:#eeeeee;border:0px;}nav a:hover{text-decoration:none;color:#eeeeee;border:0px;}
|
||||
nav #banner{display:block;position:absolute;left:51px;top:25px;}nav #banner #logo-text a{font-size:40px;font-weight:bold;margin-left:3px;}
|
||||
ul#user-menu-popup{display:none;position:absolute;background-color:#555753;width:100%;padding:10px 0px;margin:0px;top:20px;left:0;-o-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-ms-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-moz-box-shadow:5px 5px 10px 0px #111111;-o-box-shadow:5px 5px 10px 0px #111111;-webkit-box-shadow:5px 5px 10px 0px #111111;-ms-box-shadow:5px 5px 10px 0px #111111;box-shadow:5px 5px 10px 0px #111111;z-index:10000;}ul#user-menu-popup li{display:block;}ul#user-menu-popup li a{display:block;padding:5px;}ul#user-menu-popup li a:hover{color:#eeeecc;background-color:#2e302e;}
|
||||
ul#user-menu-popup{display:none;position:absolute;background-color:#555753;width:100%;padding:10px 0px;margin:0px;top:20px;left:0;font-size:small;line-height:1;-o-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-ms-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-moz-box-shadow:5px 5px 10px 0px #111111;-o-box-shadow:5px 5px 10px 0px #111111;-webkit-box-shadow:5px 5px 10px 0px #111111;-ms-box-shadow:5px 5px 10px 0px #111111;box-shadow:5px 5px 10px 0px #111111;z-index:10000;}ul#user-menu-popup li{display:block;}ul#user-menu-popup li a{display:block;padding:5px;}ul#user-menu-popup li a:hover{color:#eeeecc;background-color:#2e302e;}
|
||||
ul#user-menu-popup li a.nav-sep{border-top:1px solid #2e302e;}
|
||||
nav .nav-link{display:inline-block;width:22px;height:22px;overflow:hidden;margin:0px 5px 5px;text-indent:50px;background:transparent url(dark/icons.png) 0 0 no-repeat;}
|
||||
#nav-apps-link{background-position:0 -66px;}#nav-apps-link:hover{background-position:-22px -66px;}
|
||||
|
@ -71,7 +85,7 @@ div.jGrowl div.info{background:#1353b1 url("../../../images/icons/48/info.png")
|
|||
#nav-notifications-menu a:hover{color:black;text-decoration:underline;}
|
||||
nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkmenu.selected .icon.s22.notify{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAQAAABuvaSwAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAUJcAAFCXAZtv64UAAAHuSURBVCjPbZPbTlNBFIYHLixXRIhEQGNRMUopJAJyAyZ4Z2l8B+XwEBqKtjwOp8oDIAJKIJFUjdFIQCUYrRytdyb0459ht8wG9rrYs9b618y/TsYEH4ZK4qRYYIdDybZOI7TKakIfVhrJ8J2i5IBNyV93/kaaBuv3oV3MgwCTPKGHPkkPA0xRUMBrOgN4AP0o6BseEpF2m3es0qJTFQneyvMhgDsC9tZprnEcGuOPeMcDLUpW3jlLxlDBmJTFY6gLvsVv8tyh9G7U3Z6mwtCuJAoiECSh/w1+8otmTjLqF2KDNsNzRY1bruV0o6rFFtc9S5USh5RRWvAYv4xX9dYPS8ur1oBQC4Y99m2uHriRNda5ErLdU1l3jCI2xdJ3XOYLX6kP2W6K2OF54Et84jN154F31d6ukKOG92pSbcjWLRrbRhVGLTZeOtXqX46LoQSHhJo3jOo3ESrdBQbljIRKNyXUiKHNNSXhTdbZiUzyT/WJ23Zn3BBFy+2u4ZHc1eV2N7EkxAvbbqMRmZOSlbE0g/uajRgl6Iy8r1wpnaFTQ4ji+8XOEsuxYmdDWpJleXJ0+BPdoduL4p5Vavd5IOllmJfiWmSWu6d3pV4jteFWqaAGbLkdKSqtUXXUnN3DSvF8phfy/JfkxfOp9sVb2COz+hY/T0qkwwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMS0wOS0xNlQwOTozOTowMCswMjowMC9Oi90AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTEtMDktMTZUMDk6Mzk6MDArMDI6MDBeEzNhAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg==");}
|
||||
.show{display:block;}
|
||||
#notifications{width:170px;height:20px;position:absolute;top:-19px;left:4px;}
|
||||
#notifications{width:170px;height:20px;font-size:small;top:-19px;left:4px;position:absolute;}
|
||||
#nav-floater{position:fixed;top:20px;right:1%;padding:5px;background:#1d1f1d;color:transparent;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100;width:300px;height:60px;}
|
||||
#nav-buttons{clear:both;list-style:none;padding:0px;margin:0px;height:25px;}#nav-buttons>li{padding:0;display:inline-block;margin:0px -4px 0px 0px;}
|
||||
.floaterflip{display:block;position:fixed;z-index:110;top:56px;right:19px;width:22px;height:22px;overflow:hidden;margin:0px;background:transparent url(dark/icons.png) -190px -60px no-repeat;}
|
||||
|
@ -79,7 +93,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
#search-text{border:1px solid #eeeecc;background:#2e2f2e;color:#eeeecc;font-size:8pt;margin:8px;width:10em;height:14px;}
|
||||
#scrollup{position:fixed;right:5px;bottom:40px;z-index:100;}#scrollup a:hover{text-decoration:none;border:0;}
|
||||
#user-menu{-moz-box-shadow:5px 0 10px 0 #111111;-o-box-shadow:5px 0 10px 0 #111111;-webkit-box-shadow:5px 0 10px 0 #111111;-ms-box-shadow:5px 0 10px 0 #111111;box-shadow:5px 0 10px 0 #111111;display:block;width:75%;margin:3px 0 0 0;position:relative;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;background-color:#555753;background-image:url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAIAAwDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAMH/8QAIhAAAQMEAgIDAAAAAAAAAAAAAQIDBAAFBhESIQdBMVFh/8QAFQEBAQAAAAAAAAAAAAAAAAAAAgP/xAAXEQEBAQEAAAAAAAAAAAAAAAABAAIR/9oADAMBAAIRAxEAPwCXiHO8dbsEi35BEhIehNlbUhxhBU82O+G9bKgToD2D+VlmZX9OWZBJuAiMxGlni0w0gJCED4HXv7pSi6eFML//2Q==");background-position:98% center;background-repeat:no-repeat;clear:both;top:4px;left:10px;padding:2px;}#user-menu>a{vertical-align:top;}
|
||||
#user-menu-label{font-size:12px;padding:3px 20px 9px 5px;height:10px;}
|
||||
#user-menu-label{font-size:small;padding:3px 20px 9px 5px;height:10px;}
|
||||
.nav-ajax-update,.nav-ajax-left{width:30px;height:19px;background:transparent url(dark/notifications.png) 0 0 no-repeat;color:#222;font-weight:bold;font-size:0.8em;padding-top:0.2em;text-align:center;float:left;margin:0 -1px 0 3px;display:block;visibility:hidden;}
|
||||
.nav-ajax-update.show,.nav-ajax-left.show{visibility:visible;}
|
||||
#net-update{background-position:0px 0px;}
|
||||
|
@ -99,14 +113,14 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
#sysmsg_info{position:fixed;bottom:0;-moz-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-o-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-webkit-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-ms-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;padding:10px;background-color:#fcaf3e;border:2px solid #f8911b;border-bottom:0;padding-bottom:50px;z-index:1000;}
|
||||
#sysmsg{position:fixed;bottom:0;-moz-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-o-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-webkit-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-ms-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;padding:10px;background-color:#fcaf3e;border:2px solid #f8911b;border-bottom:0;padding-bottom:50px;z-index:1000;}
|
||||
#sysmsg_info br,#sysmsg br{display:block;margin:2px 0px;border-top:1px solid #eeeecc;}
|
||||
#asidemain{float:left;font-size:smaller;margin:20px 0 20px 35px;width:25%;display:inline;}
|
||||
#asidemain{float:left;font-size:0.75em;margin:20px 0 20px 35px;width:25%;display:inline;}
|
||||
#asideright,#asideleft{display:none;}
|
||||
.vcard .fn{font-size:1.7em;font-weight:bold;border-bottom:1px solid #729fcf;padding-bottom:3px;}
|
||||
.vcard .fn{font-size:1.5em;font-weight:bold;border-bottom:1px solid #638ec4;padding-bottom:3px;}
|
||||
.vcard #profile-photo-wrapper{margin:20px;}.vcard #profile-photo-wrapper img{-moz-box-shadow:3px 3px 10px 0 #111111;-o-box-shadow:3px 3px 10px 0 #111111;-webkit-box-shadow:3px 3px 10px 0 #111111;-ms-box-shadow:3px 3px 10px 0 #111111;box-shadow:3px 3px 10px 0 #111111;}
|
||||
#asidemain h4{font-size:1.2em;}
|
||||
#asidemain #viewcontacts{text-align:right;}
|
||||
#asidemain #contact-block{width:99%;}#asidemain #contact-block .contact-block-content{width:99%;}#asidemain #contact-block .contact-block-content .contact-block-div{float:left;margin:0 5px 5px 0;width:50px;height:50px;padding:3px;position:relative;}
|
||||
.aprofile dt{background:#eeeecc;color:#2e2f2e;font-weight:bold;-moz-box-shadow:1px 1px 5px 0 5px 5px 0px #111111;-o-box-shadow:1px 1px 5px 0 5px 5px 0px #111111;-webkit-box-shadow:1px 1px 5px 0 5px 5px 0px #111111;-ms-box-shadow:1px 1px 5px 0 5px 5px 0px #111111;box-shadow:1px 1px 5px 0 5px 5px 0px #111111;margin:15px 0 5px;padding-left:5px;}
|
||||
.aprofile dt{background:#eeeecc;color:#2e2f2e;font-weight:bold;-moz-box-shadow:3px 3px 5px 0px #111111;-o-box-shadow:3px 3px 5px 0px #111111;-webkit-box-shadow:3px 3px 5px 0px #111111;-ms-box-shadow:3px 3px 5px 0px #111111;box-shadow:3px 3px 5px 0px #111111;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;margin:15px 0 5px;padding-left:5px;}
|
||||
#profile-extra-links ul{margin-left:0px;padding-left:0px;list-style:none;}
|
||||
#dfrn-request-link{-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;color:#eeeecc;display:block;font-size:1.2em;padding:0.2em 0.5em;background-color:#3465a4;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAYAAAAmL5yKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAE4SURBVCiRpZKxLgRRFIa//64dKruZFRIlolBviFKiVHsHrRaFikTCC+hEQtRegMQDqDUKJOPOvauSMJmjYEU2M0viT071/+fLOTlHZkadQgjLkh1LPEoj661WKw5mXG034JxtAgtmrJoVK5WZYYCy1AVQSOYbjeSqMmRmQ8v755Ne77lb5w+d4HMNJopCT7X+bwDQZKfTyf4BIAHeawHe+/kQ/FGM+QagvpFl2VSM/tyMmV7PV14AYMQ5nUp0AULIp0HXzpVvSdLYMmNVAjNdAuNAUQHgxy/ZvEQTSMw0A33DxkIIi2ma3gwC9PKSzRWF2wbdpml62DfyPF9yjlNgAnQGLJjZnXON3Xa7ff8NGPbKQPNrbAOI0a9J2ilLEzAL7P0GqJJizF+BUeDhL2cclJnZPvAg6eADf+imKjSMX1wAAAAASUVORK5CYII=");background-repeat:no-repeat;background-position:95% center;}
|
||||
#wallmessage-link{color:#eeeeee;display:block;font-size:1.2em;padding:0.2em 0.5em;}
|
||||
|
@ -141,7 +155,6 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
#profile-jot-submit-wrapper{float:right;width:100%;margin:10px 0 0 0;padding:0;}
|
||||
#profile-jot-submit{height:auto;background-color:#555753;color:#eeeeee;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;border:2px outset #2e3436;margin:0;float:right;-moz-text-shadow:1px 1px #111111;-o-text-shadow:1px 1px #111111;-webkit-text-shadow:1px 1px #111111;-ms-text-shadow:1px 1px #111111;text-shadow:1px 1px #111111;width:auto;}#profile-jot-submit:active{-moz-box-shadow:0 0 0 0 #111111;-o-box-shadow:0 0 0 0 #111111;-webkit-box-shadow:0 0 0 0 #111111;-ms-box-shadow:0 0 0 0 #111111;box-shadow:0 0 0 0 #111111;}
|
||||
#jot-perms-icon{width:20px;height:22px;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;overflow:hidden;}
|
||||
#profile-jot-acl-wrapper{margin:0 10px;border:1px solid #555555;border-top:0;display:block !important;border:1px solid #555753 solid #eeeecc;-moz-box-shadow:5px 5px 5px 0px #111111;-o-box-shadow:5px 5px 5px 0px #111111;-webkit-box-shadow:5px 5px 5px 0px #111111;-ms-box-shadow:5px 5px 5px 0px #111111;box-shadow:5px 5px 5px 0px #111111;}
|
||||
#group_allow_wrapper,#group_deny_wrapper,#acl-permit-outer-wrapper,#contact_allow_wrapper,#contact_deny_wrapper,#acl-deny-outer-wrapper{width:47%;}
|
||||
#group_allow_wrapper,#group_deny_wrapper,#acl-permit-outer-wrapper{float:left;}
|
||||
#contact_allow_wrapper,#contact_deny_wrapper,#acl-deny-outer-wrapper{float:right;}
|
||||
|
@ -153,7 +166,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
#jot-title-wrapper{margin-bottom:5px;}
|
||||
#jot-title-display{font-weight:bold;}
|
||||
.jothidden{display:none;}
|
||||
#jot-preview-content{background-color:#2e302e;color:#eeeecc;border:1px solid #eeeecc;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;padding:3px 3px 6px 10px;}#jot-preview-content .wall-item-outside-wrapper{border:0;-o-border-radius:0px 0px 0px 0px;-webkit-border-radius:0px 0px 0px 0px;-moz-border-radius:0px 0px 0px 0px;-ms-border-radius:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}
|
||||
#jot-preview-content{background-color:#2e302e;color:#eeeecc;border:1px solid #eeeecc;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:5px 0 10px 0px #111111;-o-box-shadow:5px 0 10px 0px #111111;-webkit-box-shadow:5px 0 10px 0px #111111;-ms-box-shadow:5px 0 10px 0px #111111;box-shadow:5px 0 10px 0px #111111;padding:3px 3px 6px 10px;}#jot-preview-content .wall-item-outside-wrapper{border:0;-o-border-radius:0px 0px 0px 0px;-webkit-border-radius:0px 0px 0px 0px;-moz-border-radius:0px 0px 0px 0px;-ms-border-radius:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;-moz-box-shadow:0 0 0 0 #111111;-o-box-shadow:0 0 0 0 #111111;-webkit-box-shadow:0 0 0 0 #111111;-ms-box-shadow:0 0 0 0 #111111;box-shadow:0 0 0 0 #111111;}
|
||||
#sectionmain{margin:20px;font-size:0.8em;min-width:475px;width:67%;float:left;display:inline;}
|
||||
.tabs{margin:0px;padding:0px;list-style:none;list-style-position:inside;margin:10px 0;}.tabs li{display:inline;font-size:smaller;font-weight:bold;}
|
||||
.tab{border:1px solid #88a9d2;padding:4px;}.tab:hover,.tab.active:hover,.tab:active{background:#88a9d2;color:#2e2f2e;}
|
||||
|
@ -161,26 +174,26 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
.tab a{border:0;text-decoration:none;}
|
||||
.wall-item-outside-wrapper{border:1px solid #aaaaaa;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:5px 0 10px 0 #111111;-o-box-shadow:5px 0 10px 0 #111111;-webkit-box-shadow:5px 0 10px 0 #111111;-ms-box-shadow:5px 0 10px 0 #111111;box-shadow:5px 0 10px 0 #111111;}.wall-item-outside-wrapper.comment{margin-top:5px;}
|
||||
.wall-item-outside-wrapper-end{clear:both;}
|
||||
.wall-item-content-wrapper{position:relative;padding:10px;width:auto;}
|
||||
.wall-item-content-wrapper{position:relative;padding:0.75em;width:auto;}
|
||||
.wall-item-outside-wrapper .wall-item-comment-wrapper{}
|
||||
.shiny{background:#2e3436;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
|
||||
.wall-outside-wrapper .shiny{-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
|
||||
.heart{color:red;}
|
||||
.wall-item-content{overflow-x:auto;margin:0px 15px 0px 5px;}
|
||||
[id^="tread-wrapper"],[class^="tread-wrapper"]{margin:15px 0 0 0;padding:0px;}
|
||||
.wall-item-content{overflow-x:auto;margin:0px 4em 1em 5px;}
|
||||
[id^="tread-wrapper"],[class^="tread-wrapper"]{margin:1.2em 0 0 0;padding:0px;}
|
||||
.wall-item-photo-menu{display:none;}
|
||||
.wall-item-photo-menu-button{display:none;text-indent:-99999px;background:#555753 url(dark/menu-user-pin.jpg) no-repeat 75px center;position:absolute;overflow:hidden;width:90px;height:20px;top:85px;left:0;-o-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-ms-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;}
|
||||
.wall-item-info{float:left;width:110px;}
|
||||
.wall-item-photo-wrapper{width:80px;height:80px;position:relative;padding:5px;background-color:#555753;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
|
||||
[class^="wall-item-tools"] *{}[class^="wall-item-tools"] *>*{}
|
||||
.wall-item-tools{float:right;opacity:0.4;-webkit-transition:all 0.5s ease-in-out;-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-ms-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out;}.wall-item-tools:hover{opacity:1;-webkit-transition:all 0.5s ease-in-out;-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-ms-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out;}
|
||||
.wall-item-subtools1{width:30px;height:30px;list-style:none outside none;margin:20px 0 30px -20px;padding:0;}
|
||||
.wall-item-subtools2{width:25px;height:25px;list-style:none outside none;margin:-75px 0 0 5px;padding:0;}
|
||||
.wall-item-title{font-size:1.2em;font-weight:bold;margin-bottom:1em;}
|
||||
.wall-item-body{margin:20px 20px 10px 0px;text-align:left;overflow-x:auto;}
|
||||
.wall-item-subtools1{width:30px;height:30px;list-style:none outside none;margin:18px 0 30px -20px;padding:0;}
|
||||
.wall-item-subtools2{width:25px;height:25px;list-style:none outside none;margin:-78px 0 0 5px;padding:0;}
|
||||
.wall-item-title{font-size:1.2em;font-weight:bold;margin-bottom:1.4em;}
|
||||
.wall-item-body{margin:15px 10px 10px 0px;text-align:left;overflow-x:auto;}
|
||||
.wall-item-lock-wrapper{float:right;width:22px;height:22px;margin:0 -5px 0 0;opacity:1;}
|
||||
.wall-item-dislike,.wall-item-like{clear:left;font-size:0.8em;color:#888b85;margin:5px 0 5px 120px;}
|
||||
.wall-item-author,.wall-item-actions-author{clear:left;font-size:0.8em;color:#888b85;margin:20px 20px 0 110px;}
|
||||
.wall-item-dislike,.wall-item-like{clear:left;font-size:0.8em;color:#888b85;margin:5px 0 5px 10.2em;-webkit-transition:all 0.5s ease-in-out;-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-ms-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out;opacity:0.5;}.wall-item-dislike:hover,.wall-item-like:hover{opacity:1;}
|
||||
.wall-item-author,.wall-item-actions-author{clear:left;float:left;font-size:0.8em;color:#888b85;margin:1em auto 0 0.2em;}
|
||||
.wall-item-ago{display:inline;padding-left:10px;}
|
||||
.wall-item-wrapper-end{clear:both;}
|
||||
.wall-item-location{margin-top:15px;width:100px;overflow:hidden;-moz-text-overflow:ellipsis;-ms-text-verflow:ellipsis;-o-text-overflow:ellipsis;-webkit-text-overflow:ellipsis;text-overflow:ellipsis;}.wall-item-location .icon{float:left;}
|
||||
|
@ -192,13 +205,13 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
.wall-item-photo-menu{min-width:92px;border:2px solid #ffffff;border-top:0px;background:#555753;position:absolute;left:-2px;top:101px;display:none;z-index:10003;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}.wall-item-photo-menu li a{white-space:nowrap;display:block;padding:5px 2px;color:#eeeeee;}.wall-item-photo-menu li a:hover{color:#555753;background:#eeeeee;}
|
||||
#item-delete-selected{overflow:auto;width:100%;}
|
||||
#connect-services-header,#connect-services,#extra-help-header,#extra-help,#postit-header,#postit{margin:5px 0 0 0;}
|
||||
.ccollapse-wrapper{font-size:0.9em;margin-left:80px;}
|
||||
.wall-item-outside-wrapper.comment{margin-left:80px;}.wall-item-outside-wrapper.comment .wall-item-photo{width:40px !important;height:40px !important;}
|
||||
.ccollapse-wrapper{font-size:0.9em;margin-left:5em;}
|
||||
.wall-item-outside-wrapper.comment{margin-left:5em;}.wall-item-outside-wrapper.comment .wall-item-photo{width:40px !important;height:40px !important;}
|
||||
.wall-item-outside-wrapper.comment .wall-item-photo-wrapper{width:40px;height:40px;}
|
||||
.wall-item-outside-wrapper.comment .wall-item-photo-menu-button{width:50px;top:45px;background-position:35px center;}
|
||||
.wall-item-outside-wrapper.comment .wall-item-info{width:60px;}
|
||||
.wall-item-outside-wrapper.comment .wall-item-body{margin-left:10px;}
|
||||
.wall-item-outside-wrapper.comment .wall-item-author{margin-left:50px;}
|
||||
.wall-item-outside-wrapper.comment .wall-item-author{margin-left:0.2em;}
|
||||
.wall-item-outside-wrapper.comment .wall-item-photo-menu{min-width:50px;top:60px;}
|
||||
.comment-wwedit-wrapper{}
|
||||
.comment-edit-wrapper{border-top:1px #aaa solid;}
|
||||
|
@ -206,7 +219,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
.comment-wwedit-wrapper img,.comment-edit-wrapper img{width:20px;height:20px;}
|
||||
.comment-edit-photo-link,.comment-edit-photo{margin-left:10px;}
|
||||
.my-comment-photo{width:40px;height:40px;padding:5px;}
|
||||
[class^="comment-edit-text"]{margin:5px 0 10px 20px;width:84.5%;}
|
||||
[class^="comment-edit-text"]{margin:5px 0 10px 20px;width:94%;}
|
||||
.comment-edit-text-empty{height:20px;border:2px #c8bebe solid;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;color:#c8bebe;-webkit-transition:all 0.5s ease-in-out;-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-ms-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out;}.comment-edit-text-empty:hover{color:#999999;}
|
||||
.comment-edit-text-full{height:10em;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-webkit-transition:all 0.5s ease-in-out;-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-ms-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out;}
|
||||
.comment-edit-submit-wrapper{width:90%;margin:5px 5px 10px 50px;text-align:right;}
|
||||
|
@ -395,7 +408,7 @@ div[id$="wrapper"]{height:100%;margin-bottom:1em;}div[id$="wrapper"] br{clear:le
|
|||
#adminpage .selectall{text-align:right;}
|
||||
#adminpage #users a{color:#eeeecc;text-decoration:underline;}
|
||||
#users .name{color:#eeeecc;}
|
||||
.field{overflow:auto;}.field label{width:38%;display:inline-block;font-size:1.077em;margin:0 10px 1em 0;border:1px #2e2f2e solid;padding:5px;background:#eeeecc;color:#111;}
|
||||
.field{overflow:auto;}.field label{width:38%;display:inline-block;margin:0 10px 1em 0;border:1px #2e2f2e solid;padding:5px;background:#eeeecc;color:#111;}
|
||||
.field .onoff{float:right;margin:0 330px 0 auto;width:80px;}.field .onoff a{display:block;border:1px solid #666666;padding:3px 6px 4px 10px;height:16px;text-decoration:none;}
|
||||
.field .onoff .on,.field .onoff .off{background-image:url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAUACIDASIAAhEBAxEB/8QAGgABAQACAwAAAAAAAAAAAAAAAAQDBQEGCf/EACgQAAIBAwIFAwUAAAAAAAAAAAECAAMEERIUBRMxUpEhIoEjM1Nxkv/EABcBAAMBAAAAAAAAAAAAAAAAAAABAgT/xAAaEQEAAgMBAAAAAAAAAAAAAAAAAQIRMVES/9oADAMBAAIRAxEAPwD1ERKFNFVaNNVUYACgACcNVt1dEKUwzZwNI9cSDczDVdnuKDjomrPyJOQ2SXNq/L0rTPMzp9vXHWZfo/jT+RNFQV6e2yPt6s/Ms3EWQofhnDqjszWFqzMcljRUknxEn3ES/dup8xxPZ0hXtKFViQzorEDpkiZtqvc3mIkzs40bVe5vMbVe5vMREbrN3xy4t7utSVaZVHZQSDnAP7iIm+K1xpkm09f/2Q==');background-repeat:no-repeat;}
|
||||
.field .onoff .on{background-position:42px 1px;background-color:#999999;color:#111111;text-align:left;}
|
||||
|
@ -404,10 +417,6 @@ div[id$="wrapper"]{height:100%;margin-bottom:1em;}div[id$="wrapper"] br{clear:le
|
|||
.field textarea{width:80%;height:100px;}
|
||||
.field_help{display:block;margin-left:297px;color:#b1b1b1;}
|
||||
.field.radio .field_help{margin-left:297px;}
|
||||
label{width:38%;display:inline-block;font-size:1.077em;margin:0 10px 1em 0;border:1px solid #2e2f2e;padding:5px;background:#eeeecc;color:#111111;-moz-box-shadow:3px 3px 5px 0px #111111;-o-box-shadow:3px 3px 5px 0px #111111;-webkit-box-shadow:3px 3px 5px 0px #111111;-ms-box-shadow:3px 3px 5px 0px #111111;box-shadow:3px 3px 5px 0px #111111;}
|
||||
input{width:250px;height:25px;border:1px solid #999999;}input[type="checkbox"],input[type="radio"]{margin:0;width:15px;height:15px;}
|
||||
input[type="submit"],input[type="button"]{background-color:#eeeeee;border:2px outset #b1b1b1;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 3px 4px 0 #111111;-o-box-shadow:1px 3px 4px 0 #111111;-webkit-box-shadow:1px 3px 4px 0 #111111;-ms-box-shadow:1px 3px 4px 0 #111111;box-shadow:1px 3px 4px 0 #111111;color:#2e302e;cursor:pointer;font-weight:bold;width:auto;-moz-text-shadow:1px 1px #111111;-o-text-shadow:1px 1px #111111;-webkit-text-shadow:1px 1px #111111;-ms-text-shadow:1px 1px #111111;text-shadow:1px 1px #111111;}
|
||||
input[type="submit"]:active,input[type="button"]:active{-moz-box-shadow:0 0 0 0 #111111;-o-box-shadow:0 0 0 0 #111111;-webkit-box-shadow:0 0 0 0 #111111;-ms-box-shadow:0 0 0 0 #111111;box-shadow:0 0 0 0 #111111;}
|
||||
.popup{width:100%;height:100%;top:0px;left:0px;position:absolute;display:none;}.popup .background{background-color:#111111;opacity:0.5;width:100%;height:100%;position:absolute;top:0px;left:0px;}
|
||||
.popup .panel{top:25%;left:25%;width:50%;height:50%;padding:1em;position:absolute;border:4px solid #000000;background-color:white;}
|
||||
#panel{z-index:100;}
|
||||
|
@ -488,6 +497,7 @@ input[type="submit"]:active,input[type="button"]:active{-moz-box-shadow:0 0 0 0
|
|||
footer{display:block;clear:both;}
|
||||
#profile-jot-text{height:20px;color:#eeeecc;border:1px solid #eeeecc;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;width:99.5%;}
|
||||
#photo-edit-perms-select,#photos-upload-permissions-wrapper,#profile-jot-acl-wrapper{display:block !important;background:#2e2f2e;color:#eeeecc;}
|
||||
#profile-jot-acl-wrapper{margin:0 10px;border:1px solid #555753;border-top:0;}
|
||||
#acl-wrapper{width:660px;margin:0 auto;}
|
||||
#acl-search{float:right;background:#ffffff url("../../../images/search_18.png") no-repeat right center;padding-right:20px;margin:6px;color:#111111;}
|
||||
#acl-showall{float:left;display:block;width:auto;height:18px;background:#eeeecc url("../../../images/show_all_off.png") 8px 8px no-repeat;padding:7px 10px 7px 30px;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;color:#999999;margin:5px 0;}#acl-showall.selected{color:black;background:#ff9900 url(../../../images/show_all_on.png) 8px 8px no-repeat;}
|
||||
|
@ -513,4 +523,4 @@ footer{display:block;clear:both;}
|
|||
#sidebar-page-list ul{padding:0;margin:5px 0;}
|
||||
#sidebar-page-list li{list-style:none;}
|
||||
#jappix_mini{margin-left:130px;position:fixed;bottom:0;right:175px !important;z-index:999;}
|
||||
@media handheld{body{font-size:15pt;}}@media only screen and (min-device-width:320px) and (max-device-width:480px){body{font-size:10px;}}@media only screen and (min-width:321px){body{font-size:10px;}}@media only screen and (max-width:320px){body{font-size:10px;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px){body{font-size:16px;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape){body{font-size:16px;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:portrait){body{font-size:16px;}}@media only screen and (min-width:1024px){body{font-size:16px;}}@media only screen and (min-width:1520px){body{font-size:18px;}}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){body{font-size:16px;}}
|
||||
@media handheld and screen{body{font-size:15pt;}}@media only screen and (min-device-width:320px) and (max-device-width:480px){body{font-size:12pt;}}@media only screen and (min-width:321px){body{font-size:12pt;}}@media only screen and (max-width:320px){body{font-size:12pt;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px){body{font-size:14pt;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape){body{font-size:14pt;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:portrait){body{font-size:14pt;}}@media only screen and (min-width:1024px){body{font-size:14pt;}}@media only screen and (min-width:1520px){body{font-size:16pt;}}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){body{font-size:14pt;}}
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/*
|
||||
* dispy-dark
|
||||
*
|
||||
* dispy dark
|
||||
* Description: Dispy Dark: dark, sleek, functional
|
||||
* author, maintainer: simon <http://simon.kisikew.org/>
|
||||
*
|
||||
* Author's notes:
|
||||
* A few things of note here. The less file is our working copy,
|
||||
* and the CSS is *generated* from it. The CSS is the one that's
|
||||
* included in the HTML, and not the less one. This is to save
|
||||
* bandwidth and processing time.
|
||||
* bandwidth and processing time, by not including less.js.
|
||||
*/
|
||||
/* from html5boilerplate */
|
||||
/* these are to tell browsers they should be displayed a certain way */
|
||||
|
||||
@import "_base";
|
||||
|
||||
///* from html5boilerplate */
|
||||
///* these are to tell browsers they should be displayed a certain way */
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
|
@ -37,12 +37,12 @@ time {
|
|||
audio:not([controls]), [hidden] {
|
||||
display: none;
|
||||
}
|
||||
/*
|
||||
* 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
|
||||
* 2. Force vertical scrollbar in non-IE
|
||||
* 3. Prevent iOS text size adjust on device orientation change,
|
||||
* without disabling user zoom: h5bp.com/g
|
||||
*/
|
||||
///*
|
||||
// * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
|
||||
// * 2. Force vertical scrollbar in non-IE
|
||||
// * 3. Prevent iOS text size adjust on device orientation change,
|
||||
// * without disabling user zoom: h5bp.com/g
|
||||
// */
|
||||
html {
|
||||
font-size: 100%;
|
||||
overflow-y: scroll;
|
||||
|
@ -61,11 +61,13 @@ button, input, select, textarea {
|
|||
background-color: @bg_colour;
|
||||
}
|
||||
select {
|
||||
border: 1px #555 dotted;
|
||||
.borders(1px, dotted, darken(@main_alt_colour, 60%));
|
||||
padding: 1px;
|
||||
margin: 3px;
|
||||
color: @main_colour;
|
||||
background: @bg_colour;
|
||||
max-width: 85%;
|
||||
min-width: 85px;
|
||||
}
|
||||
option {
|
||||
padding: 1px;
|
||||
|
@ -76,13 +78,10 @@ option {
|
|||
background: @main_colour;
|
||||
}
|
||||
}
|
||||
ul, ol {
|
||||
.list_reset;
|
||||
}
|
||||
tr:nth-child(even) {
|
||||
background-color: lighten(@bg_colour, 10%);
|
||||
}
|
||||
/* remember to define focus styles! */
|
||||
///* remember to define focus styles! */
|
||||
:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
@ -90,7 +89,7 @@ tr:nth-child(even) {
|
|||
background: @med_bg_colour;
|
||||
color: @disabled_colour;
|
||||
}
|
||||
/* remember to highlight inserts somehow! */
|
||||
///* remember to highlight inserts somehow! */
|
||||
ins, mark {
|
||||
background-color: @bg_alt_colour;
|
||||
color: @lt_main_colour;
|
||||
|
@ -102,14 +101,19 @@ mark {
|
|||
font-style: italic;
|
||||
font-weight: bold;
|
||||
}
|
||||
/* Redeclare monospace font family: h5bp.com/j */
|
||||
pre, code, kbd, samp, .wall-item-body code {
|
||||
///* Redeclare monospace font family: h5bp.com/j */
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp,
|
||||
.wall-item-body code {
|
||||
font-family: monospace, monospace;
|
||||
_font-family: monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
/* Improve readability of pre-formatted text in all browsers */
|
||||
pre, .wall-item-body code {
|
||||
///* Improve readability of pre-formatted text in all browsers */
|
||||
pre,
|
||||
.wall-item-body code {
|
||||
.wrap;
|
||||
}
|
||||
q {
|
||||
|
@ -122,7 +126,8 @@ q {
|
|||
small {
|
||||
font-size: 85%;
|
||||
}
|
||||
/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
|
||||
///* Position subscript and superscript content without affecting
|
||||
// * line-height: h5bp.com/k */
|
||||
sub, sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
|
@ -151,13 +156,57 @@ a {
|
|||
}
|
||||
}
|
||||
blockquote {
|
||||
background: #444;
|
||||
background: darken(@main_alt_colour, 66.5%);
|
||||
color: @main_colour;
|
||||
text-indent: 5px;
|
||||
padding: 5px;
|
||||
border: 1px #aaa solid;
|
||||
.borders(1px, solid, darken(@main_alt_colour, 33%));
|
||||
.rounded_corners;
|
||||
}
|
||||
label {
|
||||
width: 38%;
|
||||
display: inline-block;
|
||||
font-size: 0.95em;
|
||||
margin: 0 10px 1em 0;
|
||||
.borders(1px, solid, @bg_colour);
|
||||
padding: 5px;
|
||||
background: @main_colour;
|
||||
color: darken(@main_alt_colour, 86.5%);
|
||||
.box_shadow(3px, 3px, 5px);
|
||||
}
|
||||
input {
|
||||
.box(250px, 25px);
|
||||
.borders(1px, solid, darken(@main_alt_colour, 33.5%));
|
||||
&[type="checkbox"],
|
||||
&[type="radio"] {
|
||||
margin: 0;
|
||||
.box(15px, 15px);
|
||||
}
|
||||
&[type="submit"],
|
||||
&[type="button"] {
|
||||
background-color: @main_alt_colour;
|
||||
.borders(2px, outset, darken(@main_alt_colour, 24%));
|
||||
.rounded_corners;
|
||||
.box_shadow(1px, 3px, 4px, 0);
|
||||
color: @bg_alt_colour;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
width: auto;
|
||||
.text_shadow;
|
||||
}
|
||||
&[type="submit"]:active,
|
||||
&[type="button"]:active {
|
||||
.box_shadow(0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
h1, h2, h3,
|
||||
h4, h5, h6 {
|
||||
margin: 10px 0px;
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid @hover_colour;
|
||||
}
|
||||
|
||||
//
|
||||
.required {
|
||||
display: inline;
|
||||
color: #ff0;
|
||||
|
@ -188,6 +237,8 @@ blockquote {
|
|||
display: block;
|
||||
clear: both;
|
||||
text-align: center;
|
||||
font-size: small;
|
||||
font-weight: bold;
|
||||
span {
|
||||
padding: 4px;
|
||||
margin: 4px;
|
||||
|
@ -195,7 +246,7 @@ blockquote {
|
|||
}
|
||||
.pager_current {
|
||||
background-color: @link_colour;
|
||||
color: @main_alt_colour;
|
||||
color: @bg_colour;
|
||||
}
|
||||
|
||||
|
||||
|
@ -219,9 +270,10 @@ blockquote {
|
|||
background: @main_colour;
|
||||
.rounded_corners;
|
||||
.box_shadow(3px, 3px, 5px);
|
||||
padding: 3px;
|
||||
margin: 5px 0;
|
||||
margin: 3px 10px 7px 0;
|
||||
padding: 6px 7px;
|
||||
font-weight: bold;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
|
||||
|
@ -276,7 +328,8 @@ blockquote {
|
|||
overflow: hidden !important; }
|
||||
label {
|
||||
width: 180px !important;
|
||||
} }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
@ -315,6 +368,8 @@ ul#user-menu-popup {
|
|||
margin: 0px;
|
||||
top: 20px;
|
||||
left: 0;
|
||||
font-size: small;
|
||||
line-height: 1;
|
||||
.rounded_corners(0 0 5px 5px);
|
||||
.box_shadow(5px, 5px, 10px, 0px);
|
||||
z-index: 10000;
|
||||
|
@ -378,7 +433,8 @@ nav .nav-link {
|
|||
&:hover {
|
||||
background-position: -66px -88px; }
|
||||
}
|
||||
#nav-notify-link, #nav-notifications-linkmenu {
|
||||
#nav-notify-link,
|
||||
#nav-notifications-linkmenu {
|
||||
background-position: -44px -110px;
|
||||
}
|
||||
#nav-notify-link:hover {
|
||||
|
@ -417,9 +473,7 @@ nav .nav-link {
|
|||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* popup notifications */
|
||||
|
||||
//* popup notifications */
|
||||
div.jGrowl div {
|
||||
&.notice {
|
||||
background: @notice url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
|
@ -434,7 +488,6 @@ div.jGrowl div {
|
|||
margin-top: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
#nav-notifications-menu {
|
||||
margin: 30px 0 0 -20px;
|
||||
width: 275px;
|
||||
|
@ -458,9 +511,9 @@ div.jGrowl div {
|
|||
}
|
||||
a:hover {
|
||||
color: black;
|
||||
text-decoration: underline; }
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
nav #nav-notifications-linkmenu {
|
||||
&.on .icon.s22.notify,
|
||||
&.selected .icon.s22.notify {
|
||||
|
@ -473,9 +526,10 @@ nav #nav-notifications-linkmenu {
|
|||
}
|
||||
#notifications {
|
||||
.box(170px, 20px);
|
||||
position: absolute;
|
||||
font-size: small;
|
||||
top: -19px;
|
||||
left: 4px;
|
||||
position: absolute;
|
||||
}
|
||||
#nav-floater {
|
||||
position: fixed;
|
||||
|
@ -560,7 +614,7 @@ nav #nav-notifications-linkmenu {
|
|||
}
|
||||
}
|
||||
#user-menu-label {
|
||||
font-size: 12px;
|
||||
font-size: small;
|
||||
padding: 3px 20px 9px 5px;
|
||||
height: 10px;
|
||||
}
|
||||
|
@ -700,7 +754,7 @@ nav #nav-notifications-linkmenu {
|
|||
*/
|
||||
#asidemain {
|
||||
float: left;
|
||||
font-size: smaller;
|
||||
font-size: 0.75em;
|
||||
margin: 20px 0 20px 35px;
|
||||
width: 25%;
|
||||
display: inline;
|
||||
|
@ -712,9 +766,9 @@ nav #nav-notifications-linkmenu {
|
|||
}
|
||||
.vcard {
|
||||
.fn {
|
||||
font-size: 1.7em;
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #729fcf;
|
||||
border-bottom: 1px solid @hover_colour;
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
#profile-photo-wrapper {
|
||||
|
@ -746,7 +800,8 @@ nav #nav-notifications-linkmenu {
|
|||
background: @main_colour;
|
||||
color: @bg_colour;
|
||||
font-weight: bold;
|
||||
.box_shadow(1px 1px 5px 0);
|
||||
.box_shadow(3px, 3px, 5px);
|
||||
.rounded_corners;
|
||||
margin: 15px 0 5px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
@ -981,14 +1036,6 @@ nav #nav-notifications-linkmenu {
|
|||
.rounded_corners;
|
||||
overflow: hidden;
|
||||
}
|
||||
#profile-jot-acl-wrapper {
|
||||
margin: 0 10px;
|
||||
.borders(1px, solid, darken(@main_alt_colour, 60%));
|
||||
border-top: 0;
|
||||
display: block !important;
|
||||
.borders(1px solid @menu_bg_colour);
|
||||
.box_shadow;
|
||||
}
|
||||
#group_allow_wrapper,
|
||||
#group_deny_wrapper,
|
||||
#acl-permit-outer-wrapper,
|
||||
|
@ -1046,10 +1093,12 @@ nav #nav-notifications-linkmenu {
|
|||
color: @main_colour;
|
||||
.borders(1px, solid, @main_colour);
|
||||
.rounded_corners;
|
||||
.box_shadow(5px, 0, 10px);
|
||||
padding: 3px 3px 6px 10px;
|
||||
.wall-item-outside-wrapper {
|
||||
border: 0;
|
||||
.rounded_corners(0px 0px 0px 0px);
|
||||
.box_shadow(0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1115,7 +1164,7 @@ nav #nav-notifications-linkmenu {
|
|||
}
|
||||
.wall-item-content-wrapper {
|
||||
position: relative;
|
||||
padding: 10px;
|
||||
padding: 0.75em;
|
||||
width: auto;
|
||||
}
|
||||
.wall-item-outside-wrapper .wall-item-comment-wrapper {
|
||||
|
@ -1133,10 +1182,11 @@ nav #nav-notifications-linkmenu {
|
|||
}
|
||||
.wall-item-content {
|
||||
overflow-x: auto;
|
||||
margin: 0px 15px 0px 5px;
|
||||
margin: 0px 4em 1em 5px;
|
||||
}
|
||||
[id^="tread-wrapper"], [class^="tread-wrapper"] {
|
||||
margin: 15px 0 0 0;
|
||||
[id^="tread-wrapper"],
|
||||
[class^="tread-wrapper"] {
|
||||
margin: 1.2em 0 0 0;
|
||||
padding: 0px;
|
||||
}
|
||||
.wall-item-photo-menu {
|
||||
|
@ -1182,22 +1232,22 @@ nav #nav-notifications-linkmenu {
|
|||
.wall-item-subtools1 {
|
||||
.box(30px, 30px);
|
||||
list-style: none outside none;
|
||||
margin: 20px 0 30px -20px;
|
||||
margin: 18px 0 30px -20px;
|
||||
padding: 0;
|
||||
}
|
||||
.wall-item-subtools2 {
|
||||
.box(25px, 25px);
|
||||
list-style: none outside none;
|
||||
margin: -75px 0 0 5px;
|
||||
margin: -78px 0 0 5px;
|
||||
padding: 0;
|
||||
}
|
||||
.wall-item-title {
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
margin-bottom: 1em;
|
||||
margin-bottom: 1.4em;
|
||||
}
|
||||
.wall-item-body {
|
||||
margin: 20px 20px 10px 0px;
|
||||
margin: 15px 10px 10px 0px;
|
||||
text-align: left;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
@ -1212,14 +1262,20 @@ nav #nav-notifications-linkmenu {
|
|||
clear: left;
|
||||
font-size: 0.8em;
|
||||
color: lighten(@menu_bg_colour, 20%);
|
||||
margin: 5px 0 5px 120px;
|
||||
margin: 5px 0 5px 10.2em;
|
||||
.transition;
|
||||
opacity: 0.5;
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
.wall-item-author,
|
||||
.wall-item-actions-author {
|
||||
clear: left;
|
||||
float: left;
|
||||
font-size: 0.8em;
|
||||
color: lighten(@menu_bg_colour, 20%);
|
||||
margin: 20px 20px 0 110px;
|
||||
margin: 1em auto 0 0.2em;
|
||||
}
|
||||
.wall-item-ago {
|
||||
display: inline;
|
||||
|
@ -1309,10 +1365,10 @@ nav #nav-notifications-linkmenu {
|
|||
*/
|
||||
.ccollapse-wrapper {
|
||||
font-size: 0.9em;
|
||||
margin-left: 80px;
|
||||
margin-left: 5em;
|
||||
}
|
||||
.wall-item-outside-wrapper.comment {
|
||||
margin-left: 80px;
|
||||
margin-left: 5em;
|
||||
.wall-item-photo {
|
||||
width: 40px !important;
|
||||
height: 40px !important;
|
||||
|
@ -1332,7 +1388,7 @@ nav #nav-notifications-linkmenu {
|
|||
margin-left: 10px;
|
||||
}
|
||||
.wall-item-author {
|
||||
margin-left: 50px;
|
||||
margin-left: 0.2em;
|
||||
}
|
||||
.wall-item-photo-menu {
|
||||
min-width: 50px;
|
||||
|
@ -1371,7 +1427,7 @@ nav #nav-notifications-linkmenu {
|
|||
|
||||
[class^="comment-edit-text"] {
|
||||
margin: 5px 0 10px 20px;
|
||||
width: 84.5%;
|
||||
width: 94%;
|
||||
}
|
||||
.comment-edit-text-empty {
|
||||
height: 20px;
|
||||
|
@ -2346,7 +2402,6 @@ div {
|
|||
label {
|
||||
width: 38%;
|
||||
display: inline-block;
|
||||
font-size: 1.077em;
|
||||
margin: 0 10px 1em 0;
|
||||
border: 1px @bg_colour solid;
|
||||
padding: 5px;
|
||||
|
@ -2396,42 +2451,6 @@ div {
|
|||
.field.radio .field_help {
|
||||
margin-left: 297px;
|
||||
}
|
||||
label {
|
||||
width: 38%;
|
||||
display: inline-block;
|
||||
font-size: 1.077em;
|
||||
margin: 0 10px 1em 0;
|
||||
.borders(1px, solid, @bg_colour);
|
||||
padding: 5px;
|
||||
background: @main_colour;
|
||||
color: darken(@main_alt_colour, 86.5%);
|
||||
.box_shadow(3px, 3px, 5px);
|
||||
}
|
||||
input {
|
||||
.box(250px, 25px);
|
||||
.borders(1px, solid, darken(@main_alt_colour, 33.5%));
|
||||
&[type="checkbox"],
|
||||
&[type="radio"] {
|
||||
margin: 0;
|
||||
.box(15px, 15px);
|
||||
}
|
||||
&[type="submit"],
|
||||
&[type="button"] {
|
||||
background-color: @main_alt_colour;
|
||||
.borders(2px, outset, darken(@main_alt_colour, 24%));
|
||||
.rounded_corners;
|
||||
.box_shadow(1px, 3px, 4px, 0);
|
||||
color: @bg_alt_colour;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
width: auto;
|
||||
.text_shadow;
|
||||
}
|
||||
&[type="submit"]:active,
|
||||
&[type="button"]:active {
|
||||
.box_shadow(0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
@ -2812,6 +2831,12 @@ footer {
|
|||
background: @bg_colour;
|
||||
color: @main_colour;
|
||||
}
|
||||
#profile-jot-acl-wrapper {
|
||||
margin: 0 10px;
|
||||
.borders(1px, solid, @menu_bg_colour);
|
||||
border-top: 0;
|
||||
// .box_shadow;
|
||||
}
|
||||
#acl-wrapper {
|
||||
width: 660px;
|
||||
margin: 0 auto;
|
||||
|
@ -2986,74 +3011,4 @@ footer {
|
|||
z-index: 999;
|
||||
}
|
||||
|
||||
|
||||
//* media stuff */
|
||||
@media handheld {
|
||||
body {
|
||||
font-size: 15pt;
|
||||
}
|
||||
}
|
||||
//* Smartphones (portrait and landscape) ----------- */
|
||||
@media only screen and (min-device-width: 320px)
|
||||
and (max-device-width: 480px) {
|
||||
body {
|
||||
font-size: 10px;
|
||||
}
|
||||
}
|
||||
//* Smartphones (landscape) ----------- */
|
||||
@media only screen and (min-width: 321px) {
|
||||
body {
|
||||
font-size: 10px;
|
||||
}
|
||||
}
|
||||
//* Smartphones (portrait) ----------- */
|
||||
@media only screen and (max-width: 320px) {
|
||||
body {
|
||||
font-size: 10px;
|
||||
}
|
||||
}
|
||||
//* iPads (portrait and landscape) ----------- */
|
||||
@media only screen and (min-device-width: 768px)
|
||||
and (max-device-width: 1024px) {
|
||||
body {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
//* iPads (landscape) ----------- */
|
||||
@media only screen and (min-device-width: 768px)
|
||||
and (max-device-width: 1024px)
|
||||
and (orientation: landscape) {
|
||||
body {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
//* iPads (portrait) ----------- */
|
||||
@media only screen and (min-device-width: 768px)
|
||||
and (max-device-width: 1024px)
|
||||
and (orientation: portrait) {
|
||||
body {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
//* Desktops and laptops ----------- */
|
||||
//adjusted to 1024 from 1224.
|
||||
//not everybody has a fucking big screen ffs
|
||||
@media only screen and (min-width: 1024px) {
|
||||
body {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
//* Large screens - */
|
||||
@media only screen and (min-width: 1520px) {
|
||||
body {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
//* iPhone 4 ----------- */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
|
||||
only screen and (min-device-pixel-ratio: 1.5) {
|
||||
body {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
@import "../css/media";
|
||||
|
|
|
@ -24,8 +24,8 @@ function initEditor(cb) {
|
|||
mode : "specific_textareas",
|
||||
editor_selector: $editselect,
|
||||
auto_focus: "profile-jot-text",
|
||||
plugins : "bbcode,paste,fullscreen,autoresize,inlinepopups",
|
||||
theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code,fullscreen",
|
||||
plugins : "bbcode,paste,fullscreen,autoresize,inlinepopups,contextmenu,style",
|
||||
theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code,fullscreen,charmap",
|
||||
theme_advanced_buttons2 : "",
|
||||
theme_advanced_buttons3 : "",
|
||||
theme_advanced_toolbar_location : "top",
|
||||
|
@ -98,7 +98,6 @@ function initEditor(cb) {
|
|||
$(".jothidden").show();
|
||||
if (typeof cb!="undefined") cb();
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
editor = true;
|
||||
|
@ -155,8 +154,6 @@ function enableOnUser(){
|
|||
}
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
});
|
||||
|
||||
function deleteCheckedItems() {
|
||||
|
@ -345,5 +342,4 @@ function enableOnUser(){
|
|||
});
|
||||
$('#profile-jot-text').keyup();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
|
|
@ -59,7 +59,8 @@ select {
|
|||
padding: 3px;
|
||||
margin: 3px;
|
||||
color: #222;
|
||||
background: #eee; }
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
option {
|
||||
padding: 3px;
|
||||
|
@ -67,13 +68,13 @@ option {
|
|||
background: #eee;
|
||||
&[selected="selected"] {
|
||||
color: #111;
|
||||
background: #cca; } }
|
||||
|
||||
background: #cca; }
|
||||
}
|
||||
ul, ol {
|
||||
padding: 0; }
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* remember to define focus styles! */
|
||||
|
||||
:focus {
|
||||
outline: 0; }
|
||||
|
||||
|
|
|
@ -2,13 +2,21 @@
|
|||
|
||||
/*
|
||||
* Name: Dispy
|
||||
* Description: <p style="white-space:pre;"> Dispy: Light, Spartan, Sleek, and Functional<br /> Dispy Dark: Dark, Spartan, Sleek, and Functional</p>
|
||||
* Version: 1.2
|
||||
* Description: Dispy family (light, dark): Sleek and Functional Themes
|
||||
* Version: 1.2.1
|
||||
* Author: Simon <http://simon.kisikew.org/>
|
||||
* Maintainer: Simon <http://simon.kisikew.org/>
|
||||
* Screenshot: <a href="screenshot.jpg">Screenshot</a>
|
||||
*/
|
||||
|
||||
/* If you borrow any of these functions, make sure to
|
||||
* RENAME your functions, otherwise both themes get conflicts,
|
||||
* and the friendica instance will get HTTP 500 errors.
|
||||
* To paraphrase Mike: "Might wish to wrap
|
||||
* function_name with "if(! function_exists('function_name')) ... "
|
||||
* or rename to prefix1_function_name (prefix2_function_name), etc.
|
||||
*/
|
||||
|
||||
$a = get_app();
|
||||
$a->theme_info = array(
|
||||
'family' => 'dispy',
|
||||
|
@ -165,7 +173,7 @@ EOT;
|
|||
$a->page['htmlhead'] .= sprintf('<link rel="stylesheet" type="text/css" href="%s" />', $cssFile);
|
||||
}
|
||||
|
||||
js_in_foot();
|
||||
_js_in_foot();
|
||||
}
|
||||
|
||||
function dispy_community_info() {
|
||||
|
@ -179,13 +187,15 @@ function dispy_community_info() {
|
|||
return $a->page['aside_bottom'] = replace_macros($tpl, $aside);
|
||||
}
|
||||
|
||||
function js_in_foot() {
|
||||
/** @purpose insert stuff in bottom of page
|
||||
*/
|
||||
$a = get_app();
|
||||
$baseurl = $a->get_baseurl($ssl_state);
|
||||
$bottom['$baseurl'] = $baseurl;
|
||||
$tpl = file_get_contents(dirname(__file__) . '/bottom.tpl');
|
||||
if(! function_exists('_js_in_foot')) {
|
||||
function _js_in_foot() {
|
||||
/** @purpose insert stuff in bottom of page
|
||||
*/
|
||||
$a = get_app();
|
||||
$baseurl = $a->get_baseurl($ssl_state);
|
||||
$bottom['$baseurl'] = $baseurl;
|
||||
$tpl = file_get_contents(dirname(__file__) . '/bottom.tpl');
|
||||
|
||||
return $a->page['bottom'] = replace_macros($tpl, $bottom);
|
||||
return $a->page['bottom'] = replace_macros($tpl, $bottom);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue