Merge branch 'master' of git://github.com/friendica/friendica
This commit is contained in:
commit
10db2f00f9
80 changed files with 8705 additions and 1220 deletions
12
boot.php
12
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.1332' );
|
||||
define ( 'FRIENDICA_VERSION', '3.0.1338' );
|
||||
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
||||
define ( 'DB_UPDATE_VERSION', 1143 );
|
||||
|
||||
|
@ -29,6 +29,12 @@ define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
|||
|
||||
define ( 'JPEG_QUALITY', 100 );
|
||||
|
||||
/**
|
||||
* Not yet used
|
||||
*/
|
||||
|
||||
define ( 'DEFAULT_DB_ENGINE', 'MyISAM' );
|
||||
|
||||
/**
|
||||
* SSL redirection policies
|
||||
*/
|
||||
|
@ -117,6 +123,8 @@ define ( 'NETWORK_XMPP', 'xmpp'); // XMPP
|
|||
define ( 'NETWORK_MYSPACE', 'mysp'); // MySpace
|
||||
define ( 'NETWORK_GPLUS', 'goog'); // Google+
|
||||
|
||||
define ( 'NETWORK_PHANTOM', 'unkn'); // Place holder
|
||||
|
||||
/**
|
||||
* These numbers are used in stored permissions
|
||||
* and existing allocations MUST NEVER BE CHANGED
|
||||
|
@ -136,6 +144,8 @@ $netgroup_ids = array(
|
|||
NETWORK_XMPP => (-10),
|
||||
NETWORK_MYSPACE => (-11),
|
||||
NETWORK_GPLUS => (-12),
|
||||
|
||||
NETWORK_PHANTOM => (-127),
|
||||
);
|
||||
|
||||
|
||||
|
|
|
@ -183,7 +183,8 @@ function common_friends_visitor_widget($profile_uid) {
|
|||
'$desc' => sprintf( tt("%d contact in common", "%d contacts in common", $t), $t),
|
||||
'$base' => $a->get_baseurl(),
|
||||
'$uid' => $profile_uid,
|
||||
'$cid' => $cid,
|
||||
'$cid' => (($cid) ? $cid : '0'),
|
||||
'$linkmore' => (($t > 5) ? 'true' : ''),
|
||||
'$more' => t('show more'),
|
||||
'$items' => $r
|
||||
));
|
||||
|
|
|
@ -278,6 +278,9 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
|
|||
else
|
||||
$nickname = $a->user['nickname'];
|
||||
|
||||
// prevent private email from leaking.
|
||||
if($item['network'] === NETWORK_MAIL && local_user() != $item['uid'])
|
||||
continue;
|
||||
|
||||
$profile_name = ((strlen($item['author-name'])) ? $item['author-name'] : $item['name']);
|
||||
if($item['author-link'] && (! $item['author-name']))
|
||||
|
@ -447,8 +450,8 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
|
|||
else {
|
||||
|
||||
// prevent private email reply to public conversation from leaking.
|
||||
if($item['private'] && ! $threads[$threadsid]['private'])
|
||||
continue;
|
||||
if($item['network'] === NETWORK_MAIL && local_user() != $item['uid'])
|
||||
continue;
|
||||
|
||||
$comments_seen ++;
|
||||
$comment_lastcollapsed = false;
|
||||
|
@ -959,7 +962,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
|
|||
$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
|
||||
|
||||
$o .= replace_macros($tpl,array(
|
||||
'$return_path' => $a->cmd,
|
||||
'$return_path' => $a->query_string,
|
||||
'$action' => $a->get_baseurl(true) . '/item',
|
||||
'$share' => (x($x,'button') ? $x['button'] : t('Share')),
|
||||
'$upload' => t('Upload photo'),
|
||||
|
|
|
@ -347,7 +347,10 @@ function delivery_run($argv, $argc){
|
|||
}
|
||||
}
|
||||
|
||||
$deliver_status = dfrn_deliver($owner,$contact,$atom);
|
||||
if(! was_recently_delayed($contact['id']))
|
||||
$deliver_status = dfrn_deliver($owner,$contact,$atom);
|
||||
else
|
||||
$deliver_status = (-1);
|
||||
|
||||
logger('notifier: dfrn_delivery returns ' . $deliver_status);
|
||||
|
||||
|
@ -390,7 +393,11 @@ function delivery_run($argv, $argc){
|
|||
logger('notifier: slapdelivery: ' . $contact['name']);
|
||||
foreach($slaps as $slappy) {
|
||||
if($contact['notify']) {
|
||||
$deliver_status = slapper($owner,$contact['notify'],$slappy);
|
||||
if(! was_recently_delayed($contact['id']))
|
||||
$deliver_status = slapper($owner,$contact['notify'],$slappy);
|
||||
else
|
||||
$deliver_status = (-1);
|
||||
|
||||
if($deliver_status == (-1)) {
|
||||
// queue message for redelivery
|
||||
add_to_queue($contact['id'],NETWORK_OSTATUS,$slappy);
|
||||
|
|
|
@ -2298,14 +2298,20 @@ function diaspora_transmit($owner,$contact,$slap,$public_batch) {
|
|||
|
||||
logger('diaspora_transmit: ' . $logid . ' ' . $dest_url);
|
||||
|
||||
if(! intval(get_config('system','diaspora_test')))
|
||||
post_url($dest_url . '/', $slap);
|
||||
if(was_recently_delayed($contact['id'])) {
|
||||
$return_code = 0;
|
||||
}
|
||||
else {
|
||||
logger('diaspora_transmit: test_mode');
|
||||
return 200;
|
||||
if(! intval(get_config('system','diaspora_test'))) {
|
||||
post_url($dest_url . '/', $slap);
|
||||
$return_code = $a->get_curl_code();
|
||||
}
|
||||
else {
|
||||
logger('diaspora_transmit: test_mode');
|
||||
return 200;
|
||||
}
|
||||
}
|
||||
|
||||
$return_code = $a->get_curl_code();
|
||||
logger('diaspora_transmit: ' . $logid . ' returns: ' . $return_code);
|
||||
|
||||
if((! $return_code) || (($return_code == 503) && (stristr($a->get_curl_headers(),'retry-after')))) {
|
||||
|
|
|
@ -32,7 +32,11 @@ function expire_run($argv, $argc){
|
|||
// physically remove anything that has been deleted for more than two months
|
||||
|
||||
$r = q("delete from item where deleted = 1 and changed < UTC_TIMESTAMP() - INTERVAL 60 DAY");
|
||||
q("optimize table item");
|
||||
|
||||
// make this optional as it could have a performance impact on large sites
|
||||
|
||||
if(intval(get_config('system','optimize_items')))
|
||||
q("optimize table item");
|
||||
|
||||
logger('expire: start');
|
||||
|
||||
|
|
|
@ -119,7 +119,7 @@ function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0)
|
|||
$check_date = datetime_convert('UTC','UTC',$last_update,'Y-m-d H:i:s');
|
||||
|
||||
$r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
|
||||
`contact`.`name`, `contact`.`photo`, `contact`.`url`,
|
||||
`contact`.`name`, `contact`.`network`, `contact`.`photo`, `contact`.`url`,
|
||||
`contact`.`name-date`, `contact`.`uri-date`, `contact`.`avatar-date`,
|
||||
`contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
|
||||
`contact`.`id` AS `contact-id`, `contact`.`uid` AS `contact-uid`,
|
||||
|
@ -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)
|
||||
);
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ function onepoll_run($argv, $argc){
|
|||
require_once('include/email.php');
|
||||
require_once('include/socgraph.php');
|
||||
require_once('include/pidfile.php');
|
||||
require_once('include/queue_fn.php');
|
||||
|
||||
load_config('config');
|
||||
load_config('system');
|
||||
|
@ -54,6 +55,9 @@ function onepoll_run($argv, $argc){
|
|||
return;
|
||||
}
|
||||
|
||||
if(was_recently_delayed($contact_id))
|
||||
return;
|
||||
|
||||
$d = datetime_convert();
|
||||
|
||||
// Only poll from those with suitable relationships,
|
||||
|
@ -452,7 +456,7 @@ function onepoll_run($argv, $argc){
|
|||
|
||||
if($xml) {
|
||||
logger('poller: received xml : ' . $xml, LOGGER_DATA);
|
||||
if(! strstr($xml,'<?xml')) {
|
||||
if((! strstr($xml,'<?xml')) && (! strstr($xml,'<rss'))) {
|
||||
logger('poller: post_handshake: response from ' . $url . ' did not contain XML.');
|
||||
$r = q("UPDATE `contact` SET `last-update` = '%s' WHERE `id` = %d LIMIT 1",
|
||||
dbesc(datetime_convert()),
|
||||
|
|
|
@ -70,8 +70,10 @@ function reload_plugins() {
|
|||
$installed = array();
|
||||
|
||||
$parr = explode(',',$plugins);
|
||||
|
||||
if(count($parr)) {
|
||||
foreach($parr as $pl) {
|
||||
|
||||
$pl = trim($pl);
|
||||
|
||||
$fname = 'addon/' . $pl . '/' . $pl . '.php';
|
||||
|
@ -101,6 +103,7 @@ function reload_plugins() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
|
||||
|
@ -163,6 +166,14 @@ function call_hooks($name, &$data = null) {
|
|||
$func = $hook[HOOK_FUNCTION];
|
||||
$func($a,$data);
|
||||
}
|
||||
else {
|
||||
// remove orphan hooks
|
||||
q("delete from hook where hook = '%s' and file = '$s' and function = '%s' limit 1",
|
||||
dbesc($hook[HOOK_HOOK]),
|
||||
dbesc($hook[HOOK_FILE]),
|
||||
dbesc($hook[HOOK_FUNCTION])
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -126,7 +126,9 @@ function poller_run($argv, $argc){
|
|||
$force = true;
|
||||
}
|
||||
|
||||
$interval = ((get_config('system','delivery_interval') === false) ? 3 : intval(get_config('system','delivery_interval')));
|
||||
$interval = intval(get_config('system','poll_interval'));
|
||||
if(! $interval)
|
||||
$interval = ((get_config('system','delivery_interval') === false) ? 3 : intval(get_config('system','delivery_interval')));
|
||||
|
||||
$sql_extra = (($manual_id) ? " AND `id` = $manual_id " : "");
|
||||
|
||||
|
|
|
@ -15,6 +15,17 @@ function remove_queue_item($id) {
|
|||
);
|
||||
}
|
||||
|
||||
function was_recently_delayed($cid) {
|
||||
|
||||
$r = q("SELECT `id` FROM `queue` WHERE `cid` = %d
|
||||
and last > UTC_TIMESTAMP() - interval 15 minute limit 1",
|
||||
intval($cid)
|
||||
);
|
||||
if(count($r))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
function add_to_queue($cid,$network,$msg,$batch = false) {
|
||||
|
||||
|
|
|
@ -1524,3 +1524,9 @@ function fix_mce_lf($s) {
|
|||
$s = str_replace("\n\n","\n",$s);
|
||||
return $s;
|
||||
}
|
||||
|
||||
|
||||
function protect_sprintf($s) {
|
||||
return(str_replace('%','%%',$s));
|
||||
}
|
||||
|
||||
|
|
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/
|
||||
|
395
library/jquery_ac/friendica.complete.js
Normal file
395
library/jquery_ac/friendica.complete.js
Normal file
|
@ -0,0 +1,395 @@
|
|||
/**
|
||||
* 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
|
||||
* Heavily modified for contact completion in Friendica (add photos, hover tips. etc.) 11-May-2012 mike@macgirvin.com
|
||||
*/
|
||||
|
||||
/*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, l, img;
|
||||
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];
|
||||
l = this.links[i];
|
||||
img = '<img height="24" width="24" src="' + this.photos[i] + '" alt="' + s + '" /> ';
|
||||
div = $((me.selectedIndex === i ? '<div class="selected"' : '<div') + ' title="' + l + '">' + img + 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.photos = response.photos;
|
||||
this.links = response.links;
|
||||
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));
|
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; }
|
28
mod/acl.php
28
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,26 @@ function acl_init(&$a){
|
|||
else
|
||||
$r = array();
|
||||
|
||||
|
||||
if($type == 'm') {
|
||||
$x = array();
|
||||
$x['query'] = $search;
|
||||
$x['photos'] = array();
|
||||
$x['links'] = array();
|
||||
$x['suggestions'] = array();
|
||||
$x['data'] = array();
|
||||
if(count($r)) {
|
||||
foreach($r as $g) {
|
||||
$x['photos'][] = $g['micro'];
|
||||
$x['links'][] = $g['url'];
|
||||
$x['suggestions'][] = $g['name']; // sprintf( t('%s [%s]'),$g['name'],$g['url']);
|
||||
$x['data'][] = intval($g['id']);
|
||||
}
|
||||
}
|
||||
echo json_encode($x);
|
||||
killme();
|
||||
}
|
||||
|
||||
if(count($r)) {
|
||||
foreach($r as $g){
|
||||
$contacts[] = array(
|
||||
|
|
|
@ -243,6 +243,7 @@ function admin_page_site_post(&$a){
|
|||
$proxy = ((x($_POST,'proxy')) ? notags(trim($_POST['proxy'])) : '');
|
||||
$timeout = ((x($_POST,'timeout')) ? intval(trim($_POST['timeout'])) : 60);
|
||||
$delivery_interval = ((x($_POST,'delivery_interval'))? intval(trim($_POST['delivery_interval'])) : 0);
|
||||
$poll_interval = ((x($_POST,'poll_interval'))? intval(trim($_POST['poll_interval'])) : 0);
|
||||
$maxloadavg = ((x($_POST,'maxloadavg')) ? intval(trim($_POST['maxloadavg'])) : 50);
|
||||
$dfrn_only = ((x($_POST,'dfrn_only')) ? True : False);
|
||||
$ostatus_disabled = !((x($_POST,'ostatus_disabled')) ? True : False);
|
||||
|
@ -291,6 +292,7 @@ function admin_page_site_post(&$a){
|
|||
}
|
||||
set_config('system','ssl_policy',$ssl_policy);
|
||||
set_config('system','delivery_interval',$delivery_interval);
|
||||
set_config('system','poll_interval',$poll_interval);
|
||||
set_config('system','maxloadavg',$maxloadavg);
|
||||
set_config('config','sitename',$sitename);
|
||||
if ($banner==""){
|
||||
|
@ -436,6 +438,7 @@ function admin_page_site(&$a) {
|
|||
'$proxy' => array('proxy', t("Proxy URL"), get_config('system','proxy'), ""),
|
||||
'$timeout' => array('timeout', t("Network timeout"), (x(get_config('system','curl_timeout'))?get_config('system','curl_timeout'):60), t("Value is in seconds. Set to 0 for unlimited (not recommended).")),
|
||||
'$delivery_interval' => array('delivery_interval', t("Delivery interval"), (x(get_config('system','delivery_interval'))?get_config('system','delivery_interval'):2), t("Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers.")),
|
||||
'$poll_interval' => array('poll_interval', t("Poll interval"), (x(get_config('system','poll_interval'))?get_config('system','poll_interval'):2), t("Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval.")),
|
||||
'$maxloadavg' => array('maxloadavg', t("Maximum Load Average"), ((intval(get_config('system','maxloadavg')) > 0)?get_config('system','maxloadavg'):50), t("Maximum system load before delivery and poll processes are deferred - default 50.")),
|
||||
'$form_security_token' => get_form_security_token("admin_site"),
|
||||
|
||||
|
|
|
@ -10,7 +10,10 @@ function follow_init(&$a) {
|
|||
// NOTREACHED
|
||||
}
|
||||
|
||||
$uid = local_user();
|
||||
$url = $orig_url = notags(trim($_REQUEST['url']));
|
||||
$return_url = $_SESSION['return_url'];
|
||||
|
||||
|
||||
// remove ajax junk, e.g. Twitter
|
||||
|
||||
|
@ -18,19 +21,25 @@ function follow_init(&$a) {
|
|||
|
||||
if(! allowed_url($url)) {
|
||||
notice( t('Disallowed profile URL.') . EOL);
|
||||
goaway($_SESSION['return_url']);
|
||||
goaway($return_url);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
|
||||
if(! $url) {
|
||||
notice( t('Connect URL missing.') . EOL);
|
||||
goaway($_SESSION['return_url']);
|
||||
goaway($return_url);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
$arr = array('url' => $url, 'contact' => array());
|
||||
|
||||
$ret = probe_url($url);
|
||||
call_hooks('follow', $arr);
|
||||
|
||||
if(x($arr['contact'],'name'))
|
||||
$ret = $arr['contact'];
|
||||
else
|
||||
$ret = probe_url($url);
|
||||
|
||||
if($ret['network'] === NETWORK_DFRN) {
|
||||
if(strlen($a->path))
|
||||
|
@ -46,11 +55,11 @@ function follow_init(&$a) {
|
|||
if(get_config('system','dfrn_only')) {
|
||||
notice( t('This site is not configured to allow communications with other networks.') . EOL);
|
||||
notice( t('No compatible communication protocols or feeds were discovered.') . EOL);
|
||||
goaway($_SESSION['return_url']);
|
||||
goaway($return_url);
|
||||
}
|
||||
}
|
||||
|
||||
// This just confuses things, remove it
|
||||
// This extra param just confuses things, remove it
|
||||
if($ret['network'] === NETWORK_DIASPORA)
|
||||
$ret['url'] = str_replace('?absolute=true','',$ret['url']);
|
||||
|
||||
|
@ -65,9 +74,11 @@ function follow_init(&$a) {
|
|||
notice( t('An author or name was not found.') . EOL);
|
||||
if(! x($ret,'url'))
|
||||
notice( t('No browser URL could be matched to this address.') . EOL);
|
||||
if(strpos($url,'@') !== false)
|
||||
notice('Unable to match @-style Identity Address with a known protocol or email contact');
|
||||
goaway($_SESSION['return_url']);
|
||||
if(strpos($url,'@') !== false) {
|
||||
notice( t('Unable to match @-style Identity Address with a known protocol or email contact.') . EOL);
|
||||
notice( t('Use mailto: in front of address to force email check.') . EOL);
|
||||
}
|
||||
goaway($return_url);
|
||||
}
|
||||
|
||||
if($ret['network'] === NETWORK_OSTATUS && get_config('system','ostatus_disabled')) {
|
||||
|
@ -94,7 +105,7 @@ function follow_init(&$a) {
|
|||
// indirect links or webfinger links
|
||||
|
||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `poll` = '%s' LIMIT 1",
|
||||
intval(local_user()),
|
||||
intval($uid),
|
||||
dbesc($ret['poll'])
|
||||
);
|
||||
|
||||
|
@ -104,7 +115,7 @@ function follow_init(&$a) {
|
|||
q("UPDATE `contact` SET `rel` = %d , `readonly` = 0 WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval(CONTACT_IS_FRIEND),
|
||||
intval($r[0]['id']),
|
||||
intval(local_user())
|
||||
intval($uid)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -118,7 +129,7 @@ function follow_init(&$a) {
|
|||
$r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `addr`, `alias`, `batch`, `notify`, `poll`, `poco`, `name`, `nick`, `photo`, `network`, `pubkey`, `rel`, `priority`,
|
||||
`writable`, `hidden`, `blocked`, `readonly`, `pending` )
|
||||
VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, 0, 0, 0 ) ",
|
||||
intval(local_user()),
|
||||
intval($uid),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc($ret['url']),
|
||||
dbesc(normalise_link($ret['url'])),
|
||||
|
@ -142,12 +153,12 @@ function follow_init(&$a) {
|
|||
|
||||
$r = q("SELECT * FROM `contact` WHERE `url` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($ret['url']),
|
||||
intval(local_user())
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
if(! count($r)) {
|
||||
notice( t('Unable to retrieve contact information.') . EOL);
|
||||
goaway($_SESSION['return_url']);
|
||||
goaway($return_url);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
|
@ -156,7 +167,7 @@ function follow_init(&$a) {
|
|||
|
||||
require_once("Photo.php");
|
||||
|
||||
$photos = import_profile_photo($ret['photo'],local_user(),$contact_id);
|
||||
$photos = import_profile_photo($ret['photo'],$uid,$contact_id);
|
||||
|
||||
$r = q("UPDATE `contact` SET `photo` = '%s',
|
||||
`thumb` = '%s',
|
||||
|
@ -200,7 +211,7 @@ function follow_init(&$a) {
|
|||
|
||||
$r = q("SELECT `contact`.*, `user`.* FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid`
|
||||
WHERE `user`.`uid` = %d AND `contact`.`self` = 1 LIMIT 1",
|
||||
intval(local_user())
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
if(count($r)) {
|
||||
|
@ -215,9 +226,9 @@ function follow_init(&$a) {
|
|||
}
|
||||
}
|
||||
|
||||
if(strstr($_SESSION['return_url'],'contacts'))
|
||||
if(strstr($return_url,'contacts'))
|
||||
goaway($a->get_baseurl() . '/contacts/' . $contact_id);
|
||||
|
||||
goaway($_SESSION['return_url']);
|
||||
goaway($return_url);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
|
|
@ -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,25 @@ function message_init(&$a) {
|
|||
'$tabs'=>$tabs,
|
||||
'$new'=>$new,
|
||||
));
|
||||
$base = $a->get_baseurl();
|
||||
|
||||
$a->page['htmlhead'] .= '<script src="' . $a->get_baseurl(true) . '/library/jquery_ac/friendica.complete.js" ></script>';
|
||||
$a->page['htmlhead'] .= <<< EOT
|
||||
|
||||
<script>$(document).ready(function() {
|
||||
var a;
|
||||
a = $("#recip").autocomplete({
|
||||
serviceUrl: '$base/acl',
|
||||
width: 350,
|
||||
onSelect: function(value,data) {
|
||||
$("#recip-complete").val(data);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
EOT;
|
||||
|
||||
}
|
||||
|
||||
|
@ -93,10 +99,6 @@ function message_content(&$a) {
|
|||
|
||||
$myprofile = $a->get_baseurl(true) . '/profile/' . $a->user['nickname'];
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$tpl = get_markup_template('mail_head.tpl');
|
||||
$header = replace_macros($tpl, array(
|
||||
'$messages' => t('Messages'),
|
||||
|
@ -171,11 +173,35 @@ function message_content(&$a) {
|
|||
|
||||
$preselect = (isset($a->argv[2])?array($a->argv[2]):false);
|
||||
|
||||
|
||||
$prename = $preurl = $preid = '';
|
||||
|
||||
if($preselect) {
|
||||
$r = q("select name, url, id from contact where uid = %d and id = %d limit 1",
|
||||
intval(local_user()),
|
||||
intval($a->argv[2])
|
||||
);
|
||||
if(count($r)) {
|
||||
$prename = $r[0]['name'];
|
||||
$preurl = $r[0]['url'];
|
||||
$preid = $r[0]['id'];
|
||||
}
|
||||
}
|
||||
|
||||
$prefill = (($preselect) ? $prename : '');
|
||||
|
||||
// the ugly select box
|
||||
|
||||
$select = contact_select('messageto','message-to-select', $preselect, 4, true, false, false, 10);
|
||||
|
||||
$tpl = get_markup_template('prv_message.tpl');
|
||||
$o .= replace_macros($tpl,array(
|
||||
'$header' => t('Send Private Message'),
|
||||
'$to' => t('To:'),
|
||||
'$showinputs' => 'true',
|
||||
'$prefill' => $prefill,
|
||||
'$autocomp' => $autocomp,
|
||||
'$preid' => $preid,
|
||||
'$subject' => t('Subject:'),
|
||||
'$subjtxt' => ((x($_REQUEST,'subject')) ? strip_tags($_REQUEST['subject']) : ''),
|
||||
'$text' => ((x($_REQUEST,'body')) ? escape_tags(htmlspecialchars($_REQUEST['body'])) : ''),
|
||||
|
@ -198,7 +224,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)
|
||||
);
|
||||
|
@ -351,10 +377,11 @@ function message_content(&$a) {
|
|||
|
||||
$seen = $message['seen'];
|
||||
}
|
||||
|
||||
|
||||
$select = $message['name'] . '<input type="hidden" name="messageto" value="' . $contact_id . '" />';
|
||||
$parent = '<input type="hidden" name="replyto" value="' . $message['parent-uri'] . '" />';
|
||||
|
||||
|
||||
$tpl = get_markup_template('mail_display.tpl');
|
||||
$o = replace_macros($tpl, array(
|
||||
'$thread_id' => $a->argv[1],
|
||||
|
@ -368,6 +395,7 @@ function message_content(&$a) {
|
|||
// reply
|
||||
'$header' => t('Send Reply'),
|
||||
'$to' => t('To:'),
|
||||
'$showinputs' => '',
|
||||
'$subject' => t('Subject:'),
|
||||
'$subjtxt' => template_escape($message['title']),
|
||||
'$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ',
|
||||
|
|
|
@ -340,7 +340,7 @@ function network_content(&$a, $update = 0) {
|
|||
info( t('Group is empty'));
|
||||
}
|
||||
|
||||
$sql_extra = " AND `item`.`parent` IN ( SELECT DISTINCT(`parent`) FROM `item` WHERE 1 $sql_options AND ( `contact-id` IN ( $contact_str ) OR `allow_gid` REGEXP '<" . intval($group) . ">' ) and deleted = 0 ) ";
|
||||
$sql_extra = " AND `item`.`parent` IN ( SELECT DISTINCT(`parent`) FROM `item` WHERE 1 $sql_options AND ( `contact-id` IN ( $contact_str ) OR `allow_gid` like '" . protect_sprintf('%<' . intval($group) . '>%') . "' ) and deleted = 0 ) ";
|
||||
$o = '<h2>' . t('Group: ') . $r[0]['name'] . '</h2>' . $o;
|
||||
}
|
||||
elseif($cid) {
|
||||
|
@ -398,9 +398,9 @@ function network_content(&$a, $update = 0) {
|
|||
|
||||
if(x($_GET,'search')) {
|
||||
$search = escape_tags($_GET['search']);
|
||||
$sql_extra .= sprintf(" AND ( `item`.`body` REGEXP '%s' OR `item`.`tag` REGEXP '%s' ) ",
|
||||
dbesc(preg_quote($search)),
|
||||
dbesc('\\]' . preg_quote($search) . '\\[')
|
||||
$sql_extra .= sprintf(" AND ( `item`.`body` like '%s' OR `item`.`tag` like '%s' ) ",
|
||||
dbesc(protect_sprintf('%' . $search . '%')),
|
||||
dbesc(protect_sprintf('%]' . $search . '[%'))
|
||||
);
|
||||
}
|
||||
if(strlen($file)) {
|
||||
|
@ -412,10 +412,10 @@ function network_content(&$a, $update = 0) {
|
|||
$myurl = substr($myurl,strpos($myurl,'://')+3);
|
||||
$myurl = str_replace(array('www.','.'),array('','\\.'),$myurl);
|
||||
$diasp_url = str_replace('/profile/','/u/',$myurl);
|
||||
$sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where ( `author-link` regexp '%s' or `tag` regexp '%s' or tag regexp '%s' )) ",
|
||||
dbesc($myurl . '$'),
|
||||
dbesc($myurl . '\\]'),
|
||||
dbesc($diasp_url . '\\]')
|
||||
$sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where ( `author-link` like '%s' or `tag` like '%s' or tag like '%s' )) ",
|
||||
dbesc(protect_sprintf('%s' . $myurl)),
|
||||
dbesc(protect_sprintf('%' . $myurl . '\\]%')),
|
||||
dbesc(protect_sprintf('%' . $diasp_url . '\\]%'))
|
||||
);
|
||||
}
|
||||
|
||||
|
|
857
util/messages.po
857
util/messages.po
File diff suppressed because it is too large
Load diff
|
@ -81,6 +81,7 @@
|
|||
{{ inc field_input.tpl with $field=$proxyuser }}{{ endinc }}
|
||||
{{ inc field_input.tpl with $field=$timeout }}{{ endinc }}
|
||||
{{ inc field_input.tpl with $field=$delivery_interval }}{{ endinc }}
|
||||
{{ inc field_input.tpl with $field=$poll_interval }}{{ endinc }}
|
||||
{{ inc field_input.tpl with $field=$maxloadavg }}{{ endinc }}
|
||||
{{ inc field_input.tpl with $field=$abandon_days }}{{ endinc }}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -751,6 +751,8 @@ $a->strings["Network timeout"] = "Netzwerk Wartezeit";
|
|||
$a->strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Der Wert ist in Sekunden. Setze 0 für unbegrenzt (nicht empfohlen).";
|
||||
$a->strings["Delivery interval"] = "Zustellungsintervall";
|
||||
$a->strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl an Sekunden um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared-Hosts, 2-3 für VPS, 0-1 für große dedizierte Server.";
|
||||
$a->strings["Maximum Load Average"] = "Maximum Load Average";
|
||||
$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "";
|
||||
$a->strings["Update has been marked successful"] = "Update wurde als erfolgreich markiert";
|
||||
$a->strings["Executing %s failed. Check system logs."] = "Ausführung von %s schlug fehl. Systemprotokolle prüfen.";
|
||||
$a->strings["Update %s was successfully applied."] = "Update %s war erfolgreich.";
|
||||
|
@ -834,7 +836,7 @@ $a->strings["Limited profile. This person will be unable to receive direct/perso
|
|||
$a->strings["Unable to retrieve contact information."] = "Konnte die Kontaktinformationen nicht empfangen.";
|
||||
$a->strings["following"] = "folgen";
|
||||
$a->strings["Common Friends"] = "Gemeinsame Freunde";
|
||||
$a->strings["No friends in common."] = "Keine gemeinsamen Freunde.";
|
||||
$a->strings["No contacts in common."] = "Keine gemeinsamen Kontakte.";
|
||||
$a->strings["Item has been removed."] = "Eintrag wurde entfernt.";
|
||||
$a->strings["Applications"] = "Anwendungen";
|
||||
$a->strings["No installed applications."] = "Keine Applikationen installiert.";
|
||||
|
@ -854,8 +856,7 @@ $a->strings["Location"] = "Wohnort";
|
|||
$a->strings["Profile updated."] = "Profil aktualisiert.";
|
||||
$a->strings[" and "] = " und ";
|
||||
$a->strings["public profile"] = "öffentliches Profil";
|
||||
$a->strings["%1\$s changed %2\$s to \"%3\$s\""] = "%1\$s änderte %2\$s zu \"%3\$s\"";
|
||||
$a->strings[" - Visit %1\$s's %2\$s"] = " - %1\$s's %2\$s besuchen";
|
||||
$a->strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s hat %2\$s geändert auf “%3\$s”";
|
||||
$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat folgendes aktualisiert %2\$s, verändert wurde %3\$s.";
|
||||
$a->strings["Profile deleted."] = "Profil gelöscht.";
|
||||
$a->strings["Profile-"] = "Profil-";
|
||||
|
@ -971,6 +972,8 @@ $a->strings["Install Facebook connector for this account."] = "Facebook-Connecto
|
|||
$a->strings["Remove Facebook connector"] = "Facebook-Connector entfernen";
|
||||
$a->strings["Re-authenticate [This is necessary whenever your Facebook password is changed.]"] = "Neu authentifizieren [Das ist immer dann nötig, wenn Du Dein Facebook-Passwort geändert hast.]";
|
||||
$a->strings["Post to Facebook by default"] = "Veröffentliche standardmäßig bei Facebook";
|
||||
$a->strings["Facebook friend linking has been disabled on this site. The following settings will have no effect."] = "";
|
||||
$a->strings["Facebook friend linking has been disabled on this site. If you disable it, you will be unable to re-enable it."] = "";
|
||||
$a->strings["Link all your Facebook friends and conversations on this website"] = "All meine Facebook-Kontakte und -Konversationen hier auf diese Website importieren";
|
||||
$a->strings["Facebook conversations consist of your <em>profile wall</em> and your friend <em>stream</em>."] = "Facebook-Konversationen bestehen aus deinen Beiträgen auf deiner<em>Pinnwand</em>, sowie den Beiträgen deiner Freunde <em>Stream</em>.";
|
||||
$a->strings["On this website, your Facebook friend stream is only visible to you."] = "Hier auf dieser Webseite kannst nur du die Beiträge Deiner Facebook-Freunde (Stream) sehen.";
|
||||
|
@ -1042,6 +1045,7 @@ $a->strings["Use /expression/ to provide regular expressions"] = "Verwende /expr
|
|||
$a->strings["NSFW Settings saved."] = "NSFW-Einstellungen gespeichert";
|
||||
$a->strings["%s - Click to open/close"] = "%s – Zum Öffnen/Schließen klicken";
|
||||
$a->strings["Forums"] = "Foren";
|
||||
$a->strings["show more"] = "mehr anzeigen";
|
||||
$a->strings["Planets Settings"] = "Planeten Einstellungen";
|
||||
$a->strings["Enable Planets Plugin"] = "Aktiviere Planeten Plugin";
|
||||
$a->strings["Login"] = "Anmeldung";
|
||||
|
@ -1212,7 +1216,6 @@ $a->strings["\"Show more\" Settings"] = "\"Mehr zeigen\" Einstellungen";
|
|||
$a->strings["Enable Show More"] = "Aktiviere \"Mehr zeigen\"";
|
||||
$a->strings["Cutting posts after how much characters"] = "Begrenze Beiträge nach einer bestimmten Anzahl an Buchstaben";
|
||||
$a->strings["Show More Settings saved."] = "\"Mehr zeigen\" Einstellungen gesichert.";
|
||||
$a->strings["show more"] = "mehr anzeigen";
|
||||
$a->strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "Diese Website benutzt <a href='http://www.piwik.org'>Piwik</a>, eine Open Source-Software zur statistischen Auswertung der Besucherzugriffe.";
|
||||
$a->strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "Wenn Du nicht willst, dass Deine Besuche auf diese Weise gespeichert werden, kannst Du <a href='%s'>ein Cookie setzen</a>. Dann wird Piwik Dich auf dieser Website nicht mehr verfolgen (opt-out).";
|
||||
$a->strings["Piwik Base URL"] = "Piwik Basis URL";
|
||||
|
@ -1256,7 +1259,16 @@ $a->strings["Post to Posterous by default"] = "Veröffentliche öffentliche Beit
|
|||
$a->strings["Theme settings"] = "Themen Einstellungen";
|
||||
$a->strings["Set resize level for images in posts and comments (width and height)"] = "Wähle das Vergrößerungsmaß für Bilder in Beiträgen und Kommentaren (Höhe und Breite)";
|
||||
$a->strings["Set font-size for posts and comments"] = "Schriftgröße für Beiträge und Kommentare festlegen";
|
||||
$a->strings["Set theme width"] = "Theme Breite festlegen";
|
||||
$a->strings["Color scheme"] = "Farbschema";
|
||||
$a->strings["Your posts and conversations"] = "Deine Beiträge und Unterhaltungen";
|
||||
$a->strings["Your profile page"] = "Deine Profilseite";
|
||||
$a->strings["Your contacts"] = "Deine Kontakte";
|
||||
$a->strings["Your photos"] = "Deine Fotos";
|
||||
$a->strings["Your events"] = "Deine Ereignisse";
|
||||
$a->strings["Personal notes"] = "Persönliche Notizen";
|
||||
$a->strings["Your personal photos"] = "Deine privaten Fotos";
|
||||
$a->strings["Community Pages"] = "Foren";
|
||||
$a->strings["Community Profiles"] = "Community-Profile";
|
||||
$a->strings["Last users"] = "Letzte Nutzer";
|
||||
$a->strings["Last likes"] = "Zuletzt gemocht";
|
||||
|
@ -1265,16 +1277,11 @@ $a->strings["Find Friends"] = "Freunde finden";
|
|||
$a->strings["Local Directory"] = "Lokales Verzeichnis";
|
||||
$a->strings["Similar Interests"] = "Ähnliche Interessen";
|
||||
$a->strings["Invite Friends"] = "Freunde einladen";
|
||||
$a->strings["Community Pages"] = "Foren";
|
||||
$a->strings["Earth View"] = "Earth View";
|
||||
$a->strings["Help or @NewHere ?"] = "Hilfe oder @NewHere";
|
||||
$a->strings["Connect Services"] = "Verbinde Dienste";
|
||||
$a->strings["Your posts and conversations"] = "Deine Beiträge und Unterhaltungen";
|
||||
$a->strings["Your profile page"] = "Deine Profilseite";
|
||||
$a->strings["Your contacts"] = "Deine Kontakte";
|
||||
$a->strings["Your photos"] = "Deine Fotos";
|
||||
$a->strings["Your events"] = "Deine Ereignisse";
|
||||
$a->strings["Personal notes"] = "Persönliche Notizen";
|
||||
$a->strings["Your personal photos"] = "Deine privaten Fotos";
|
||||
$a->strings["Last Tweets"] = "Neueste Tweets";
|
||||
$a->strings["Set twitter search term"] = "";
|
||||
$a->strings["Set line-height for posts and comments"] = "Liniengröße für Beiträge und Kommantare festlegen";
|
||||
$a->strings["Set resolution for middle column"] = "Auflösung für die Mittelspalte setzen";
|
||||
$a->strings["Set color scheme"] = "Wähle Farbschema";
|
||||
|
@ -1411,9 +1418,9 @@ $a->strings["October"] = "Oktober";
|
|||
$a->strings["November"] = "November";
|
||||
$a->strings["December"] = "Dezember";
|
||||
$a->strings["bytes"] = "Byte";
|
||||
$a->strings["Categories:"] = "Kategorien:";
|
||||
$a->strings["remove"] = "löschen";
|
||||
$a->strings["[remove]"] = "[löschen]";
|
||||
$a->strings["Categories:"] = "Kategorien:";
|
||||
$a->strings["Filed under:"] = "Abgelegt unter:";
|
||||
$a->strings["Click to open/close"] = "Zum öffnen/schließen klicken";
|
||||
$a->strings["default"] = "standard";
|
||||
|
@ -1480,10 +1487,6 @@ $a->strings["All Networks"] = "Alle Netzwerke";
|
|||
$a->strings["Saved Folders"] = "Gespeicherte Ordner";
|
||||
$a->strings["Everything"] = "Alles";
|
||||
$a->strings["Categories"] = "Kategorien";
|
||||
$a->strings["%d friend in common"] = array(
|
||||
0 => "%d gemeinsamer Freund",
|
||||
1 => "%d gemeinsame Freunde",
|
||||
);
|
||||
$a->strings["Logged out."] = "Abgemeldet.";
|
||||
$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Beim versuch dich mit der von dir angegebenen OpenID anzumelden trat ein Problem auf. Bitte überprüfe dass du die OpenID richtig geschrieben hast.";
|
||||
$a->strings["The error message was:"] = "Die Fehlermeldung lautete:";
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
obj.value = '';
|
||||
$("#comment-edit-text-" + id).addClass("comment-edit-text-full");
|
||||
$("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
|
||||
$("#mod-cmnt-wrap-" + id).show();
|
||||
openMenu("comment-edit-submit-wrapper-" + id);
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +45,7 @@
|
|||
obj.value = '$comment';
|
||||
$("#comment-edit-text-" + id).removeClass("comment-edit-text-full");
|
||||
$("#comment-edit-text-" + id).addClass("comment-edit-text-empty");
|
||||
$("#mod-cmnt-wrap-" + id).hide();
|
||||
closeMenu("comment-edit-submit-wrapper-" + id);
|
||||
}
|
||||
}
|
||||
|
|
34
view/moderated_comment.tpl
Normal file
34
view/moderated_comment.tpl
Normal file
|
@ -0,0 +1,34 @@
|
|||
<div class="comment-wwedit-wrapper" id="comment-edit-wrapper-$id" style="display: block;">
|
||||
<form class="comment-edit-form" id="comment-edit-form-$id" action="item" method="post" onsubmit="post_comment($id); return false;">
|
||||
<input type="hidden" name="type" value="$type" />
|
||||
<input type="hidden" name="profile_uid" value="$profile_uid" />
|
||||
<input type="hidden" name="parent" value="$parent" />
|
||||
<input type="hidden" name="return" value="$return_path" />
|
||||
<input type="hidden" name="jsreload" value="$jsreload" />
|
||||
<input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" />
|
||||
|
||||
<div class="comment-edit-photo" id="comment-edit-photo-$id" >
|
||||
<a class="comment-edit-photo-link" href="$mylink" title="$mytitle"><img class="my-comment-photo" src="$myphoto" alt="$mytitle" title="$mytitle" /></a>
|
||||
</div>
|
||||
<div class="comment-edit-photo-end"></div>
|
||||
<div id="mod-cmnt-wrap-$id" class="mod-cmnt-wrap" style="display:none">
|
||||
<div id="mod-cmnt-name-lbl-$id" class="mod-cmnt-name-lbl">$lbl_modname</div>
|
||||
<input type="text" id="mod-cmnt-name-$id" class="mod-cmnt-name" name="mod-cmnt-name" value="$modname" />
|
||||
<div id="mod-cmnt-email-lbl-$id" class="mod-cmnt-email-lbl">$lbl_modemail</div>
|
||||
<input type="text" id="mod-cmnt-email-$id" class="mod-cmnt-email" name="mod-cmnt-email" value="$modemail" />
|
||||
<div id="mod-cmnt-url-lbl-$id" class="mod-cmnt-url-lbl">$lbl_modurl</div>
|
||||
<input type="text" id="mod-cmnt-url-$id" class="mod-cmnt-url" name="mod-cmnt-url" value="$modurl" />
|
||||
</div>
|
||||
<textarea id="comment-edit-text-$id" class="comment-edit-text-empty" name="body" onFocus="commentOpen(this,$id);" onBlur="commentClose(this,$id);" >$comment</textarea>
|
||||
|
||||
<div class="comment-edit-text-end"></div>
|
||||
<div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-$id" style="display: none;" >
|
||||
<input type="submit" onclick="post_comment($id); return false;" id="comment-edit-submit-$id" class="comment-edit-submit" name="submit" value="$submit" />
|
||||
<span onclick="preview_comment($id);" id="comment-edit-preview-link-$id" class="fakelink">$preview</span>
|
||||
<div id="comment-edit-preview-$id" class="comment-edit-preview" style="display:none;"></div>
|
||||
</div>
|
||||
|
||||
<div class="comment-edit-end"></div>
|
||||
</form>
|
||||
|
||||
</div>
|
|
@ -1,5 +1,5 @@
|
|||
<div id="remote-friends-in-common" class="bigwidget">
|
||||
<div id="rfic-desc">$desc <a href="$base/common/rem/$uid/$cid">$more</a></div>
|
||||
<div id="rfic-desc">$desc {{ if $linkmore }}<a href="$base/common/rem/$uid/$cid">$more</a>{{ endif }}</div>
|
||||
{{ if $items }}
|
||||
{{ for $items as $item }}
|
||||
<div class="profile-match-wrapper">
|
||||
|
|
|
@ -105,3 +105,17 @@ blockquote {
|
|||
input#acl-search {
|
||||
background-color: #aaa;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.notify-seen {
|
||||
background:#666;
|
||||
}
|
||||
|
||||
#nav-notifications-menu {
|
||||
background: #2e2e2f;
|
||||
}
|
||||
|
||||
#nav-notifications-menu li:hover {
|
||||
background: #444;
|
||||
}
|
|
@ -49,6 +49,9 @@
|
|||
{{ inc field_input.tpl with $field=$proxy }}{{ endinc }}
|
||||
{{ inc field_input.tpl with $field=$proxyuser }}{{ endinc }}
|
||||
{{ inc field_input.tpl with $field=$timeout }}{{ endinc }}
|
||||
{{ inc field_input.tpl with $field=$delivery_interval }}{{ endinc }}
|
||||
{{ inc field_input.tpl with $field=$poll_interval }}{{ endinc }}
|
||||
{{ inc field_input.tpl with $field=$maxloadavg }}{{ endinc }}
|
||||
{{ inc field_input.tpl with $field=$abandon_days }}{{ endinc }}
|
||||
|
||||
<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
|
||||
|
|
|
@ -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){
|
||||
|
@ -66,12 +67,14 @@ $(document).ready(function() {
|
|||
$("a#top").attr("id","down");
|
||||
$("a#down").attr("onclick","scrolldown()");
|
||||
$("img#scroll_top_bottom").attr("src","view/theme/diabook/icons/scroll_bottom.png");
|
||||
$("img#scroll_top_bottom").attr("title","Scroll to bottom");
|
||||
}
|
||||
|
||||
if (scrollInfo > "900"){
|
||||
$("a#down").attr("id","top");
|
||||
$("a#top").attr("onclick","scrolltop()");
|
||||
$("img#scroll_top_bottom").attr("src","view/theme/diabook/icons/scroll_top.png");
|
||||
$("img#scroll_top_bottom").attr("title","Back to top");
|
||||
}
|
||||
|
||||
});
|
||||
|
|
|
@ -1,3 +1,57 @@
|
|||
|
||||
<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" >
|
||||
<div id="layermanager" style="width: 350px;position: relative;float: right;right:20px;"></div>
|
||||
<div id="map2" style="height:350px;width:350px;"></div>
|
||||
<div id="mouseposition" style="width: 350px;"></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>
|
||||
<span style="width: 500px;"><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>https://toktan.org/profile/thomas</p>
|
||||
<p>this is build with <b>mapquery</b> http://mapquery.org/ and
|
||||
<b>openlayers</b>http://openlayers.org/</p>
|
||||
</span>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="boxsettings" style="display:none">
|
||||
<form id="boxsettingsform" action="network" method="post" >
|
||||
<fieldset><legend>$boxsettings.title.1</legend>
|
||||
{{inc field_select.tpl with $field=$close_pages}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_profiles}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_helpers}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_services}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_friends}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_lastusers}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_lastphotos}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_lastlikes}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_twitter}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_mapquery}}{{endinc}}
|
||||
<div class="settings-submit-wrapper">
|
||||
<input id="boxsub" type="submit" value="$sub" class="settings-submit" name="diabook-settings-box-sub"></input>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="pos_null" style="margin-bottom:-30px;">
|
||||
</div>
|
||||
|
||||
|
@ -7,11 +61,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="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decoration:none;" class="icon close_box" title="$close"></a></h3>
|
||||
<div id='lastusers-wrapper' class='items-wrapper'>
|
||||
{{ for $comunity_profiles_items as $i }}
|
||||
$i
|
||||
|
@ -22,7 +76,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="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decoration:none;" 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 +87,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="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decoration:none;" 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 +103,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="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decoration:none;" 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 +115,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="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decoration:none;" class="icon close_box" title="$close"></a></h3>
|
||||
<div id='lastusers-wrapper' class='items-wrapper'>
|
||||
{{ for $lastusers_items as $i }}
|
||||
$i
|
||||
|
@ -80,7 +135,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="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decoration:none;" class="icon close_box" title="$close"></a></h3>
|
||||
<div id='ra-photos-wrapper' class='items-wrapper'>
|
||||
{{ for $photos_items as $i }}
|
||||
$i
|
||||
|
@ -91,7 +146,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="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decoration:none;" 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 +155,18 @@ $nv.search
|
|||
{{ endif }}
|
||||
</div>
|
||||
|
||||
<div id="close_twitter">
|
||||
<h3 style="height:1.17em">$twitter.title.1<a id="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decoration:none;" 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="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decoration:none;" 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,23 @@ 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' );
|
||||
$close_pages = get_pconfig(local_user(), 'diabook', 'close_pages' );
|
||||
$close_mapquery = get_pconfig(local_user(), 'diabook', 'close_mapquery' );
|
||||
$close_profiles = get_pconfig(local_user(), 'diabook', 'close_profiles' );
|
||||
$close_helpers = get_pconfig(local_user(), 'diabook', 'close_helpers' );
|
||||
$close_services = get_pconfig(local_user(), 'diabook', 'close_services' );
|
||||
$close_friends = get_pconfig(local_user(), 'diabook', 'close_friends' );
|
||||
$close_twitter = get_pconfig(local_user(), 'diabook', 'close_twitter' );
|
||||
$close_lastusers = get_pconfig(local_user(), 'diabook', 'close_lastusers' );
|
||||
$close_lastphotos = get_pconfig(local_user(), 'diabook', 'close_lastphotos' );
|
||||
$close_lastlikes = get_pconfig(local_user(), 'diabook', 'close_lastlikes' );
|
||||
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color);
|
||||
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color, $TSearchTerm, $ELZoom, $ELPosX, $ELPosY, $close_pages, $close_mapquery, $close_profiles, $close_helpers, $close_services, $close_friends, $close_twitter, $close_lastusers, $close_lastphotos, $close_lastlikes);
|
||||
}
|
||||
|
||||
function theme_post(&$a){
|
||||
|
@ -26,6 +41,22 @@ 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']);
|
||||
set_pconfig(local_user(), 'diabook', 'ELPosY', $_POST['diabook_ELPosY']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_pages', $_POST['diabook_close_pages']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_mapquery', $_POST['diabook_close_mapquery']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_profiles', $_POST['diabook_close_profiles']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_helpers', $_POST['diabook_close_helpers']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_services', $_POST['diabook_close_services']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_friends', $_POST['diabook_close_friends']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_twitter', $_POST['diabook_close_twitter']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_lastusers', $_POST['diabook_close_lastusers']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_lastphotos', $_POST['diabook_close_lastphotos']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_lastlikes', $_POST['diabook_close_lastlikes']);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -35,8 +66,22 @@ 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' );
|
||||
$close_pages = get_config('diabook', 'close_pages' );
|
||||
$close_mapquery = get_config('diabook', 'close_mapquery' );
|
||||
$close_profiles = get_config('diabook', 'close_profiles' );
|
||||
$close_helpers = get_config('diabook', 'close_helpers' );
|
||||
$close_services = get_config('diabook', 'close_services' );
|
||||
$close_friends = get_config('diabook', 'close_friends' );
|
||||
$close_twitter = get_config('diabook', 'close_twitter' );
|
||||
$close_lastusers = get_config('diabook', 'close_lastusers' );
|
||||
$close_lastphotos = get_config('diabook', 'close_lastphotos' );
|
||||
$close_lastlikes = get_config('diabook', 'close_lastlikes' );
|
||||
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color);
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color, $TSearchTerm, $ELZoom, $ELPosX, $ELPosY, $close_pages, $close_mapquery, $close_profiles, $close_helpers, $close_services, $close_friends, $close_twitter, $close_lastusers, $close_lastphotos, $close_lastlikes);
|
||||
}
|
||||
|
||||
function theme_admin_post(&$a){
|
||||
|
@ -45,11 +90,25 @@ 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', 'close_pages', $_POST['diabook_close_pages']);
|
||||
set_config('diabook', 'close_mapquery', $_POST['diabook_close_mapquery']);
|
||||
set_config('diabook', 'close_profiles', $_POST['diabook_close_profiles']);
|
||||
set_config('diabook', 'close_helpers', $_POST['diabook_close_helpers']);
|
||||
set_config('diabook', 'close_services', $_POST['diabook_close_services']);
|
||||
set_config('diabook', 'close_friends', $_POST['diabook_close_friends']);
|
||||
set_config('diabook', 'close_twitter', $_POST['diabook_close_twitter']);
|
||||
set_config('diabook', 'close_lastusers', $_POST['diabook_close_lastusers']);
|
||||
set_config('diabook', 'close_lastphotos', $_POST['diabook_close_lastphotos']);
|
||||
set_config('diabook', 'close_lastlikes', $_POST['diabook_close_lastlikes']);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function diabook_form(&$a, $font_size, $line_height, $resolution, $color){
|
||||
function diabook_form(&$a, $font_size, $line_height, $resolution, $color, $TSearchTerm, $ELZoom, $ELPosX, $ELPosY, $close_pages, $close_mapquery, $close_profiles, $close_helpers, $close_services, $close_friends, $close_twitter, $close_lastusers, $close_lastphotos, $close_lastlikes){
|
||||
$line_heights = array(
|
||||
"1.3"=>"1.3",
|
||||
"---"=>"---",
|
||||
|
@ -83,6 +142,46 @@ function diabook_form(&$a, $font_size, $line_height, $resolution, $color){
|
|||
'red'=>'red',
|
||||
'dark'=>'dark',
|
||||
);
|
||||
$close_pagesC = array(
|
||||
'0'=>'show',
|
||||
'1'=>'hide',
|
||||
);
|
||||
$close_mapqueryC = array(
|
||||
'0'=>'show',
|
||||
'1'=>'hide',
|
||||
);
|
||||
$close_profilesC = array(
|
||||
'0'=>'show',
|
||||
'1'=>'hide',
|
||||
);
|
||||
$close_helpersC = array(
|
||||
'0'=>'show',
|
||||
'1'=>'hide',
|
||||
);
|
||||
$close_servicesC = array(
|
||||
'0'=>'show',
|
||||
'1'=>'hide',
|
||||
);
|
||||
$close_friendsC = array(
|
||||
'0'=>'show',
|
||||
'1'=>'hide',
|
||||
);
|
||||
$close_twitterC = array(
|
||||
'0'=>'show',
|
||||
'1'=>'hide',
|
||||
);
|
||||
$close_lastusersC = array(
|
||||
'0'=>'show',
|
||||
'1'=>'hide',
|
||||
);
|
||||
$close_lastphotosC = array(
|
||||
'0'=>'show',
|
||||
'1'=>'hide',
|
||||
);
|
||||
$close_lastlikesC = array(
|
||||
'0'=>'show',
|
||||
'1'=>'hide',
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
@ -95,6 +194,20 @@ 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 Layers'), $ELPosX, '', $ELPosX),
|
||||
'$ELPosY' => array('diabook_ELPosY', t('Set latitude (Y) for Earth Layers'), $ELPosY, '', $ELPosY),
|
||||
'$close_pages' => array('diabook_close_pages', t('Community Pages'), $close_pages, '', $close_pagesC),
|
||||
'$close_mapquery' => array('diabook_close_mapquery', t('Earth Layers'), $close_mapquery, '', $close_mapqueryC),
|
||||
'$close_profiles' => array('diabook_close_profiles', t('Community Profiles'), $close_profiles, '', $close_profilesC),
|
||||
'$close_helpers' => array('diabook_close_helpers', t('Help or @NewHere ?'), $close_helpers, '', $close_helpersC),
|
||||
'$close_services' => array('diabook_close_services', t('Connect Services'), $close_services, '', $close_servicesC),
|
||||
'$close_friends' => array('diabook_close_friends', t('Find Friends'), $close_friends, '', $close_friendsC),
|
||||
'$close_twitter' => array('diabook_close_twitter', t('Last tweets'), $close_twitter, '', $close_twitterC),
|
||||
'$close_lastusers' => array('diabook_close_lastusers', t('Last users'), $close_lastusers, '', $close_lastusersC),
|
||||
'$close_lastphotos' => array('diabook_close_lastphotos', t('Last photos'), $close_lastphotos, '', $close_lastphotosC),
|
||||
'$close_lastlikes' => array('diabook_close_lastlikes', t('Last likes'), $close_lastlikes, '', $close_lastlikesC),
|
||||
));
|
||||
return $o;
|
||||
}
|
||||
|
|
|
@ -555,6 +555,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #ffffff;
|
||||
|
@ -621,9 +622,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
|
|
@ -555,6 +555,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #ffffff;
|
||||
|
@ -621,9 +622,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
|
|
@ -554,6 +554,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #ffffff;
|
||||
|
@ -607,9 +608,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
|
|
@ -554,6 +554,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #ffffff;
|
||||
|
@ -607,9 +608,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
|
41
view/theme/diabook/diabook-dark/custom_tinymce.css
Normal file
41
view/theme/diabook/diabook-dark/custom_tinymce.css
Normal file
|
@ -0,0 +1,41 @@
|
|||
body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:14px; margin:8px;}
|
||||
body {background:#FFF;}
|
||||
body.mceForceColors {background:#FFF; color:#000;}
|
||||
h1 {font-size: 2em}
|
||||
h2 {font-size: 1.5em}
|
||||
h3 {font-size: 1.17em}
|
||||
h4 {font-size: 1em}
|
||||
h5 {font-size: .83em}
|
||||
h6 {font-size: .75em}
|
||||
.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;}
|
||||
a.mceItemAnchor {display:inline-block; width:11px !important; height:11px !important; background:url(img/items.gif) no-repeat 0 0;}
|
||||
td.mceSelected, th.mceSelected {background-color:#3399ff !important}
|
||||
img {border:0;}
|
||||
table {cursor:default}
|
||||
table td, table th {cursor:text}
|
||||
ins {border-bottom:1px solid green; text-decoration: none; color:green}
|
||||
del {color:red; text-decoration:line-through}
|
||||
cite {border-bottom:1px dashed blue}
|
||||
acronym {border-bottom:1px dotted #CCC; cursor:help}
|
||||
abbr {border-bottom:1px dashed #CCC; cursor:help}
|
||||
|
||||
/* IE */
|
||||
* html body {
|
||||
scrollbar-3dlight-color:#F0F0EE;
|
||||
scrollbar-arrow-color:#676662;
|
||||
scrollbar-base-color:#F0F0EE;
|
||||
scrollbar-darkshadow-color:#DDD;
|
||||
scrollbar-face-color:#E0E0DD;
|
||||
scrollbar-highlight-color:#F0F0EE;
|
||||
scrollbar-shadow-color:#F0F0EE;
|
||||
scrollbar-track-color:#F5F5F5;
|
||||
}
|
||||
|
||||
img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px}
|
||||
font[face=mceinline] {font-family:inherit !important}
|
||||
|
||||
|
||||
object {
|
||||
display: block; width: 400px;
|
||||
background: #cccccc url(../images/plugin.png) no-repeat center center;
|
||||
}
|
|
@ -522,9 +522,6 @@ header {
|
|||
background: #1d1f1d;
|
||||
background-color: #1d1f1d;
|
||||
z-index: 100;
|
||||
border-bottom: 1px;
|
||||
border-bottom-color: black;
|
||||
border-bottom-style: inset;
|
||||
}
|
||||
header #site-location {
|
||||
display: none;
|
||||
|
@ -567,9 +564,7 @@ nav {
|
|||
background: #1d1f1d;
|
||||
color: #2e2f2e;
|
||||
z-index: 99;
|
||||
border-bottom: 1px;
|
||||
border-bottom-color: black;
|
||||
border-bottom-style: inset;
|
||||
|
||||
}
|
||||
nav a,
|
||||
nav a:active,
|
||||
|
@ -836,7 +831,7 @@ ul.menu-popup .empty {
|
|||
box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
.acpopupitem {
|
||||
color: #2e2f2e;
|
||||
color: #eec;
|
||||
padding: 4px;
|
||||
clear: left;
|
||||
}
|
||||
|
|
|
@ -522,9 +522,7 @@ header {
|
|||
background: #1d1f1d;
|
||||
background-color: #1d1f1d;
|
||||
z-index: 100;
|
||||
border-bottom: 1px;
|
||||
border-bottom-color: black;
|
||||
border-bottom-style: inset;
|
||||
|
||||
}
|
||||
header #site-location {
|
||||
display: none;
|
||||
|
@ -567,9 +565,7 @@ nav {
|
|||
background: #1d1f1d;
|
||||
color: #2e2f2e;
|
||||
z-index: 99;
|
||||
border-bottom: 1px;
|
||||
border-bottom-color: black;
|
||||
border-bottom-style: inset;
|
||||
|
||||
}
|
||||
nav a,
|
||||
nav a:active,
|
||||
|
|
|
@ -553,6 +553,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #ffffff;
|
||||
|
@ -606,9 +607,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
|
|
@ -3,6 +3,20 @@
|
|||
* Additional Changes: Michael Vogel <icarus@dabo.de>
|
||||
**/
|
||||
|
||||
/** Fancy Box **/
|
||||
#fancybox-content {
|
||||
width: 0;
|
||||
height: 0;
|
||||
padding: 0;
|
||||
outline: none;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
z-index: 1102;
|
||||
border: 0px solid #fff;
|
||||
background: #2e2e2f !important;
|
||||
}
|
||||
|
||||
|
||||
/* ========= */
|
||||
/* = Admin = */
|
||||
/* ========= */
|
||||
|
@ -553,6 +567,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #2e2f2e;
|
||||
|
@ -576,9 +591,6 @@ header {
|
|||
background: #0c0e0c;
|
||||
background-color: #1d1f1d;
|
||||
z-index: 100;
|
||||
border-bottom: 1px;
|
||||
border-bottom-color: black;
|
||||
border-bottom-style: inset;
|
||||
}
|
||||
header #site-location {
|
||||
display: none;
|
||||
|
@ -606,9 +618,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
@ -625,7 +635,7 @@ header #banner #logo-text {
|
|||
text-decoration: none;
|
||||
}
|
||||
.mail-list-wrapper {
|
||||
background-color: #eec;
|
||||
background-color: #333;
|
||||
margin-bottom: 5px;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
|
@ -636,6 +646,7 @@ header #banner #logo-text {
|
|||
float: left;
|
||||
width: 20%;
|
||||
overflow: hidden;
|
||||
background: #2e2e2f;
|
||||
}
|
||||
.mail-list-wrapper .mail-subject {
|
||||
width: 30%;
|
||||
|
@ -701,10 +712,7 @@ nav {
|
|||
background: #1d1f1d;
|
||||
color: #2e2f2e;
|
||||
z-index: 99;
|
||||
border-bottom: 1px;
|
||||
border-bottom-color: black;
|
||||
border-bottom-style: inset;
|
||||
}
|
||||
}
|
||||
nav a,
|
||||
nav a:active,
|
||||
nav a:visited,
|
||||
|
@ -910,7 +918,7 @@ nav #nav-apps-link.selected {
|
|||
}
|
||||
|
||||
.notify-seen {
|
||||
background: none repeat scroll 0 0 #DDDDDD;
|
||||
background: none repeat scroll 0 0 #666;
|
||||
}
|
||||
|
||||
ul.menu-popup {
|
||||
|
@ -1401,7 +1409,7 @@ body .pageheader{
|
|||
padding-top: 10px;
|
||||
}
|
||||
.tread-wrapper a{
|
||||
color: #1872A2;
|
||||
/* color: #1872A2; */
|
||||
}
|
||||
|
||||
.wall-item-decor {
|
||||
|
@ -1680,7 +1688,7 @@ body .pageheader{
|
|||
.wall-item-comment-wrapper .comment-edit-text-full {
|
||||
font-size: 14px;
|
||||
height: 4em;
|
||||
color: #2e302e;
|
||||
color: #eec;
|
||||
border: 1px solid #2e302e;
|
||||
}
|
||||
.comment-edit-preview {
|
||||
|
|
|
@ -555,6 +555,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #ffffff;
|
||||
|
@ -609,9 +610,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
|
|
@ -557,6 +557,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #ffffff;
|
||||
|
@ -611,9 +612,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/*color*/
|
||||
/* messages */
|
||||
|
|
|
@ -555,6 +555,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #ffffff;
|
||||
|
@ -609,9 +610,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
|
|
@ -557,6 +557,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #ffffff;
|
||||
|
@ -611,9 +612,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
/*color*/
|
||||
|
|
|
@ -554,6 +554,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #ffffff;
|
||||
|
@ -619,10 +620,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
margin-left: 3px;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
|
|
@ -554,6 +554,7 @@ code {
|
|||
text-decoration: none;
|
||||
}
|
||||
/* popup notifications */
|
||||
div.jGrowl.top-right { top: 30px; /* put it below header/nav bar */ }
|
||||
div.jGrowl div.notice {
|
||||
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
|
||||
color: #ffffff;
|
||||
|
@ -619,10 +620,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
margin-left: 3px;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
|
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
1485
view/theme/diabook/js/jquery.mapquery.core.js
Normal file
1485
view/theme/diabook/js/jquery.mapquery.core.js
Normal file
File diff suppressed because it is too large
Load diff
87
view/theme/diabook/js/jquery.mapquery.legend.js
Normal file
87
view/theme/diabook/js/jquery.mapquery.legend.js
Normal file
|
@ -0,0 +1,87 @@
|
|||
/* 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.legend.js
|
||||
A plugin on mapquery.core to add a legend to a layer. It will check if the layer
|
||||
is within a valid extent and zoom range. And if not will return an error message.
|
||||
*/
|
||||
|
||||
(function($, MQ) {
|
||||
$.extend( $.fn.mapQuery.defaults.layer.all, {
|
||||
legend: {
|
||||
url: '',
|
||||
msg: ''
|
||||
}
|
||||
});
|
||||
//possible error messages to display in the legend
|
||||
LEGEND_ERRORS= ['E_ZOOMOUT', 'E_ZOOMIN', 'E_OUTSIDEBOX'];
|
||||
$.extend(MQ.Layer.prototype, {
|
||||
/**
|
||||
###**layer**.`legend([options])`
|
||||
_version added 0.1_
|
||||
####**Description**: get/set the legend of a layer
|
||||
|
||||
**options** url:url the url to the legend image
|
||||
|
||||
>Returns: {url:url, msg:'E\_ZOOMOUT' | 'E\_ZOOMIN' | 'E\_OUTSIDEBOX' | ''}
|
||||
|
||||
|
||||
The `.legend()` function allows us to attach a legend image to a layer. It will
|
||||
also check if the layer is not visible due to wrong extent or zoom level.
|
||||
It will return an error message which can be used to notify the user.
|
||||
|
||||
|
||||
var legend = layer.legend(); //get the current legend
|
||||
//set the legend url to legendimage.png
|
||||
layer.legend({url:'legendimage.png'})
|
||||
|
||||
*/
|
||||
//get/set the legend object
|
||||
legend: function(options) {
|
||||
//get the legend object
|
||||
var center = this.map.center();
|
||||
if (arguments.length===0) {
|
||||
this._checkZoom(center);
|
||||
//if zoom = ok, check box
|
||||
if(this.options.legend.msg==''){
|
||||
this._checkBox(center);
|
||||
}
|
||||
return this.options.legend;
|
||||
}
|
||||
//set the legend url
|
||||
if (options.url!==undefined) {
|
||||
this.options.legend.url = options.url;
|
||||
return this.options.legend;
|
||||
}
|
||||
},
|
||||
//Check if the layer has a maximum box set and if the current box
|
||||
//is outside these settings, set the legend.msg accordingly
|
||||
_checkBox: function(center){
|
||||
var maxExtent = this.options.maxExtent;
|
||||
if(maxExtent!==undefined) {
|
||||
var mapBounds = new OpenLayers.Bounds(
|
||||
center.box[0],center.box[1],center.box[2],center.box[3]);
|
||||
var layerBounds = new OpenLayers.Bounds(
|
||||
maxExtent[0],maxExtent[1],maxExtent[2],maxExtent[3]);
|
||||
var inside = layerBounds.containsBounds(mapBounds, true);
|
||||
this.options.legend.msg = inside?'':LEGEND_ERRORS[2];
|
||||
}
|
||||
},
|
||||
//Check if the layer has a minimum or maximum zoom set and if the
|
||||
//current zoom is outside these settings, set the legend.msg accordingly
|
||||
_checkZoom: function(center){
|
||||
var zoom = center.zoom;
|
||||
var maxZoom = this.options.maxZoom;
|
||||
var minZoom = this.options.minZoom;
|
||||
this.options.legend.msg=(
|
||||
maxZoom!==undefined&&maxZoom<zoom)? LEGEND_ERRORS[0]:'';
|
||||
this.options.legend.msg=(
|
||||
minZoom!==undefined&&minZoom>zoom)? LEGEND_ERRORS[1]:'';
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})(jQuery, $.MapQuery);
|
310
view/theme/diabook/js/jquery.mapquery.mqLayerManager.js
Normal file
310
view/theme/diabook/js/jquery.mapquery.mqLayerManager.js
Normal file
|
@ -0,0 +1,310 @@
|
|||
/* 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.mqLayerManager.js
|
||||
The file containing the mqLayerManager Widget
|
||||
|
||||
### *$('selector')*.`mqLayerManager([options])`
|
||||
_version added 0.1_
|
||||
####**Description**: create a widget to manage layers
|
||||
|
||||
+ **options**:
|
||||
- **map**: the mapquery instance
|
||||
- **title**: Title that will be displayed at the top of the
|
||||
layer manager (default: Layer Manager)
|
||||
|
||||
|
||||
>Returns: widget
|
||||
|
||||
>Requires: jquery.mapquery.legend.js
|
||||
|
||||
|
||||
The mqLayerManager allows us to control the order, opacity and visibility
|
||||
of layers. We can also remove layers. It also shows the legend of the layer if
|
||||
available and the error messages provided by the legend plugin. It listens to
|
||||
layerchange event for order, transparancy and opacity changes. It listens to
|
||||
addlayer and removelayer events to keep track which layers are on the map.
|
||||
|
||||
|
||||
$('#layermanager').mqLayerManager({map:'#map'});
|
||||
|
||||
|
||||
*/
|
||||
(function($) {
|
||||
$.template('mqLayerManager',
|
||||
'<div class="mq-layermanager ui-widget-content ">'+
|
||||
'</div>');
|
||||
|
||||
$.template('mqLayerManagerElement',
|
||||
'<div class="mq-layermanager-element ui-widget-content ui-corner-all" id="mq-layermanager-element-${id}">'+
|
||||
'<div class="mq-layermanager-element-header ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">'+
|
||||
'<span class="mq-layermanager-label ui-dialog-title">${label}</span>'+
|
||||
'<a class="ui-dialog-titlebar-close ui-corner-all" href="#" role="button">'+
|
||||
'<span class="ui-icon ui-icon-closethick">close</span></a></div>'+
|
||||
'<div class="mq-layermanager-element-content">'+
|
||||
'<div class="mq-layermanager-element-visibility">'+
|
||||
'<input type="checkbox" class="mq-layermanager-element-vischeckbox" id="${id}-visibility" {{if visible}}checked="${visible}"{{/if}} />'+
|
||||
'<div class="mq-layermanager-element-slider-container">'+
|
||||
'<div class="mq-layermanager-element-slider"></div></div>'+
|
||||
'</div>'+
|
||||
'<div class="mq-layermanager-element-legend">'+
|
||||
'{{if imgUrl}}'+
|
||||
'<img src="${imgUrl}" style="opacity:${opacity}"/>'+
|
||||
'{{/if}}'+
|
||||
'{{if errMsg}}'+
|
||||
'${errMsg}'+
|
||||
'{{/if}}'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</div>');
|
||||
|
||||
$.widget("mapQuery.mqLayerManager", {
|
||||
options: {
|
||||
// The MapQuery instance
|
||||
map: undefined,
|
||||
|
||||
// Title that will be displayed at the top of the popup
|
||||
title: "Layer Manager"
|
||||
},
|
||||
_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');
|
||||
|
||||
this.element.addClass('ui-widget ui-helper-clearfix ' +
|
||||
'ui-corner-all');
|
||||
|
||||
var lmElement = $.tmpl('mqLayerManager').appendTo(element);
|
||||
element.find('.ui-icon-closethick').button();
|
||||
|
||||
lmElement.sortable({
|
||||
axis:'y',
|
||||
handle: '.mq-layermanager-element-header',
|
||||
update: function(event, ui) {
|
||||
var layerNodes = ui.item.siblings().andSelf();
|
||||
var num = layerNodes.length-1;
|
||||
layerNodes.each(function(i) {
|
||||
var layer = $(this).data('layer');
|
||||
var pos = num-i;
|
||||
self._position(layer, pos);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//these layers are already added to the map as such won't trigger
|
||||
//and event, we call the draw function directly
|
||||
$.each(map.layers().reverse(), function(){
|
||||
self._layerAdded(lmElement, this);
|
||||
});
|
||||
|
||||
element.delegate('.mq-layermanager-element-vischeckbox',
|
||||
'change',function() {
|
||||
var checkbox = $(this);
|
||||
var element = checkbox.parents('.mq-layermanager-element');
|
||||
var layer = element.data('layer');
|
||||
var self = element.data('self');
|
||||
self._visible(layer,checkbox.is(':checked'));
|
||||
});
|
||||
|
||||
element.delegate('.ui-icon-closethick', 'click', function() {
|
||||
var control = $(this).parents('.mq-layermanager-element');
|
||||
self._remove(control.data('layer'));
|
||||
});
|
||||
|
||||
//binding events
|
||||
map.bind("addlayer",
|
||||
{widget:self,control:lmElement},
|
||||
self._onLayerAdd);
|
||||
|
||||
map.bind("removelayer",
|
||||
{widget:self,control:lmElement},
|
||||
self._onLayerRemove);
|
||||
|
||||
map.bind("changelayer",
|
||||
{widget:self,map:map,control:lmElement},
|
||||
self._onLayerChange);
|
||||
|
||||
map.bind("moveend",
|
||||
{widget:self,map:map,control:lmElement},
|
||||
self._onMoveEnd);
|
||||
},
|
||||
_destroy: function() {
|
||||
this.element.removeClass(' ui-widget ui-helper-clearfix ' +
|
||||
'ui-corner-all')
|
||||
.empty();
|
||||
},
|
||||
//functions that actually change things on the map
|
||||
//call these from within the widget to do stuff on the map
|
||||
//their actions will trigger events on the map and in return
|
||||
//will trigger the _layer* functions
|
||||
_add: function(map,layer) {
|
||||
map.layers(layer);
|
||||
},
|
||||
|
||||
_remove: function(layer) {
|
||||
layer.remove();
|
||||
},
|
||||
|
||||
_position: function(layer, pos) {
|
||||
layer.position(pos);
|
||||
},
|
||||
|
||||
_visible: function(layer, vis) {
|
||||
layer.visible(vis);
|
||||
},
|
||||
|
||||
_opacity: function(layer,opac) {
|
||||
layer.opacity(opac);
|
||||
},
|
||||
|
||||
//functions that change the widget
|
||||
_layerAdded: function(widget, layer) {
|
||||
var self = this;
|
||||
var error = layer.legend().msg;
|
||||
var url;
|
||||
switch(error){
|
||||
case '':
|
||||
url =layer.legend().url;
|
||||
if(url==''){error='No legend for this layer';}
|
||||
break;
|
||||
case 'E_ZOOMOUT':
|
||||
error = 'Please zoom out to see this layer';
|
||||
break;
|
||||
case 'E_ZOOMIN':
|
||||
error = 'Please zoom in to see this layer';
|
||||
break;
|
||||
case 'E_OUTSIDEBOX':
|
||||
error = 'This layer is outside the current view';
|
||||
break;
|
||||
}
|
||||
|
||||
var layerElement = $.tmpl('mqLayerManagerElement',{
|
||||
id: layer.id,
|
||||
label: layer.label,
|
||||
position: layer.position(),
|
||||
visible: layer.visible(),
|
||||
imgUrl: url,
|
||||
opacity: layer.visible()?layer.opacity():0,
|
||||
errMsg: error
|
||||
})
|
||||
// save layer layer in the DOM, so we can easily
|
||||
// hide/show/delete the layer with live events
|
||||
.data('layer', layer)
|
||||
.data('self',self)
|
||||
.prependTo(widget);
|
||||
|
||||
$(".mq-layermanager-element-slider", layerElement).slider({
|
||||
max: 100,
|
||||
step: 1,
|
||||
value: layer.visible()?layer.opacity()*100:0,
|
||||
slide: function(event, ui) {
|
||||
var layer = layerElement.data('layer');
|
||||
var self = layerElement.data('self');
|
||||
self._opacity(layer,ui.value/100);
|
||||
},
|
||||
//using the slide event to check for the checkbox often gives errors.
|
||||
change: function(event, ui) {
|
||||
var layer = layerElement.data('layer');
|
||||
var self = layerElement.data('self');
|
||||
if(ui.value>=0.01) {
|
||||
if(!layer.visible()){layer.visible(true);}
|
||||
}
|
||||
if(ui.value<0.01) {
|
||||
if(layer.visible()){layer.visible(false);}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
_layerRemoved: function(widget, id) {
|
||||
var control = $("#mq-layermanager-element-"+id);
|
||||
control.fadeOut(function() {
|
||||
$(this).remove();
|
||||
});
|
||||
},
|
||||
|
||||
_layerPosition: function(widget, layer) {
|
||||
var layerNodes = widget.element.find('.mq-layermanager-element');
|
||||
var num = layerNodes.length-1;
|
||||
var tmpNodes = [];
|
||||
tmpNodes.length = layerNodes.length;
|
||||
layerNodes.each(function() {
|
||||
var layer = $(this).data('layer');
|
||||
var pos = num-layer.position();
|
||||
tmpNodes[pos]= this;
|
||||
});
|
||||
for (i=0;i<tmpNodes.length;i++) {
|
||||
layerNodes.parent().append(tmpNodes[i]);
|
||||
}
|
||||
},
|
||||
|
||||
_layerVisible: function(widget, layer) {
|
||||
var layerElement =
|
||||
widget.element.find('#mq-layermanager-element-'+layer.id);
|
||||
var checkbox =
|
||||
layerElement.find('.mq-layermanager-element-vischeckbox');
|
||||
checkbox[0].checked = layer.visible();
|
||||
//update the opacity slider as well
|
||||
var slider = layerElement.find('.mq-layermanager-element-slider');
|
||||
var value = layer.visible()?layer.opacity()*100: 0;
|
||||
slider.slider('value',value);
|
||||
|
||||
//update legend image
|
||||
layerElement.find('.mq-layermanager-element-legend img').css(
|
||||
{visibility:layer.visible()?true:'hidden'});
|
||||
},
|
||||
|
||||
_layerOpacity: function(widget, layer) {
|
||||
var layerElement = widget.element.find(
|
||||
'#mq-layermanager-element-'+layer.id);
|
||||
var slider = layerElement.find(
|
||||
'.mq-layermanager-element-slider');
|
||||
slider.slider('value',layer.opacity()*100);
|
||||
//update legend image
|
||||
layerElement.find(
|
||||
'.mq-layermanager-element-legend img').css(
|
||||
{opacity:layer.opacity()});
|
||||
},
|
||||
|
||||
_moveEnd: function (widget,lmElement,map) {
|
||||
lmElement.empty();
|
||||
$.each(map.layers().reverse(), function(){
|
||||
widget._layerAdded(lmElement, this);
|
||||
});
|
||||
},
|
||||
|
||||
//functions bind to the map events
|
||||
_onLayerAdd: function(evt, layer) {
|
||||
evt.data.widget._layerAdded(evt.data.control,layer);
|
||||
},
|
||||
|
||||
_onLayerRemove: function(evt, layer) {
|
||||
evt.data.widget._layerRemoved(evt.data.control,layer.id);
|
||||
},
|
||||
|
||||
_onLayerChange: function(evt, layer, property) {
|
||||
switch(property) {
|
||||
case 'opacity':
|
||||
evt.data.widget._layerOpacity(evt.data.widget,layer);
|
||||
break;
|
||||
case 'position':
|
||||
evt.data.widget._layerPosition(evt.data.widget,layer);
|
||||
break;
|
||||
case 'visibility':
|
||||
evt.data.widget._layerVisible(evt.data.widget,layer);
|
||||
break;
|
||||
}
|
||||
},
|
||||
_onMoveEnd: function(evt) {
|
||||
evt.data.widget._moveEnd(evt.data.widget,evt.data.control,evt.data.map);
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
92
view/theme/diabook/js/jquery.mapquery.mqMousePosition.js
Normal file
92
view/theme/diabook/js/jquery.mapquery.mqMousePosition.js
Normal file
|
@ -0,0 +1,92 @@
|
|||
/* 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() {
|
||||
//get the mapquery object
|
||||
this.map = $(this.options.map).data('mapQuery');
|
||||
|
||||
this.map.element.bind('mousemove', {widget: this}, this._onMousemove);
|
||||
$.tmpl('mqMousePosition', {}).appendTo(this.element);
|
||||
|
||||
},
|
||||
_destroy: function() {
|
||||
this.element.removeClass('ui-widget ui-helper-clearfix ' +
|
||||
'ui-corner-all')
|
||||
.empty();
|
||||
},
|
||||
_onMousemove: function(evt) {
|
||||
var self = evt.data.widget;
|
||||
var x = evt.pageX;
|
||||
var y = evt.pageY;
|
||||
var mapProjection = new OpenLayers.Projection(self.map.projection);
|
||||
var displayProjection = new OpenLayers.Projection(
|
||||
self.map.displayProjection);
|
||||
var pos = self.map.olMap.getLonLatFromLayerPx(
|
||||
new OpenLayers.Pixel(x, y));
|
||||
//if the coordinates should be displayed in something else,
|
||||
//set them via the map displayProjection option
|
||||
if(!mapProjection.equals(self.map.displayProjection)) {
|
||||
pos = pos.transform(mapProjection, displayProjection);
|
||||
}
|
||||
$("#id_diabook_ELPosX", document.element).val(
|
||||
self.options.x + pos.lon.toFixed(self.options.precision));
|
||||
$("#id_diabook_ELPosY", document.element).val(
|
||||
self.options.y + pos.lat.toFixed(self.options.precision));
|
||||
}
|
||||
});
|
||||
})(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']);
|
||||
|
@ -202,7 +202,7 @@
|
|||
// default styling
|
||||
a: { textDecoration: 'none', color: '#3B5998' },
|
||||
bird: { width: '50px', height: '20px', position: 'absolute', left: '-30px', top: '-20px', border: 'none' },
|
||||
container: { overflow: 'hidden', backgroundColor: '', height: '600px' },
|
||||
container: { overflow: 'hidden', backgroundColor: '', height: '600px', width: '170px' },
|
||||
fail: { background: '#6cc5c3 url(http://cloud.github.com/downloads/malsup/twitter/failwhale.png) no-repeat 50% 50%', height: '100%', padding: '10px' },
|
||||
frame: { border: '0px solid #C2CFF1', borderRadius: '0px', '-moz-border-radius': '0px', '-webkit-border-radius': '0px' },
|
||||
tweet: { padding: '5px 10px', clear: 'left' },
|
||||
|
@ -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' }
|
||||
}
|
||||
|
|
|
@ -136,7 +136,7 @@
|
|||
</nav>
|
||||
|
||||
|
||||
<div id="scrollup" style="position: fixed; bottom: 5px; right: 10px;z-index: 97;"><a id="down" onclick="scrolldown()" ><img id="scroll_top_bottom" src="view/theme/diabook/icons/scroll_bottom.png" style="display:cursor !important;" alt="back to top" title="Back to top"></a></div>
|
||||
<div id="scrollup" style="position: fixed; bottom: 5px; right: 10px;z-index: 97;"><a id="down" onclick="scrolldown()" ><img id="scroll_top_bottom" src="view/theme/diabook/icons/scroll_bottom.png" style="display:cursor !important;" alt="back to top" title="Scroll to bottom"></a></div>
|
||||
<div style="position: fixed; bottom: 3px; left: 25px;">$langselector</div>
|
||||
<div style="position: fixed; bottom: 23px; left: 5px;"><a href="http://pad.toktan.org/p/diabook" target="blank" ><img src="view/theme/diabook/icons/bluebug.png" title="report bugs for the theme diabook"/></a></div>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
40
view/theme/diabook/prv_message.tpl
Normal file
40
view/theme/diabook/prv_message.tpl
Normal file
|
@ -0,0 +1,40 @@
|
|||
|
||||
<h3>$header</h3>
|
||||
|
||||
<div id="prvmail-wrapper" >
|
||||
<form id="prvmail-form" action="message" method="post" >
|
||||
|
||||
$parent
|
||||
|
||||
<div id="prvmail-to-label">$to</div>
|
||||
|
||||
{{ if $showinputs }}
|
||||
<input type="text" id="recip" style="background: none repeat scroll 0 0 white;border: 1px solid #CCC;border-radius: 5px 5px 5px 5px;height: 20px;margin: 0 0 5px;
|
||||
vertical-align: middle;" name="messageto" value="$prefill" maxlength="255" size="64" tabindex="10" />
|
||||
<input type="hidden" id="recip-complete" name="messageto" value="$preid">
|
||||
{{ else }}
|
||||
$select
|
||||
{{ endif }}
|
||||
|
||||
<div id="prvmail-subject-label">$subject</div>
|
||||
<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="$subjtxt" $readonly tabindex="11" />
|
||||
|
||||
<div id="prvmail-message-label">$yourmessage</div>
|
||||
<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">$text</textarea>
|
||||
|
||||
|
||||
<div id="prvmail-submit-wrapper" >
|
||||
<input type="submit" id="prvmail-submit" name="submit" value="Submit" tabindex="13" />
|
||||
<div id="prvmail-upload-wrapper" >
|
||||
<div id="prvmail-upload" class="icon border camera" title="$upload" ></div>
|
||||
</div>
|
||||
<div id="prvmail-link-wrapper" >
|
||||
<div id="prvmail-link" class="icon border link" title="$insert" onclick="jotGetLink();" ></div>
|
||||
</div>
|
||||
<div id="prvmail-rotator-wrapper" >
|
||||
<img id="prvmail-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
|
||||
</div>
|
||||
</div>
|
||||
<div id="prvmail-end"></div>
|
||||
</form>
|
||||
</div>
|
|
@ -610,9 +610,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
|
|
@ -611,9 +611,7 @@ header #banner #logo-img {
|
|||
margin-top: 3px;
|
||||
}
|
||||
header #banner #logo-text {
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 20px!important;position: relative!important;top: -4px!important;
|
||||
}
|
||||
/* messages */
|
||||
#message-new {
|
||||
|
|
|
@ -3,25 +3,83 @@
|
|||
/*
|
||||
* 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.027)
|
||||
* 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.027)";
|
||||
$a->page['htmlhead'] .= sprintf('<META NAME="theme" CONTENT="%s"/>', $diabook_version);
|
||||
|
||||
//change css on network and profilepages
|
||||
$cssFile = null;
|
||||
|
||||
$close_pages = false;
|
||||
$site_close_pages = get_config("diabook", "close_pages" );
|
||||
if (local_user()) {$close_pages = get_pconfig(local_user(), "diabook", "close_pages");}
|
||||
if ($close_pages===false) $close_pages=$site_close_pages;
|
||||
if ($close_pages===false) $close_pages="1";
|
||||
|
||||
$close_profiles = false;
|
||||
$site_close_profiles = get_config("diabook", "close_profiles" );
|
||||
if (local_user()) {$close_profiles = get_pconfig(local_user(), "diabook", "close_profiles");}
|
||||
if ($close_profiles===false) $close_profiles=$site_close_profiles;
|
||||
if ($close_profiles===false) $close_profiles="0";
|
||||
|
||||
$close_helpers = false;
|
||||
$site_close_helpers = get_config("diabook", "close_helpers" );
|
||||
if (local_user()) {$close_helpers = get_pconfig(local_user(), "diabook", "close_helpers");}
|
||||
if ($close_helpers===false) $close_helpers=$site_close_helpers;
|
||||
if ($close_helpers===false) $close_helpers="0";
|
||||
|
||||
$close_services = false;
|
||||
$site_close_services = get_config("diabook", "close_services" );
|
||||
if (local_user()) {$close_services = get_pconfig(local_user(), "diabook", "close_services");}
|
||||
if ($close_services===false) $close_services=$site_close_services;
|
||||
if ($close_services===false) $close_services="0";
|
||||
|
||||
$close_friends = false;
|
||||
$site_close_friends = get_config("diabook", "close_friends" );
|
||||
if (local_user()) {$close_friends = get_pconfig(local_user(), "diabook", "close_friends");}
|
||||
if ($close_friends===false) $close_friends=$site_close_friends;
|
||||
if ($close_friends===false) $close_friends="0";
|
||||
|
||||
$close_lastusers = false;
|
||||
$site_close_lastusers = get_config("diabook", "close_lastusers" );
|
||||
if (local_user()) {$close_lastusers = get_pconfig(local_user(), "diabook", "close_lastusers");}
|
||||
if ($close_lastusers===false) $close_lastusers=$site_close_lastusers;
|
||||
if ($close_lastusers===false) $close_lastusers="0";
|
||||
|
||||
$close_lastphotos = false;
|
||||
$site_close_lastphotos = get_config("diabook", "close_lastphotos" );
|
||||
if (local_user()) {$close_lastphotos = get_pconfig(local_user(), "diabook", "close_lastphotos");}
|
||||
if ($close_lastphotos===false) $close_lastphotos=$site_close_lastphotos;
|
||||
if ($close_lastphotos===false) $close_lastphotos="0";
|
||||
|
||||
$close_lastlikes = false;
|
||||
$site_close_lastlikes = get_config("diabook", "close_lastlikes" );
|
||||
if (local_user()) {$close_lastlikes = get_pconfig(local_user(), "diabook", "close_lastlikes");}
|
||||
if ($close_lastlikes===false) $close_lastlikes=$site_close_lastlikes;
|
||||
if ($close_lastlikes===false) $close_lastlikes="0";
|
||||
|
||||
$close_twitter = false;
|
||||
$site_close_twitter = get_config("diabook", "close_twitter" );
|
||||
if (local_user()) {$close_twitter = get_pconfig(local_user(), "diabook", "close_twitter");}
|
||||
if ($close_twitter===false) $close_twitter=$site_close_twitter;
|
||||
if ($close_twitter===false) $close_twitter="1";
|
||||
|
||||
$close_mapquery = false;
|
||||
$site_close_mapquery = get_config("diabook", "close_mapquery" );
|
||||
if (local_user()) {$close_mapquery = get_pconfig(local_user(), "diabook", "close_mapquery");}
|
||||
if ($close_mapquery===false) $close_mapquery=$site_close_mapquery;
|
||||
if ($close_mapquery===false) $close_mapquery="1";
|
||||
|
||||
|
||||
$resolution=false;
|
||||
$resolution = get_pconfig(local_user(), "diabook", "resolution");
|
||||
if ($resolution===false) $resolution="normal";
|
||||
|
@ -80,9 +138,8 @@ 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'];
|
||||
|
||||
if($ccCookie != "9") {
|
||||
$ccCookie = $close_pages + $close_mapquery + $close_profiles + $close_helpers + $close_services + $close_friends + $close_twitter + $close_lastusers + $close_lastphotos + $close_lastlikes;
|
||||
if($ccCookie != "10") {
|
||||
// COMMUNITY
|
||||
diabook_community_info();
|
||||
|
||||
|
@ -96,7 +153,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();
|
||||
|
||||
|
@ -113,51 +170,137 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s"></script>', $cookieJS);
|
||||
|
||||
//load jquery.ae.image.resize.js
|
||||
$imageresizeJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.ae.image.resize.js";
|
||||
$imageresizeJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.ae.image.resize.min.js";
|
||||
$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);
|
||||
}
|
||||
|
||||
//load jquery.twitter.search.js
|
||||
if($_COOKIE['close_twitter'] != "1") {
|
||||
if($close_twitter != "1") {
|
||||
$twitterJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.twitter.search.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $twitterJS);
|
||||
}
|
||||
|
||||
//load jquery.mapquery.js
|
||||
|
||||
if($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);
|
||||
$mqlegendJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.mapquery.legend.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $mqlegendJS);
|
||||
$mqlayermanagerJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.mapquery.mqLayerManager.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $mqlayermanagerJS);
|
||||
|
||||
}
|
||||
|
||||
$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;");}} );
|
||||
$("a#closeicon").fancybox({onClosed: function() { $("#boxsettings").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($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:900px;");
|
||||
$("#map2").mapQuery({
|
||||
layers:[{type:"osm", label:"OpenStreetMap" },
|
||||
{type:"wms", label:"Population density 2010", legend:{url:"http://mapserver.edugis.nl/cgi-bin/mapserv?map=maps/edugis/cache/population.map&version=1.1.1&service=WMS&request=GetLegendGraphic&layer=Bevolkingsdichtheid_2010&format=image/png"}, url:"http://t1.edugis.nl/tiles/tilecache.py?map=maps/edugis/cache/population.map",
|
||||
layers:"Bevolkingsdichtheid_2010" }],
|
||||
center:({zoom:'.$ELZoom.',position:['.$ELPosX.','.$ELPosY.']})});
|
||||
|
||||
$("#mouseposition").mqMousePosition({
|
||||
map: "#map2",
|
||||
x:"",
|
||||
y:"",
|
||||
precision:4
|
||||
});
|
||||
|
||||
$("#layermanager").mqLayerManager({map:"#map2"});
|
||||
|
||||
map = $("#map2").mapQuery().data("mapQuery");
|
||||
textarea = document.getElementById("id_diabook_ELZoom");
|
||||
textarea.value = "'.$ELZoom.'";
|
||||
$("#map2").bind("mousewheel", function(event, delta) {
|
||||
if (delta > 0 && textarea.value < 18){
|
||||
textarea.value = textarea.value - delta*-1; }
|
||||
if (delta < 0 && textarea.value > "0"){
|
||||
textarea.value = textarea.value - delta*-1; }
|
||||
});
|
||||
};
|
||||
</script>';
|
||||
}
|
||||
//check if twitterbox is active and print
|
||||
if($_COOKIE['close_twitter'] != "1") {
|
||||
if($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 +312,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
<script>
|
||||
$(document).ready(function() {
|
||||
$("div#login-submit-wrapper").attr("style","padding-top: 120px;");
|
||||
|
||||
});
|
||||
</script>';
|
||||
}
|
||||
|
@ -186,125 +330,81 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$a->page['htmlhead'] .= '
|
||||
<script>
|
||||
function restore_boxes(){
|
||||
$.cookie("close_pages","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: "/" });
|
||||
$.cookie("close_friends","2", { expires: 365, path: "/" });
|
||||
$.cookie("close_twitter","2", { expires: 365, path: "/" });
|
||||
$.cookie("close_lastusers","2", { expires: 365, path: "/" });
|
||||
$.cookie("close_lastphotos","2", { expires: 365, path: "/" });
|
||||
$.cookie("close_lastlikes","2", { expires: 365, path: "/" });
|
||||
$.cookie("Boxorder",null, { expires: 365, path: "/" });
|
||||
alert("Right-hand column was restored. Please refresh your browser");
|
||||
alert("Boxorder at right-hand column was restored. Please refresh your browser");
|
||||
}
|
||||
</script>';}
|
||||
|
||||
if ($a->argv[0].$a->argv[1] === "profile".$a->user['nickname'] or $a->argv[0] === "network" && local_user()){
|
||||
$a->page['htmlhead'] .= '
|
||||
<script>
|
||||
|
||||
$(function() {
|
||||
$(".oembed.photo img").aeImageResize({height: 400, width: 400});
|
||||
});
|
||||
</script>';
|
||||
|
||||
if($ccCookie != "9") {
|
||||
if($ccCookie != "10") {
|
||||
$a->page['htmlhead'] .= '
|
||||
<script>
|
||||
$("right_aside").ready(function(){
|
||||
|
||||
if($.cookie("close_pages") == "1")
|
||||
if('.$close_pages.')
|
||||
{
|
||||
document.getElementById( "close_pages" ).style.display = "none";
|
||||
};
|
||||
|
||||
if($.cookie("close_profiles") == "1")
|
||||
if('.$close_mapquery.')
|
||||
{
|
||||
document.getElementById( "close_mapquery" ).style.display = "none";
|
||||
};
|
||||
|
||||
if('.$close_profiles.')
|
||||
{
|
||||
document.getElementById( "close_profiles" ).style.display = "none";
|
||||
};
|
||||
|
||||
if($.cookie("close_helpers") == "1")
|
||||
if('.$close_helpers.')
|
||||
{
|
||||
document.getElementById( "close_helpers" ).style.display = "none";
|
||||
};
|
||||
|
||||
if($.cookie("close_services") == "1")
|
||||
if('.$close_services.')
|
||||
{
|
||||
document.getElementById( "close_services" ).style.display = "none";
|
||||
};
|
||||
|
||||
if($.cookie("close_friends") == "1")
|
||||
if('.$close_friends.')
|
||||
{
|
||||
document.getElementById( "close_friends" ).style.display = "none";
|
||||
};
|
||||
|
||||
if($.cookie("close_twitter") == "1")
|
||||
if('.$close_twitter.')
|
||||
{
|
||||
document.getElementById( "twitter" ).style.display = "none";
|
||||
document.getElementById( "close_twitter" ).style.display = "none";
|
||||
};
|
||||
|
||||
if($.cookie("close_lastusers") == "1")
|
||||
if('.$close_lastusers.')
|
||||
{
|
||||
document.getElementById( "close_lastusers" ).style.display = "none";
|
||||
};
|
||||
|
||||
if($.cookie("close_lastphotos") == "1")
|
||||
if('.$close_lastphotos.')
|
||||
{
|
||||
document.getElementById( "close_lastphotos" ).style.display = "none";
|
||||
};
|
||||
|
||||
if($.cookie("close_lastlikes") == "1")
|
||||
if('.$close_lastlikes.')
|
||||
{
|
||||
document.getElementById( "close_lastlikes" ).style.display = "none";
|
||||
};}
|
||||
|
||||
);
|
||||
|
||||
function close_pages(){
|
||||
document.getElementById( "close_pages" ).style.display = "none";
|
||||
$.cookie("close_pages","1", { expires: 365, path: "/" });
|
||||
};
|
||||
function open_boxsettings() {
|
||||
$("div#boxsettings").attr("style","display: block;height:500px;width:300px;");
|
||||
$("label").attr("style","width: 150px;");
|
||||
};
|
||||
|
||||
function close_profiles(){
|
||||
document.getElementById( "close_profiles" ).style.display = "none";
|
||||
$.cookie("close_profiles","1", { expires: 365, path: "/" });
|
||||
};
|
||||
|
||||
function close_helpers(){
|
||||
document.getElementById( "close_helpers" ).style.display = "none";
|
||||
$.cookie("close_helpers","1", { expires: 365, path: "/" });
|
||||
};
|
||||
|
||||
function close_services(){
|
||||
document.getElementById( "close_services" ).style.display = "none";
|
||||
$.cookie("close_services","1", { expires: 365, path: "/" });
|
||||
};
|
||||
|
||||
function close_friends(){
|
||||
document.getElementById( "close_friends" ).style.display = "none";
|
||||
$.cookie("close_friends","1", { expires: 365, path: "/" });
|
||||
};
|
||||
|
||||
function close_twitter(){
|
||||
document.getElementById( "twitter" ).style.display = "none";
|
||||
$.cookie("close_twitter","1", { expires: 365, path: "/" });
|
||||
};
|
||||
|
||||
function close_lastusers(){
|
||||
document.getElementById( "close_lastusers" ).style.display = "none";
|
||||
$.cookie("close_lastusers","1", { expires: 365, path: "/" });
|
||||
};
|
||||
|
||||
function close_lastphotos(){
|
||||
document.getElementById( "close_lastphotos" ).style.display = "none";
|
||||
$.cookie("close_lastphotos","1", { expires: 365, path: "/" });
|
||||
};
|
||||
|
||||
function close_lastlikes(){
|
||||
document.getElementById( "close_lastlikes" ).style.display = "none";
|
||||
$.cookie("close_lastlikes","1", { expires: 365, path: "/" });
|
||||
};
|
||||
</script>';}
|
||||
}
|
||||
//end js scripts
|
||||
|
@ -317,15 +417,77 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$a->page['footer'] .= replace_macros($tpl, array());
|
||||
|
||||
//
|
||||
js_in_foot();
|
||||
js_diabook_footer();
|
||||
}
|
||||
|
||||
|
||||
function diabook_community_info() {
|
||||
$a = get_app();
|
||||
|
||||
$close_pages = false;
|
||||
$site_close_pages = get_config("diabook", "close_pages" );
|
||||
if (local_user()) {$close_pages = get_pconfig(local_user(), "diabook", "close_pages");}
|
||||
if ($close_pages===false) $close_pages=$site_close_pages;
|
||||
if ($close_pages===false) $close_pages="1";
|
||||
|
||||
$close_profiles = false;
|
||||
$site_close_profiles = get_config("diabook", "close_profiles" );
|
||||
if (local_user()) {$close_profiles = get_pconfig(local_user(), "diabook", "close_profiles");}
|
||||
if ($close_profiles===false) $close_profiles=$site_close_profiles;
|
||||
if ($close_profiles===false) $close_profiles="0";
|
||||
|
||||
$close_helpers = false;
|
||||
$site_close_helpers = get_config("diabook", "close_helpers" );
|
||||
if (local_user()) {$close_helpers = get_pconfig(local_user(), "diabook", "close_helpers");}
|
||||
if ($close_helpers===false) $close_helpers=$site_close_helpers;
|
||||
if ($close_helpers===false) $close_helpers="0";
|
||||
|
||||
$close_services = false;
|
||||
$site_close_services = get_config("diabook", "close_services" );
|
||||
if (local_user()) {$close_services = get_pconfig(local_user(), "diabook", "close_services");}
|
||||
if ($close_services===false) $close_services=$site_close_services;
|
||||
if ($close_services===false) $close_services="0";
|
||||
|
||||
$close_friends = false;
|
||||
$site_close_friends = get_config("diabook", "close_friends" );
|
||||
if (local_user()) {$close_friends = get_pconfig(local_user(), "diabook", "close_friends");}
|
||||
if ($close_friends===false) $close_friends=$site_close_friends;
|
||||
if ($close_friends===false) $close_friends="0";
|
||||
|
||||
$close_lastusers = false;
|
||||
$site_close_lastusers = get_config("diabook", "close_lastusers" );
|
||||
if (local_user()) {$close_lastusers = get_pconfig(local_user(), "diabook", "close_lastusers");}
|
||||
if ($close_lastusers===false) $close_lastusers=$site_close_lastusers;
|
||||
if ($close_lastusers===false) $close_lastusers="0";
|
||||
|
||||
$close_lastphotos = false;
|
||||
$site_close_lastphotos = get_config("diabook", "close_lastphotos" );
|
||||
if (local_user()) {$close_lastphotos = get_pconfig(local_user(), "diabook", "close_lastphotos");}
|
||||
if ($close_lastphotos===false) $close_lastphotos=$site_close_lastphotos;
|
||||
if ($close_lastphotos===false) $close_lastphotos="0";
|
||||
|
||||
$close_lastlikes = false;
|
||||
$site_close_lastlikes = get_config("diabook", "close_lastlikes" );
|
||||
if (local_user()) {$close_lastlikes = get_pconfig(local_user(), "diabook", "close_lastlikes");}
|
||||
if ($close_lastlikes===false) $close_lastlikes=$site_close_lastlikes;
|
||||
if ($close_lastlikes===false) $close_lastlikes="0";
|
||||
|
||||
$close_twitter = false;
|
||||
$site_close_twitter = get_config("diabook", "close_twitter" );
|
||||
if (local_user()) {$close_twitter = get_pconfig(local_user(), "diabook", "close_twitter");}
|
||||
if ($close_twitter===false) $close_twitter=$site_close_twitter;
|
||||
if ($close_twitter===false) $close_twitter="1";
|
||||
|
||||
$close_mapquery = false;
|
||||
$site_close_mapquery = get_config("diabook", "close_mapquery" );
|
||||
if (local_user()) {$close_mapquery = get_pconfig(local_user(), "diabook", "close_mapquery");}
|
||||
if ($close_mapquery===false) $close_mapquery=$site_close_mapquery;
|
||||
if ($close_mapquery===false) $close_mapquery="1";
|
||||
|
||||
|
||||
// comunity_profiles
|
||||
if($_COOKIE['close_profiles'] != "1") {
|
||||
$aside['$comunity_profilest_title'] = t('Community Profiles');
|
||||
if($close_profiles != "1") {
|
||||
$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");
|
||||
|
@ -345,7 +507,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
}}
|
||||
|
||||
// last 12 users
|
||||
if($_COOKIE['close_lastusers'] != "1") {
|
||||
if($close_lastusers != "1") {
|
||||
$aside['$lastusers_title'] = t('Last users');
|
||||
$aside['$lastusers_items'] = array();
|
||||
$sql_extra = "";
|
||||
|
@ -374,7 +536,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
}}
|
||||
|
||||
// last 10 liked items
|
||||
if($_COOKIE['close_lastlikes'] != "1") {
|
||||
if($close_lastlikes != "1") {
|
||||
$aside['$like_title'] = t('Last likes');
|
||||
$aside['$like_items'] = array();
|
||||
$r = q("SELECT `T1`.`created`, `T1`.`liker`, `T1`.`liker-link`, `item`.* FROM
|
||||
|
@ -419,7 +581,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
}}
|
||||
|
||||
// last 12 photos
|
||||
if($_COOKIE['close_photos'] != "1") {
|
||||
if($close_lastphotos != "1") {
|
||||
$aside['$photos_title'] = t('Last photos');
|
||||
$aside['$photos_items'] = array();
|
||||
$r = q("SELECT `photo`.`id`, `photo`.`resource-id`, `photo`.`scale`, `photo`.`desc`, `user`.`nickname`, `user`.`username` FROM
|
||||
|
@ -454,7 +616,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
}}
|
||||
|
||||
//right_aside FIND FRIENDS
|
||||
if($_COOKIE['close_friends'] != "1") {
|
||||
if($close_friends != "1") {
|
||||
if(local_user()) {
|
||||
$nv = array();
|
||||
$nv['title'] = Array("", t('Find Friends'), "", "");
|
||||
|
@ -475,10 +637,10 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
}}
|
||||
|
||||
//Community_Pages at right_aside
|
||||
if($_COOKIE['close_pages'] != "1") {
|
||||
if($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="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decoration:none;" class="icon close_box" title="'.t("Settings").'"></a></h3>
|
||||
<div id=""><ul style="margin-left: 7px;margin-top: 0px;padding-left: 0px;padding-top: 0px;">';
|
||||
|
||||
$pagelist = array();
|
||||
|
@ -509,20 +671,107 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
}}
|
||||
//END Community Page
|
||||
|
||||
//mapquery
|
||||
|
||||
if($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['$ELZoom'] = array('diabook_ELZoom', t('Set zoomfactor for Earth Layers'), $ELZoom, '', $ELZoom);
|
||||
$aside['$ELPosX'] = array('diabook_ELPosX', t('Set longitude (X) for Earth Layers'), $ELPosX, '', $ELPosX);
|
||||
$aside['$ELPosY'] = array('diabook_ELPosY', t('Set latitude (Y) for Earth Layers'), $ELPosY, '', $ELPosY);
|
||||
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") {
|
||||
if($close_helpers != "1") {
|
||||
$helpers = array();
|
||||
$helpers['title'] = Array("", t('Help or @NewHere ?'), "", "");
|
||||
$aside['$helpers'] = $helpers;
|
||||
}
|
||||
//end helpers
|
||||
//connectable services
|
||||
if($_COOKIE['close_services'] != "1") {
|
||||
if($close_services != "1") {
|
||||
$con_services = array();
|
||||
$con_services['title'] = Array("", t('Connect Services'), "", "");
|
||||
$aside['$con_services'] = $con_services;
|
||||
}
|
||||
//end connectable services
|
||||
//twitter
|
||||
if($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['$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
|
||||
if($ccCookie != "10") {
|
||||
$close_pages = get_pconfig(local_user(), 'diabook', 'close_pages' );
|
||||
$close_mapquery = get_pconfig(local_user(), 'diabook', 'close_mapquery' );
|
||||
$close_profiles = get_pconfig(local_user(), 'diabook', 'close_profiles' );
|
||||
$close_helpers = get_pconfig(local_user(), 'diabook', 'close_helpers' );
|
||||
$close_services = get_pconfig(local_user(), 'diabook', 'close_services' );
|
||||
$close_friends = get_pconfig(local_user(), 'diabook', 'close_friends' );
|
||||
$close_twitter = get_pconfig(local_user(), 'diabook', 'close_twitter' );
|
||||
$close_lastusers = get_pconfig(local_user(), 'diabook', 'close_lastusers' );
|
||||
$close_lastphotos = get_pconfig(local_user(), 'diabook', 'close_lastphotos' );
|
||||
$close_lastlikes = get_pconfig(local_user(), 'diabook', 'close_lastlikes' );
|
||||
$close_pagesC = array('1'=>t("don't show"), '0'=>t("show"),);
|
||||
$close_mapqueryC = array('1'=>t("don't show"), '0'=>t("show"),);
|
||||
$close_profilesC = array('1'=>t("don't show"), '0'=>t("show"),);
|
||||
$close_helpersC = array('1'=>t("don't show"), '0'=>t("show"),);
|
||||
$close_servicesC = array('1'=>t("don't show"), '0'=>t("show"),);
|
||||
$close_friendsC = array('1'=>t("don't show"), '0'=>t("show"),);
|
||||
$close_twitterC = array('1'=>t("don't show"), '0'=>t("show"),);
|
||||
$close_lastusersC = array('1'=>t("don't show"), '0'=>t("show"),);
|
||||
$close_lastphotosC = array('1'=>t("don't show"), '0'=>t("show"),);
|
||||
$close_lastlikesC = array('1'=>t("don't show"), '0'=>t("show"),);
|
||||
$boxsettings['title'] = Array("", t('Show/hide boxes at right-hand column:'), "", "");
|
||||
$aside['$boxsettings'] = $boxsettings;
|
||||
$aside['$close_pages'] = array('diabook_close_pages', t('Community Pages'), $close_pages, '', $close_pagesC);
|
||||
$aside['$close_mapquery'] = array('diabook_close_mapquery', t('Earth Layers'), $close_mapquery, '', $close_mapqueryC);
|
||||
$aside['$close_profiles'] = array('diabook_close_profiles', t('Community Profiles'), $close_profiles, '', $close_profilesC);
|
||||
$aside['$close_helpers'] = array('diabook_close_helpers', t('Help or @NewHere ?'), $close_helpers, '', $close_helpersC);
|
||||
$aside['$close_services'] = array('diabook_close_services', t('Connect Services'), $close_services, '', $close_servicesC);
|
||||
$aside['$close_friends'] = array('diabook_close_friends', t('Find Friends'), $close_friends, '', $close_friendsC);
|
||||
$aside['$close_twitter'] = array('diabook_close_twitter', t('Last Tweets'), $close_twitter, '', $close_twitterC);
|
||||
$aside['$close_lastusers'] = array('diabook_close_lastusers', t('Last users'), $close_lastusers, '', $close_lastusersC);
|
||||
$aside['$close_lastphotos'] = array('diabook_close_lastphotos', t('Last photos'), $close_lastphotos, '', $close_lastphotosC);
|
||||
$aside['$close_lastlikes'] = array('diabook_close_lastlikes', t('Last likes'), $close_lastlikes, '', $close_lastlikesC);
|
||||
$aside['$sub'] = t('Submit');
|
||||
$baseurl = $a->get_baseurl($ssl_state);
|
||||
$aside['$baseurl'] = $baseurl;
|
||||
if (isset($_POST['diabook-settings-box-sub']) && $_POST['diabook-settings-box-sub']!=''){
|
||||
set_pconfig(local_user(), 'diabook', 'close_pages', $_POST['diabook_close_pages']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_mapquery', $_POST['diabook_close_mapquery']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_profiles', $_POST['diabook_close_profiles']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_helpers', $_POST['diabook_close_helpers']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_services', $_POST['diabook_close_services']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_friends', $_POST['diabook_close_friends']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_twitter', $_POST['diabook_close_twitter']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_lastusers', $_POST['diabook_close_lastusers']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_lastphotos', $_POST['diabook_close_lastphotos']);
|
||||
set_pconfig(local_user(), 'diabook', 'close_lastlikes', $_POST['diabook_close_lastlikes']);
|
||||
}
|
||||
}
|
||||
$close = t('Settings');
|
||||
$aside['$close'] = $close;
|
||||
//get_baseurl
|
||||
$url = $a->get_baseurl($ssl_state);
|
||||
$aside['$url'] = $url;
|
||||
|
@ -532,7 +781,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();
|
||||
|
@ -543,13 +792,3 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -6,11 +6,36 @@
|
|||
|
||||
{{inc field_select.tpl with $field=$resolution}}{{endinc}}
|
||||
|
||||
<div class="field select">
|
||||
<a onClick="restore_boxes()" title="Restore right-hand column" style="cursor: pointer;">Restore right-hand column</a>
|
||||
<div class="settings-submit-wrapper">
|
||||
<input type="submit" value="$submit" class="settings-submit" name="diabook-settings-submit" />
|
||||
</div>
|
||||
<br>
|
||||
<h3>Show/hide boxes at right-hand column</h3>
|
||||
{{inc field_select.tpl with $field=$close_pages}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_profiles}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_helpers}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_services}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_friends}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_lastusers}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_lastphotos}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_lastlikes}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_twitter}}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$TSearchTerm}}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$close_mapquery}}{{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="settings-submit-wrapper">
|
||||
<input type="submit" value="$submit" class="settings-submit" name="diabook-settings-submit" />
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="field select">
|
||||
<a onClick="restore_boxes()" title="Restore boxorder at right-hand column" style="cursor: pointer;">Restore boxorder at 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;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;}
|
||||
|
@ -266,11 +279,12 @@ div[id$="wrapper"]{height:100%;margin-bottom:1em;}div[id$="wrapper"] br{clear:le
|
|||
.mail-conv-subject{clear:right;font-weight:bold;font-size:1.2em;}
|
||||
.mail-conv-body{clear:both;}
|
||||
.mail-conv-delete-wrapper{margin-top:5px;}
|
||||
.view-contact-wrapper,.contact-entry-wrapper{float:left;margin:0 5px 40px 0;width:120px;height:120px;padding:3px;position:relative;}
|
||||
.view-contact-wrapper,.contact-entry-wrapper{float:left;margin:0 5px 40px 0;width:120px;height:135px;padding:3px;position:relative;}
|
||||
.contact-direction-wrapper{position:absolute;top:20px;}
|
||||
.contact-edit-links{position:absolute;top:60px;}
|
||||
.contact-entry-photo{margin-left:20px;}
|
||||
.contact-entry-name{width:120px;font-weight:bold;}
|
||||
.contact-entry-name{width:120px;font-weight:bold;font-size:small;}
|
||||
.contact-entry-details{font-size:x-small;}
|
||||
.contact-entry-photo{position:relative;}
|
||||
.contact-entry-edit-links .icon{border:1px solid #babdb6;-o-border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;background-color:white;}
|
||||
#contact-entry-url,[id^="contact-entry-url"],#contact-entry-network,[id^="contact-entry-network"]{font-size:smaller;}
|
||||
|
@ -395,7 +409,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 +418,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 +498,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 +524,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;
|
||||
}
|
||||
|
||||
|
||||
|
@ -217,11 +268,12 @@ blockquote {
|
|||
[class$="-desc"], [id$="-desc"] {
|
||||
color: @bg_colour;
|
||||
background: @main_colour;
|
||||
.rounded_corners;
|
||||
.box_shadow(3px, 3px, 5px);
|
||||
padding: 3px;
|
||||
margin: 5px 0;
|
||||
// .rounded_corners;
|
||||
// .box_shadow(3px, 3px, 5px);
|
||||
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;
|
||||
|
@ -1680,10 +1736,11 @@ div {
|
|||
/**
|
||||
* contacts
|
||||
*/
|
||||
.view-contact-wrapper, .contact-entry-wrapper {
|
||||
.view-contact-wrapper,
|
||||
.contact-entry-wrapper {
|
||||
float: left;
|
||||
margin: 0 5px 40px 0;
|
||||
.box(120px, 120px);
|
||||
.box(120px, 135px);
|
||||
padding: 3px;
|
||||
position: relative;
|
||||
}
|
||||
|
@ -1703,6 +1760,10 @@ div {
|
|||
.contact-entry-name {
|
||||
width: 120px;
|
||||
font-weight: bold;
|
||||
font-size: small;
|
||||
}
|
||||
.contact-entry-details {
|
||||
font-size: x-small;
|
||||
}
|
||||
.contact-entry-photo {
|
||||
position: relative;
|
||||
|
@ -2346,7 +2407,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 +2456,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 +2836,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 +3016,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);
|
||||
}
|
||||
}
|
||||
|
|
61
view/theme/duepuntozero/moderated_comment.tpl
Executable file
61
view/theme/duepuntozero/moderated_comment.tpl
Executable file
|
@ -0,0 +1,61 @@
|
|||
<div class="comment-wwedit-wrapper" id="comment-edit-wrapper-$id" style="display: block;">
|
||||
<form class="comment-edit-form" id="comment-edit-form-$id" action="item" method="post" onsubmit="post_comment($id); return false;">
|
||||
<input type="hidden" name="type" value="$type" />
|
||||
<input type="hidden" name="profile_uid" value="$profile_uid" />
|
||||
<input type="hidden" name="parent" value="$parent" />
|
||||
<input type="hidden" name="return" value="$return_path" />
|
||||
<input type="hidden" name="jsreload" value="$jsreload" />
|
||||
<input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" />
|
||||
|
||||
<div class="comment-edit-photo" id="comment-edit-photo-$id" >
|
||||
<a class="comment-edit-photo-link" href="$mylink" title="$mytitle"><img class="my-comment-photo" src="$myphoto" alt="$mytitle" title="$mytitle" /></a>
|
||||
</div>
|
||||
<div class="comment-edit-photo-end"></div>
|
||||
<div id="mod-cmnt-wrap-$id" class="mod-cmnt-wrap" style="display:none">
|
||||
<div id="mod-cmnt-name-lbl-$id" class="mod-cmnt-name-lbl">$lbl_modname</div>
|
||||
<input type="text" id="mod-cmnt-name-$id" class="mod-cmnt-name" name="mod-cmnt-name" value="$modname" />
|
||||
<div id="mod-cmnt-email-lbl-$id" class="mod-cmnt-email-lbl">$lbl_modemail</div>
|
||||
<input type="text" id="mod-cmnt-email-$id" class="mod-cmnt-email" name="mod-cmnt-email" value="$modemail" />
|
||||
<div id="mod-cmnt-url-lbl-$id" class="mod-cmnt-url-lbl">$lbl_modurl</div>
|
||||
<input type="text" id="mod-cmnt-url-$id" class="mod-cmnt-url" name="mod-cmnt-url" value="$modurl" />
|
||||
</div>
|
||||
<ul class="comment-edit-bb-$id">
|
||||
<li><a class="editicon boldbb shadow"
|
||||
style="cursor: pointer;" title="$edbold"
|
||||
onclick="insertFormatting('$comment','b', $id);"></a></li>
|
||||
<li><a class="editicon italicbb shadow"
|
||||
style="cursor: pointer;" title="$editalic"
|
||||
onclick="insertFormatting('$comment','i', $id);"></a></li>
|
||||
<li><a class="editicon underlinebb shadow"
|
||||
style="cursor: pointer;" title="$eduline"
|
||||
onclick="insertFormatting('$comment','u', $id);"></a></li>
|
||||
<li><a class="editicon quotebb shadow"
|
||||
style="cursor: pointer;" title="$edquote"
|
||||
onclick="insertFormatting('$comment','quote', $id);"></a></li>
|
||||
<li><a class="editicon codebb shadow"
|
||||
style="cursor: pointer;" title="$edcode"
|
||||
onclick="insertFormatting('$comment','code', $id);"></a></li>
|
||||
<li><a class="editicon imagebb shadow"
|
||||
style="cursor: pointer;" title="$edimg"
|
||||
onclick="insertFormatting('$comment','img', $id);"></a></li>
|
||||
<li><a class="editicon urlbb shadow"
|
||||
style="cursor: pointer;" title="$edurl"
|
||||
onclick="insertFormatting('$comment','url', $id);"></a></li>
|
||||
<li><a class="editicon videobb shadow"
|
||||
style="cursor: pointer;" title="$edvideo"
|
||||
onclick="insertFormatting('$comment','video', $id);"></a></li>
|
||||
</ul>
|
||||
<div class="comment-edit-bb-end"></div>
|
||||
<textarea id="comment-edit-text-$id" class="comment-edit-text-empty" name="body" onFocus="commentOpen(this,$id);cmtBbOpen($id);" onBlur="commentClose(this,$id);" >$comment</textarea>
|
||||
|
||||
<div class="comment-edit-text-end"></div>
|
||||
<div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-$id" style="display: none;" >
|
||||
<input type="submit" onclick="post_comment($id); return false;" id="comment-edit-submit-$id" class="comment-edit-submit" name="submit" value="$submit" />
|
||||
<span onclick="preview_comment($id);" id="comment-edit-preview-link-$id" class="fakelink">$preview</span>
|
||||
<div id="comment-edit-preview-$id" class="comment-edit-preview" style="display:none;"></div>
|
||||
</div>
|
||||
|
||||
<div class="comment-edit-end"></div>
|
||||
</form>
|
||||
|
||||
</div>
|
39
view/theme/duepuntozero/prv_message.tpl
Normal file
39
view/theme/duepuntozero/prv_message.tpl
Normal file
|
@ -0,0 +1,39 @@
|
|||
|
||||
<h3>$header</h3>
|
||||
|
||||
<div id="prvmail-wrapper" >
|
||||
<form id="prvmail-form" action="message" method="post" >
|
||||
|
||||
$parent
|
||||
|
||||
<div id="prvmail-to-label">$to</div>
|
||||
|
||||
{{ if $showinputs }}
|
||||
<input type="text" id="recip" name="messageto" value="$prefill" maxlength="255" size="64" tabindex="10" />
|
||||
<input type="hidden" id="recip-complete" name="messageto" value="$preid">
|
||||
{{ else }}
|
||||
$select
|
||||
{{ endif }}
|
||||
|
||||
<div id="prvmail-subject-label">$subject</div>
|
||||
<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="$subjtxt" $readonly tabindex="11" />
|
||||
|
||||
<div id="prvmail-message-label">$yourmessage</div>
|
||||
<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">$text</textarea>
|
||||
|
||||
|
||||
<div id="prvmail-submit-wrapper" >
|
||||
<input type="submit" id="prvmail-submit" name="submit" value="Submit" tabindex="13" />
|
||||
<div id="prvmail-upload-wrapper" >
|
||||
<div id="prvmail-upload" class="icon border camera" title="$upload" ></div>
|
||||
</div>
|
||||
<div id="prvmail-link-wrapper" >
|
||||
<div id="prvmail-link" class="icon border link" title="$insert" onclick="jotGetLink();" ></div>
|
||||
</div>
|
||||
<div id="prvmail-rotator-wrapper" >
|
||||
<img id="prvmail-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
|
||||
</div>
|
||||
</div>
|
||||
<div id="prvmail-end"></div>
|
||||
</form>
|
||||
</div>
|
|
@ -3167,3 +3167,11 @@ ul.menu-popup {
|
|||
#id_term {
|
||||
width:100px;
|
||||
}
|
||||
|
||||
#recip {
|
||||
|
||||
}
|
||||
.autocomplete-w1 { background: #ffffff; no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }
|
||||
.autocomplete { color:#000; 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; overflow:hidden; }
|
||||
|
|
Loading…
Reference in a new issue