mirror of
https://github.com/friendica/friendica
synced 2024-11-10 13:02:54 +00:00
Merge https://github.com/friendica/friendica into pull
This commit is contained in:
commit
8a10af3bce
18 changed files with 1321 additions and 236 deletions
|
@ -31,6 +31,7 @@ $(document).ready(function() {
|
|||
for (var Sitem=0, m = SavedID.length; Sitem < m; Sitem++) {
|
||||
$("#sortable_boxes").append($("#sortable_boxes").children("#" + SavedID[Sitem]));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function tautogrow(id){
|
||||
|
|
|
@ -1,3 +1,39 @@
|
|||
|
||||
<div id="twittersettings" style="display:none">
|
||||
<form id="twittersettingsform" action="network" method="post" >
|
||||
{{inc field_input.tpl with $field=$TSearchTerm}}{{endinc}}
|
||||
<div class="settings-submit-wrapper">
|
||||
<input id="twittersub" type="submit" value="$sub" class="settings-submit" name="diabook-settings-sub"></input>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="mapcontrol" style="display:none;">
|
||||
<form id="mapform" action="network" method="post" >
|
||||
<span style="width: 500px;position: relative;float: right;right:20px;"><p>this ist still under development.
|
||||
the idea is to provide a map with different layers(e.g. earth population, atomic power plants, wheat growing acreages, sunrise or what you want)
|
||||
and markers(events, demos, friends, anything, that is intersting for you).
|
||||
These layer and markers should be importable and deletable by the user.</p>
|
||||
<p>help on this feature is very appreciated. i am not that good in js so it's a start, but needs tweaks and further dev.
|
||||
just contact me, if you are intesrested in joining</p>
|
||||
<p>http://localhost/friendica/profile/thomas</p>
|
||||
<p>this is build with <b>mapquery</b> http://mapquery.org/ and
|
||||
<b>openlayers</b>http://openlayers.org/</p>
|
||||
</span>
|
||||
<div id="map2" style="height:350px;width:350px;"></div>
|
||||
<div id="mouseposition" style="width: 350px;"></div>
|
||||
<div id="zoom">
|
||||
zoom:<input type="text" id="mapzoom" value=""></input>
|
||||
</div>
|
||||
{{inc field_input.tpl with $field=$ELZoom}}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$ELPosX}}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$ELPosY}}{{endinc}}
|
||||
<div class="settings-submit-wrapper">
|
||||
<input id="mapsub" type="submit" value="$sub" class="settings-submit" name="diabook-settings-map-sub"></input>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="pos_null" style="margin-bottom:-30px;">
|
||||
</div>
|
||||
|
||||
|
@ -7,10 +43,11 @@
|
|||
{{ if $page }}
|
||||
<div>$page</div>
|
||||
{{ endif }}
|
||||
</div>
|
||||
|
||||
<div id="close_profiles">
|
||||
{{ if $comunity_profilest_title }}
|
||||
<h3>$comunity_profilest_title<a id="close_comunity_profiles_icon" onClick="close_profiles()" class="icon close_box" title="$close"></a></h3>
|
||||
{{ if $comunity_profiles_title }}
|
||||
<h3>$comunity_profiles_title<a id="close_comunity_profiles_icon" onClick="close_profiles()" class="icon close_box" title="$close"></a></h3>
|
||||
<div id='lastusers-wrapper' class='items-wrapper'>
|
||||
{{ for $comunity_profiles_items as $i }}
|
||||
$i
|
||||
|
@ -22,6 +59,7 @@
|
|||
<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>
|
||||
<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>
|
||||
|
@ -103,27 +141,14 @@ $nv.search
|
|||
<h3 style="height:1.17em">$twitter.title.1<a id="close_twitter_icon" onClick="close_twitter()" class="icon close_box" title="$close"></a></h3>
|
||||
<div id="twitter">
|
||||
</div>
|
||||
<div id="twittersettings" style="display:none;">
|
||||
<form id="twittersettings-form" action="network" method="post" autocomplete="off">
|
||||
{{inc field_input.tpl with $field=$TSearchTerm}}{{endinc}}
|
||||
<div class="settings-submit-wrapper">
|
||||
<input type="submit" value="$submit" class="settings-submit" name="diabook-settings-submit" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="close_mapquery">
|
||||
{{ if $mapquery }}
|
||||
<h3>$mapquery.title.1<a id="close_mapquery_icon" onClick="close_mapquery()" class="icon close_box" title="$close"></a></h3>
|
||||
<div id="map" style="height:170px;width:170px;margin-top:3px;margin-bottom:1px;">
|
||||
</div>
|
||||
<div style="font-size:9px;">Data CC-By-SA by <a href="http://openstreetmap.org/">OpenStreetMap</a></div>
|
||||
<div id="#mapcontrol" style="display:none;" class="lightbox">
|
||||
hallo welt
|
||||
<div id="map2" style="height:370px;width:370px;margin-top:3px;margin-bottom:1px;">
|
||||
</div>
|
||||
<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>
|
|
@ -14,8 +14,11 @@ function theme_content(&$a){
|
|||
$resolution = get_pconfig(local_user(), 'diabook', 'resolution' );
|
||||
$color = get_pconfig(local_user(), 'diabook', 'color' );
|
||||
$TSearchTerm = get_pconfig(local_user(), 'diabook', 'TSearchTerm' );
|
||||
$ELZoom = get_pconfig(local_user(), 'diabook', 'ELZoom' );
|
||||
$ELPosX = get_pconfig(local_user(), 'diabook', 'ELPosX' );
|
||||
$ELPosY = get_pconfig(local_user(), 'diabook', 'ELPosY' );
|
||||
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color, $TSearchTerm);
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color, $TSearchTerm, $ELZoom, $ELPosX, $ELPosY);
|
||||
}
|
||||
|
||||
function theme_post(&$a){
|
||||
|
@ -28,6 +31,9 @@ function theme_post(&$a){
|
|||
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']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -38,8 +44,11 @@ function theme_admin(&$a){
|
|||
$resolution = get_config('diabook', 'resolution' );
|
||||
$color = get_config('diabook', 'color' );
|
||||
$TSearchTerm = get_config('diabook', 'TSearchTerm' );
|
||||
$ELZoom = get_config('diabook', 'ELZoom' );
|
||||
$ELPosX = get_config('diabook', 'ELPosX' );
|
||||
$ELPosY = get_config('diabook', 'ELPosY' );
|
||||
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color, $TSearchTerm);
|
||||
return diabook_form($a,$font_size, $line_height, $resolution, $color, $TSearchTerm, $ELZoom, $ELPosX, $ELPosY);
|
||||
}
|
||||
|
||||
function theme_admin_post(&$a){
|
||||
|
@ -49,11 +58,14 @@ function theme_admin_post(&$a){
|
|||
set_config('diabook', 'resolution', $_POST['diabook_resolution']);
|
||||
set_config('diabook', 'color', $_POST['diabook_color']);
|
||||
set_config('diabook', 'TSearchTerm', $_POST['diabook_TSearchTerm']);
|
||||
set_config('diabook', 'ELZoom', $_POST['diabook_ELZoom']);
|
||||
set_config('diabook', 'ELPosX', $_POST['diabook_ELPosX']);
|
||||
set_config('diabook', 'ELPosY', $_POST['diabook_ELPosY']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function diabook_form(&$a, $font_size, $line_height, $resolution, $color, $TSearchTerm){
|
||||
function diabook_form(&$a, $font_size, $line_height, $resolution, $color, $TSearchTerm, $ELZoom, $ELPosX, $ELPosY){
|
||||
$line_heights = array(
|
||||
"1.3"=>"1.3",
|
||||
"---"=>"---",
|
||||
|
@ -100,6 +112,9 @@ function diabook_form(&$a, $font_size, $line_height, $resolution, $color, $TSear
|
|||
'$resolution' => array('diabook_resolution', t('Set resolution for middle column'), $resolution, '', $resolutions),
|
||||
'$color' => array('diabook_color', t('Set color scheme'), $color, '', $colors),
|
||||
'$TSearchTerm' => array('diabook_TSearchTerm', t('Set twitter search term'), $TSearchTerm, '', $TSearchTerm),
|
||||
'$ELZoom' => array('diabook_ELZoom', t('Set zoomfactor for Earth Layer'), $ELZoom, '', $ELZoom),
|
||||
'$ELPosX' => array('diabook_ELPosX', t('Set longitude (X) for Earth Layer'), $ELPosX, '', $ELPosX),
|
||||
'$ELPosY' => array('diabook_ELPosY', t('Set latitude (Y) for Earth Layer'), $ELPosY, '', $ELPosY),
|
||||
));
|
||||
return $o;
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
107
view/theme/diabook/js/jquery.mapquery.mqMousePosition.js
Normal file
107
view/theme/diabook/js/jquery.mapquery.mqMousePosition.js
Normal file
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (c) 2011 by MapQuery Contributors (see AUTHORS for
|
||||
* full list of contributors). Published under the MIT license.
|
||||
* See https://github.com/mapquery/mapquery/blob/master/LICENSE for the
|
||||
* full text of the license. */
|
||||
|
||||
/**
|
||||
#jquery.mapquery.mqMousePosition.js
|
||||
The file containing the mqMousePosition Widget
|
||||
|
||||
### *$('selector')*.`mqMousePosition([options])`
|
||||
_version added 0.1_
|
||||
####**Description**: create a widget to show the location under the mouse pointer
|
||||
|
||||
+ **options**
|
||||
- **map**: the mapquery instance
|
||||
- **precision**: the number of decimals (default 2)
|
||||
- **x**: the label for the x-coordinate (default x)
|
||||
- **y**: the label for the y-coordinate (default y)
|
||||
|
||||
|
||||
>Returns: widget
|
||||
|
||||
|
||||
The mqMousePosition allows us to show the coordinates under the mouse pointer
|
||||
|
||||
|
||||
$('#mousepointer').mqMousePointer({
|
||||
map: '#map'
|
||||
});
|
||||
|
||||
*/
|
||||
(function($) {
|
||||
$.template('mqMousePosition',
|
||||
'<div class="mq-mouseposition ui-widget ui-helper-clearfix ">'+
|
||||
'<span class="ui-widget-content ui-helper-clearfix ui-corner-all ui-corner-all">'+
|
||||
'<div id="mq-mouseposition-x" class="mq-mouseposition-coordinate">'+
|
||||
'</div><div id="mq-mouseposition-y" class="mq-mouseposition-coordinate">'+
|
||||
'</div></div></span>');
|
||||
|
||||
$.widget("mapQuery.mqMousePosition", {
|
||||
options: {
|
||||
// The MapQuery instance
|
||||
map: undefined,
|
||||
|
||||
// The number of decimals for the coordinates
|
||||
// default: 2
|
||||
// TODO: JCB20110630 use dynamic precision based on the pixel
|
||||
// resolution, no need to configure precision
|
||||
precision: 2,
|
||||
|
||||
// The label of the x-value
|
||||
// default: 'x'
|
||||
x: 'x',
|
||||
// The label of the y-value
|
||||
// default: 'y'
|
||||
y: 'y'
|
||||
|
||||
},
|
||||
_create: function() {
|
||||
var map;
|
||||
var self = this;
|
||||
var element = this.element;
|
||||
var mousepos;
|
||||
|
||||
//get the mapquery object
|
||||
map = $(this.options.map).data('mapQuery');
|
||||
|
||||
map.bind("mousemove",
|
||||
{widget:self,map:map},
|
||||
self._onMouseMove);
|
||||
|
||||
|
||||
$.tmpl('mqMousePosition',{
|
||||
mouseposition:mousepos
|
||||
}).appendTo(element);
|
||||
|
||||
},
|
||||
_destroy: function() {
|
||||
this.element.removeClass(' ui-widget ui-helper-clearfix ' +
|
||||
'ui-corner-all')
|
||||
.empty();
|
||||
},
|
||||
_mouseMoved: function(data, element, map) {
|
||||
var x = data.layerX;
|
||||
var y = data.layerY;
|
||||
var mapProjection = map.options.projection;
|
||||
var displayProjection = map.options.projection;
|
||||
//if the coordinates should be displayed in something else,
|
||||
//set them via the map displayProjection option
|
||||
var pos = map.olMap.getLonLatFromLayerPx(new OpenLayers.Pixel(x,y));
|
||||
if(map.options.displayProjection) {
|
||||
displayProjection = map.options.displayProjection;
|
||||
pos=pos.transform(
|
||||
new OpenLayers.Projection(mapProjection),
|
||||
new OpenLayers.Projection(displayProjection));
|
||||
}
|
||||
$("#mq-mouseposition-x", element).html(
|
||||
this.options.x+': '+pos.lon.toFixed(this.options.precision));
|
||||
$("#mq-mouseposition-y", element).html(
|
||||
this.options.y+': '+pos.lat.toFixed(this.options.precision));
|
||||
},
|
||||
|
||||
_onMouseMove: function(evt, data) {
|
||||
evt.data.widget._mouseMoved(data,evt.data.control,evt.data.map);
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
85
view/theme/diabook/js/jquery.mapquery.mqZoomSlider.js
Normal file
85
view/theme/diabook/js/jquery.mapquery.mqZoomSlider.js
Normal file
|
@ -0,0 +1,85 @@
|
|||
/* Copyright (c) 2011 by MapQuery Contributors (see AUTHORS for
|
||||
* full list of contributors). Published under the MIT license.
|
||||
* See https://github.com/mapquery/mapquery/blob/master/LICENSE for the
|
||||
* full text of the license. */
|
||||
|
||||
|
||||
/**
|
||||
#jquery.mapquery.mqZoomSlider.js
|
||||
The file containing the mqZoomSlider Widget
|
||||
|
||||
### *$('selector')*.`mqZoomSlider([options])`
|
||||
_version added 0.1_
|
||||
####**Description**: create a widget to show a zoom slider
|
||||
|
||||
+ **options**:
|
||||
- **map**: the mapquery instance
|
||||
|
||||
>Returns: widget
|
||||
|
||||
|
||||
The mqZoomSlider widget allows us to display a vertical zoom slider.
|
||||
|
||||
|
||||
$('#zoomslider').mqZoomSlider({
|
||||
map: '#map'
|
||||
});
|
||||
|
||||
*/
|
||||
(function($) {
|
||||
$.template('mqZoomSlider',
|
||||
'<div class="mq-zoomslider ui-widget ui-helper-clearfix ">'+
|
||||
'<div class="mq-zoomslider-slider"></div>'+
|
||||
'</div>');
|
||||
|
||||
$.widget("mapQuery.mqZoomSlider", {
|
||||
options: {
|
||||
// The MapQuery instance
|
||||
map: undefined
|
||||
|
||||
},
|
||||
_create: function() {
|
||||
var map;
|
||||
var zoom;
|
||||
var numzoomlevels;
|
||||
var self = this;
|
||||
var element = this.element;
|
||||
|
||||
//get the mapquery object
|
||||
map = $(this.options.map).data('mapQuery');
|
||||
|
||||
$.tmpl('mqZoomSlider').appendTo(element);
|
||||
|
||||
numzoomlevels = map.options.numZoomLevels;
|
||||
$(".mq-zoomslider-slider", element).slider({
|
||||
max: numzoomlevels,
|
||||
min:2,
|
||||
orientation: 'vertical',
|
||||
step: 1,
|
||||
value: numzoomlevels - map.center().zoom,
|
||||
slide: function(event, ui) {
|
||||
map.center({zoom:numzoomlevels-ui.value});
|
||||
},
|
||||
change: function(event, ui) {
|
||||
map.center({zoom:numzoomlevels-ui.value});
|
||||
}
|
||||
});
|
||||
map.bind("zoomend",
|
||||
{widget:self,map:map,control:element},
|
||||
self._onZoomEnd);
|
||||
|
||||
},
|
||||
_destroy: function() {
|
||||
this.element.removeClass(' ui-widget ui-helper-clearfix ' +
|
||||
'ui-corner-all')
|
||||
.empty();
|
||||
},
|
||||
_zoomEnd: function (element,map) {
|
||||
var slider = element.find('.mq-zoomslider-slider');
|
||||
slider.slider('value',map.options.numZoomLevels-map.center().zoom);
|
||||
},
|
||||
_onZoomEnd: function(evt) {
|
||||
evt.data.widget._zoomEnd(evt.data.control,evt.data.map);
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
84
view/theme/diabook/js/jquery.mousewheel.js
Normal file
84
view/theme/diabook/js/jquery.mousewheel.js
Normal file
|
@ -0,0 +1,84 @@
|
|||
/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
|
||||
* Licensed under the MIT License (LICENSE.txt).
|
||||
*
|
||||
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
|
||||
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
|
||||
* Thanks to: Seamus Leahy for adding deltaX and deltaY
|
||||
*
|
||||
* Version: 3.0.6
|
||||
*
|
||||
* Requires: 1.2.2+
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
var types = ['DOMMouseScroll', 'mousewheel'];
|
||||
|
||||
if ($.event.fixHooks) {
|
||||
for ( var i=types.length; i; ) {
|
||||
$.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
|
||||
}
|
||||
}
|
||||
|
||||
$.event.special.mousewheel = {
|
||||
setup: function() {
|
||||
if ( this.addEventListener ) {
|
||||
for ( var i=types.length; i; ) {
|
||||
this.addEventListener( types[--i], handler, false );
|
||||
}
|
||||
} else {
|
||||
this.onmousewheel = handler;
|
||||
}
|
||||
},
|
||||
|
||||
teardown: function() {
|
||||
if ( this.removeEventListener ) {
|
||||
for ( var i=types.length; i; ) {
|
||||
this.removeEventListener( types[--i], handler, false );
|
||||
}
|
||||
} else {
|
||||
this.onmousewheel = null;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.extend({
|
||||
mousewheel: function(fn) {
|
||||
return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
|
||||
},
|
||||
|
||||
unmousewheel: function(fn) {
|
||||
return this.unbind("mousewheel", fn);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function handler(event) {
|
||||
var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
|
||||
event = $.event.fix(orgEvent);
|
||||
event.type = "mousewheel";
|
||||
|
||||
// Old school scrollwheel delta
|
||||
if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
|
||||
if ( orgEvent.detail ) { delta = -orgEvent.detail/3; }
|
||||
|
||||
// New school multidimensional scroll (touchpads) deltas
|
||||
deltaY = delta;
|
||||
|
||||
// Gecko
|
||||
if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
|
||||
deltaY = 0;
|
||||
deltaX = -1*delta;
|
||||
}
|
||||
|
||||
// Webkit
|
||||
if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
|
||||
if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
|
||||
|
||||
// Add event and delta to the front of the arguments
|
||||
args.unshift(event, delta, deltaX, deltaY);
|
||||
|
||||
return ($.event.dispatch || $.event.handle).apply(this, args);
|
||||
}
|
||||
|
||||
})(jQuery);
|
486
view/theme/diabook/js/jquery.tmpl.js
Normal file
486
view/theme/diabook/js/jquery.tmpl.js
Normal file
|
@ -0,0 +1,486 @@
|
|||
/*
|
||||
* jQuery Templating Plugin
|
||||
* Copyright 2010, John Resig
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
*/
|
||||
(function( jQuery, undefined ){
|
||||
var oldManip = jQuery.fn.domManip, tmplItmAtt = "_tmplitem", htmlExpr = /^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,
|
||||
newTmplItems = {}, wrappedItems = {}, appendToTmplItems, topTmplItem = { key: 0, data: {} }, itemKey = 0, cloneIndex = 0, stack = [];
|
||||
|
||||
function newTmplItem( options, parentItem, fn, data ) {
|
||||
// Returns a template item data structure for a new rendered instance of a template (a 'template item').
|
||||
// The content field is a hierarchical array of strings and nested items (to be
|
||||
// removed and replaced by nodes field of dom elements, once inserted in DOM).
|
||||
var newItem = {
|
||||
data: data || (parentItem ? parentItem.data : {}),
|
||||
_wrap: parentItem ? parentItem._wrap : null,
|
||||
tmpl: null,
|
||||
parent: parentItem || null,
|
||||
nodes: [],
|
||||
calls: tiCalls,
|
||||
nest: tiNest,
|
||||
wrap: tiWrap,
|
||||
html: tiHtml,
|
||||
update: tiUpdate
|
||||
};
|
||||
if ( options ) {
|
||||
jQuery.extend( newItem, options, { nodes: [], parent: parentItem } );
|
||||
}
|
||||
if ( fn ) {
|
||||
// Build the hierarchical content to be used during insertion into DOM
|
||||
newItem.tmpl = fn;
|
||||
newItem._ctnt = newItem._ctnt || newItem.tmpl( jQuery, newItem );
|
||||
newItem.key = ++itemKey;
|
||||
// Keep track of new template item, until it is stored as jQuery Data on DOM element
|
||||
(stack.length ? wrappedItems : newTmplItems)[itemKey] = newItem;
|
||||
}
|
||||
return newItem;
|
||||
}
|
||||
|
||||
// Override appendTo etc., in order to provide support for targeting multiple elements. (This code would disappear if integrated in jquery core).
|
||||
jQuery.each({
|
||||
appendTo: "append",
|
||||
prependTo: "prepend",
|
||||
insertBefore: "before",
|
||||
insertAfter: "after",
|
||||
replaceAll: "replaceWith"
|
||||
}, function( name, original ) {
|
||||
jQuery.fn[ name ] = function( selector ) {
|
||||
var ret = [], insert = jQuery( selector ), elems, i, l, tmplItems,
|
||||
parent = this.length === 1 && this[0].parentNode;
|
||||
|
||||
appendToTmplItems = newTmplItems || {};
|
||||
if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
|
||||
insert[ original ]( this[0] );
|
||||
ret = this;
|
||||
} else {
|
||||
for ( i = 0, l = insert.length; i < l; i++ ) {
|
||||
cloneIndex = i;
|
||||
elems = (i > 0 ? this.clone(true) : this).get();
|
||||
jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
|
||||
ret = ret.concat( elems );
|
||||
}
|
||||
cloneIndex = 0;
|
||||
ret = this.pushStack( ret, name, insert.selector );
|
||||
}
|
||||
tmplItems = appendToTmplItems;
|
||||
appendToTmplItems = null;
|
||||
jQuery.tmpl.complete( tmplItems );
|
||||
return ret;
|
||||
};
|
||||
});
|
||||
|
||||
jQuery.fn.extend({
|
||||
// Use first wrapped element as template markup.
|
||||
// Return wrapped set of template items, obtained by rendering template against data.
|
||||
tmpl: function( data, options, parentItem ) {
|
||||
return jQuery.tmpl( this[0], data, options, parentItem );
|
||||
},
|
||||
|
||||
// Find which rendered template item the first wrapped DOM element belongs to
|
||||
tmplItem: function() {
|
||||
return jQuery.tmplItem( this[0] );
|
||||
},
|
||||
|
||||
// Consider the first wrapped element as a template declaration, and get the compiled template or store it as a named template.
|
||||
template: function( name ) {
|
||||
return jQuery.template( name, this[0] );
|
||||
},
|
||||
|
||||
domManip: function( args, table, callback, options ) {
|
||||
// This appears to be a bug in the appendTo, etc. implementation
|
||||
// it should be doing .call() instead of .apply(). See #6227
|
||||
if ( args[0] && args[0].nodeType ) {
|
||||
var dmArgs = jQuery.makeArray( arguments ), argsLength = args.length, i = 0, tmplItem;
|
||||
while ( i < argsLength && !(tmplItem = jQuery.data( args[i++], "tmplItem" ))) {}
|
||||
if ( argsLength > 1 ) {
|
||||
dmArgs[0] = [jQuery.makeArray( args )];
|
||||
}
|
||||
if ( tmplItem && cloneIndex ) {
|
||||
dmArgs[2] = function( fragClone ) {
|
||||
// Handler called by oldManip when rendered template has been inserted into DOM.
|
||||
jQuery.tmpl.afterManip( this, fragClone, callback );
|
||||
};
|
||||
}
|
||||
oldManip.apply( this, dmArgs );
|
||||
} else {
|
||||
oldManip.apply( this, arguments );
|
||||
}
|
||||
cloneIndex = 0;
|
||||
if ( !appendToTmplItems ) {
|
||||
jQuery.tmpl.complete( newTmplItems );
|
||||
}
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
jQuery.extend({
|
||||
// Return wrapped set of template items, obtained by rendering template against data.
|
||||
tmpl: function( tmpl, data, options, parentItem ) {
|
||||
var ret, topLevel = !parentItem;
|
||||
if ( topLevel ) {
|
||||
// This is a top-level tmpl call (not from a nested template using {{tmpl}})
|
||||
parentItem = topTmplItem;
|
||||
tmpl = jQuery.template[tmpl] || jQuery.template( null, tmpl );
|
||||
wrappedItems = {}; // Any wrapped items will be rebuilt, since this is top level
|
||||
} else if ( !tmpl ) {
|
||||
// The template item is already associated with DOM - this is a refresh.
|
||||
// Re-evaluate rendered template for the parentItem
|
||||
tmpl = parentItem.tmpl;
|
||||
newTmplItems[parentItem.key] = parentItem;
|
||||
parentItem.nodes = [];
|
||||
if ( parentItem.wrapped ) {
|
||||
updateWrapped( parentItem, parentItem.wrapped );
|
||||
}
|
||||
// Rebuild, without creating a new template item
|
||||
return jQuery( build( parentItem, null, parentItem.tmpl( jQuery, parentItem ) ));
|
||||
}
|
||||
if ( !tmpl ) {
|
||||
return []; // Could throw...
|
||||
}
|
||||
if ( typeof data === "function" ) {
|
||||
data = data.call( parentItem || {} );
|
||||
}
|
||||
if ( options && options.wrapped ) {
|
||||
updateWrapped( options, options.wrapped );
|
||||
}
|
||||
ret = jQuery.isArray( data ) ?
|
||||
jQuery.map( data, function( dataItem ) {
|
||||
return dataItem ? newTmplItem( options, parentItem, tmpl, dataItem ) : null;
|
||||
}) :
|
||||
[ newTmplItem( options, parentItem, tmpl, data ) ];
|
||||
return topLevel ? jQuery( build( parentItem, null, ret ) ) : ret;
|
||||
},
|
||||
|
||||
// Return rendered template item for an element.
|
||||
tmplItem: function( elem ) {
|
||||
var tmplItem;
|
||||
if ( elem instanceof jQuery ) {
|
||||
elem = elem[0];
|
||||
}
|
||||
while ( elem && elem.nodeType === 1 && !(tmplItem = jQuery.data( elem, "tmplItem" )) && (elem = elem.parentNode) ) {}
|
||||
return tmplItem || topTmplItem;
|
||||
},
|
||||
|
||||
// Set:
|
||||
// Use $.template( name, tmpl ) to cache a named template,
|
||||
// where tmpl is a template string, a script element or a jQuery instance wrapping a script element, etc.
|
||||
// Use $( "selector" ).template( name ) to provide access by name to a script block template declaration.
|
||||
|
||||
// Get:
|
||||
// Use $.template( name ) to access a cached template.
|
||||
// Also $( selectorToScriptBlock ).template(), or $.template( null, templateString )
|
||||
// will return the compiled template, without adding a name reference.
|
||||
// If templateString includes at least one HTML tag, $.template( templateString ) is equivalent
|
||||
// to $.template( null, templateString )
|
||||
template: function( name, tmpl ) {
|
||||
if (tmpl) {
|
||||
// Compile template and associate with name
|
||||
if ( typeof tmpl === "string" ) {
|
||||
// This is an HTML string being passed directly in.
|
||||
tmpl = buildTmplFn( tmpl )
|
||||
} else if ( tmpl instanceof jQuery ) {
|
||||
tmpl = tmpl[0] || {};
|
||||
}
|
||||
if ( tmpl.nodeType ) {
|
||||
// If this is a template block, use cached copy, or generate tmpl function and cache.
|
||||
tmpl = jQuery.data( tmpl, "tmpl" ) || jQuery.data( tmpl, "tmpl", buildTmplFn( tmpl.innerHTML ));
|
||||
}
|
||||
return typeof name === "string" ? (jQuery.template[name] = tmpl) : tmpl;
|
||||
}
|
||||
// Return named compiled template
|
||||
return name ? (typeof name !== "string" ? jQuery.template( null, name ):
|
||||
(jQuery.template[name] ||
|
||||
// If not in map, treat as a selector. (If integrated with core, use quickExpr.exec)
|
||||
jQuery.template( null, htmlExpr.test( name ) ? name : jQuery( name )))) : null;
|
||||
},
|
||||
|
||||
encode: function( text ) {
|
||||
// Do HTML encoding replacing < > & and ' and " by corresponding entities.
|
||||
return ("" + text).split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'");
|
||||
}
|
||||
});
|
||||
|
||||
jQuery.extend( jQuery.tmpl, {
|
||||
tag: {
|
||||
"tmpl": {
|
||||
_default: { $2: "null" },
|
||||
open: "if($notnull_1){_=_.concat($item.nest($1,$2));}"
|
||||
// tmpl target parameter can be of type function, so use $1, not $1a (so not auto detection of functions)
|
||||
// This means that {{tmpl foo}} treats foo as a template (which IS a function).
|
||||
// Explicit parens can be used if foo is a function that returns a template: {{tmpl foo()}}.
|
||||
},
|
||||
"wrap": {
|
||||
_default: { $2: "null" },
|
||||
open: "$item.calls(_,$1,$2);_=[];",
|
||||
close: "call=$item.calls();_=call._.concat($item.wrap(call,_));"
|
||||
},
|
||||
"each": {
|
||||
_default: { $2: "$index, $value" },
|
||||
open: "if($notnull_1){$.each($1a,function($2){with(this){",
|
||||
close: "}});}"
|
||||
},
|
||||
"if": {
|
||||
open: "if(($notnull_1) && $1a){",
|
||||
close: "}"
|
||||
},
|
||||
"else": {
|
||||
_default: { $1: "true" },
|
||||
open: "}else if(($notnull_1) && $1a){"
|
||||
},
|
||||
"html": {
|
||||
// Unecoded expression evaluation.
|
||||
open: "if($notnull_1){_.push($1a);}"
|
||||
},
|
||||
"=": {
|
||||
// Encoded expression evaluation. Abbreviated form is ${}.
|
||||
_default: { $1: "$data" },
|
||||
open: "if($notnull_1){_.push($.encode($1a));}"
|
||||
},
|
||||
"!": {
|
||||
// Comment tag. Skipped by parser
|
||||
open: ""
|
||||
}
|
||||
},
|
||||
|
||||
// This stub can be overridden, e.g. in jquery.tmplPlus for providing rendered events
|
||||
complete: function( items ) {
|
||||
newTmplItems = {};
|
||||
},
|
||||
|
||||
// Call this from code which overrides domManip, or equivalent
|
||||
// Manage cloning/storing template items etc.
|
||||
afterManip: function afterManip( elem, fragClone, callback ) {
|
||||
// Provides cloned fragment ready for fixup prior to and after insertion into DOM
|
||||
var content = fragClone.nodeType === 11 ?
|
||||
jQuery.makeArray(fragClone.childNodes) :
|
||||
fragClone.nodeType === 1 ? [fragClone] : [];
|
||||
|
||||
// Return fragment to original caller (e.g. append) for DOM insertion
|
||||
callback.call( elem, fragClone );
|
||||
|
||||
// Fragment has been inserted:- Add inserted nodes to tmplItem data structure. Replace inserted element annotations by jQuery.data.
|
||||
storeTmplItems( content );
|
||||
cloneIndex++;
|
||||
}
|
||||
});
|
||||
|
||||
//========================== Private helper functions, used by code above ==========================
|
||||
|
||||
function build( tmplItem, nested, content ) {
|
||||
// Convert hierarchical content into flat string array
|
||||
// and finally return array of fragments ready for DOM insertion
|
||||
var frag, ret = content ? jQuery.map( content, function( item ) {
|
||||
return (typeof item === "string") ?
|
||||
// Insert template item annotations, to be converted to jQuery.data( "tmplItem" ) when elems are inserted into DOM.
|
||||
(tmplItem.key ? item.replace( /(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g, "$1 " + tmplItmAtt + "=\"" + tmplItem.key + "\" $2" ) : item) :
|
||||
// This is a child template item. Build nested template.
|
||||
build( item, tmplItem, item._ctnt );
|
||||
}) :
|
||||
// If content is not defined, insert tmplItem directly. Not a template item. May be a string, or a string array, e.g. from {{html $item.html()}}.
|
||||
tmplItem;
|
||||
if ( nested ) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
// top-level template
|
||||
ret = ret.join("");
|
||||
|
||||
// Support templates which have initial or final text nodes, or consist only of text
|
||||
// Also support HTML entities within the HTML markup.
|
||||
ret.replace( /^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/, function( all, before, middle, after) {
|
||||
frag = jQuery( middle ).get();
|
||||
|
||||
storeTmplItems( frag );
|
||||
if ( before ) {
|
||||
frag = unencode( before ).concat(frag);
|
||||
}
|
||||
if ( after ) {
|
||||
frag = frag.concat(unencode( after ));
|
||||
}
|
||||
});
|
||||
return frag ? frag : unencode( ret );
|
||||
}
|
||||
|
||||
function unencode( text ) {
|
||||
// Use createElement, since createTextNode will not render HTML entities correctly
|
||||
var el = document.createElement( "div" );
|
||||
el.innerHTML = text;
|
||||
return jQuery.makeArray(el.childNodes);
|
||||
}
|
||||
|
||||
// Generate a reusable function that will serve to render a template against data
|
||||
function buildTmplFn( markup ) {
|
||||
return new Function("jQuery","$item",
|
||||
"var $=jQuery,call,_=[],$data=$item.data;" +
|
||||
|
||||
// Introduce the data as local variables using with(){}
|
||||
"with($data){_.push('" +
|
||||
|
||||
// Convert the template into pure JavaScript
|
||||
jQuery.trim(markup)
|
||||
.replace( /([\\'])/g, "\\$1" )
|
||||
.replace( /[\r\t\n]/g, " " )
|
||||
.replace( /\$\{([^\}]*)\}/g, "{{= $1}}" )
|
||||
.replace( /\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,
|
||||
function( all, slash, type, fnargs, target, parens, args ) {
|
||||
var tag = jQuery.tmpl.tag[ type ], def, expr, exprAutoFnDetect;
|
||||
if ( !tag ) {
|
||||
throw "Template command not found: " + type;
|
||||
}
|
||||
def = tag._default || [];
|
||||
if ( parens && !/\w$/.test(target)) {
|
||||
target += parens;
|
||||
parens = "";
|
||||
}
|
||||
if ( target ) {
|
||||
target = unescape( target );
|
||||
args = args ? ("," + unescape( args ) + ")") : (parens ? ")" : "");
|
||||
// Support for target being things like a.toLowerCase();
|
||||
// In that case don't call with template item as 'this' pointer. Just evaluate...
|
||||
expr = parens ? (target.indexOf(".") > -1 ? target + parens : ("(" + target + ").call($item" + args)) : target;
|
||||
exprAutoFnDetect = parens ? expr : "(typeof(" + target + ")==='function'?(" + target + ").call($item):(" + target + "))";
|
||||
} else {
|
||||
exprAutoFnDetect = expr = def.$1 || "null";
|
||||
}
|
||||
fnargs = unescape( fnargs );
|
||||
return "');" +
|
||||
tag[ slash ? "close" : "open" ]
|
||||
.split( "$notnull_1" ).join( target ? "typeof(" + target + ")!=='undefined' && (" + target + ")!=null" : "true" )
|
||||
.split( "$1a" ).join( exprAutoFnDetect )
|
||||
.split( "$1" ).join( expr )
|
||||
.split( "$2" ).join( fnargs ?
|
||||
fnargs.replace( /\s*([^\(]+)\s*(\((.*?)\))?/g, function( all, name, parens, params ) {
|
||||
params = params ? ("," + params + ")") : (parens ? ")" : "");
|
||||
return params ? ("(" + name + ").call($item" + params) : all;
|
||||
})
|
||||
: (def.$2||"")
|
||||
) +
|
||||
"_.push('";
|
||||
}) +
|
||||
"');}return _;"
|
||||
);
|
||||
}
|
||||
function updateWrapped( options, wrapped ) {
|
||||
// Build the wrapped content.
|
||||
options._wrap = build( options, true,
|
||||
// Suport imperative scenario in which options.wrapped can be set to a selector or an HTML string.
|
||||
jQuery.isArray( wrapped ) ? wrapped : [htmlExpr.test( wrapped ) ? wrapped : jQuery( wrapped ).html()]
|
||||
).join("");
|
||||
}
|
||||
|
||||
function unescape( args ) {
|
||||
return args ? args.replace( /\\'/g, "'").replace(/\\\\/g, "\\" ) : null;
|
||||
}
|
||||
function outerHtml( elem ) {
|
||||
var div = document.createElement("div");
|
||||
div.appendChild( elem.cloneNode(true) );
|
||||
return div.innerHTML;
|
||||
}
|
||||
|
||||
// Store template items in jQuery.data(), ensuring a unique tmplItem data data structure for each rendered template instance.
|
||||
function storeTmplItems( content ) {
|
||||
var keySuffix = "_" + cloneIndex, elem, elems, newClonedItems = {}, i, l, m;
|
||||
for ( i = 0, l = content.length; i < l; i++ ) {
|
||||
if ( (elem = content[i]).nodeType !== 1 ) {
|
||||
continue;
|
||||
}
|
||||
elems = elem.getElementsByTagName("*");
|
||||
for ( m = elems.length - 1; m >= 0; m-- ) {
|
||||
processItemKey( elems[m] );
|
||||
}
|
||||
processItemKey( elem );
|
||||
}
|
||||
function processItemKey( el ) {
|
||||
var pntKey, pntNode = el, pntItem, tmplItem, key;
|
||||
// Ensure that each rendered template inserted into the DOM has its own template item,
|
||||
if ( (key = el.getAttribute( tmplItmAtt ))) {
|
||||
while ( pntNode.parentNode && (pntNode = pntNode.parentNode).nodeType === 1 && !(pntKey = pntNode.getAttribute( tmplItmAtt ))) { }
|
||||
if ( pntKey !== key ) {
|
||||
// The next ancestor with a _tmplitem expando is on a different key than this one.
|
||||
// So this is a top-level element within this template item
|
||||
// Set pntNode to the key of the parentNode, or to 0 if pntNode.parentNode is null, or pntNode is a fragment.
|
||||
pntNode = pntNode.parentNode ? (pntNode.nodeType === 11 ? 0 : (pntNode.getAttribute( tmplItmAtt ) || 0)) : 0;
|
||||
if ( !(tmplItem = newTmplItems[key]) ) {
|
||||
// The item is for wrapped content, and was copied from the temporary parent wrappedItem.
|
||||
tmplItem = wrappedItems[key];
|
||||
tmplItem = newTmplItem( tmplItem, newTmplItems[pntNode]||wrappedItems[pntNode], null, true );
|
||||
tmplItem.key = ++itemKey;
|
||||
newTmplItems[itemKey] = tmplItem;
|
||||
}
|
||||
if ( cloneIndex ) {
|
||||
cloneTmplItem( key );
|
||||
}
|
||||
}
|
||||
el.removeAttribute( tmplItmAtt );
|
||||
} else if ( cloneIndex && (tmplItem = jQuery.data( el, "tmplItem" )) ) {
|
||||
// This was a rendered element, cloned during append or appendTo etc.
|
||||
// TmplItem stored in jQuery data has already been cloned in cloneCopyEvent. We must replace it with a fresh cloned tmplItem.
|
||||
cloneTmplItem( tmplItem.key );
|
||||
newTmplItems[tmplItem.key] = tmplItem;
|
||||
pntNode = jQuery.data( el.parentNode, "tmplItem" );
|
||||
pntNode = pntNode ? pntNode.key : 0;
|
||||
}
|
||||
if ( tmplItem ) {
|
||||
pntItem = tmplItem;
|
||||
// Find the template item of the parent element.
|
||||
// (Using !=, not !==, since pntItem.key is number, and pntNode may be a string)
|
||||
while ( pntItem && pntItem.key != pntNode ) {
|
||||
// Add this element as a top-level node for this rendered template item, as well as for any
|
||||
// ancestor items between this item and the item of its parent element
|
||||
pntItem.nodes.push( el );
|
||||
pntItem = pntItem.parent;
|
||||
}
|
||||
// Delete content built during rendering - reduce API surface area and memory use, and avoid exposing of stale data after rendering...
|
||||
delete tmplItem._ctnt;
|
||||
delete tmplItem._wrap;
|
||||
// Store template item as jQuery data on the element
|
||||
jQuery.data( el, "tmplItem", tmplItem );
|
||||
}
|
||||
function cloneTmplItem( key ) {
|
||||
key = key + keySuffix;
|
||||
tmplItem = newClonedItems[key] =
|
||||
(newClonedItems[key] || newTmplItem( tmplItem, newTmplItems[tmplItem.parent.key + keySuffix] || tmplItem.parent, null, true ));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//---- Helper functions for template item ----
|
||||
|
||||
function tiCalls( content, tmpl, data, options ) {
|
||||
if ( !content ) {
|
||||
return stack.pop();
|
||||
}
|
||||
stack.push({ _: content, tmpl: tmpl, item:this, data: data, options: options });
|
||||
}
|
||||
|
||||
function tiNest( tmpl, data, options ) {
|
||||
// nested template, using {{tmpl}} tag
|
||||
return jQuery.tmpl( jQuery.template( tmpl ), data, options, this );
|
||||
}
|
||||
|
||||
function tiWrap( call, wrapped ) {
|
||||
// nested template, using {{wrap}} tag
|
||||
var options = call.options || {};
|
||||
options.wrapped = wrapped;
|
||||
// Apply the template, which may incorporate wrapped content,
|
||||
return jQuery.tmpl( jQuery.template( call.tmpl ), call.data, options, call.item );
|
||||
}
|
||||
|
||||
function tiHtml( filter, textOnly ) {
|
||||
var wrapped = this._wrap;
|
||||
return jQuery.map(
|
||||
jQuery( jQuery.isArray( wrapped ) ? wrapped.join("") : wrapped ).filter( filter || "*" ),
|
||||
function(e) {
|
||||
return textOnly ?
|
||||
e.innerText || e.textContent :
|
||||
e.outerHTML || outerHtml(e);
|
||||
});
|
||||
}
|
||||
|
||||
function tiUpdate() {
|
||||
var coll = this.nodes;
|
||||
jQuery.tmpl( null, null, null, this).insertBefore( coll[0] );
|
||||
jQuery( coll ).remove();
|
||||
}
|
||||
})( jQuery );
|
|
@ -3,21 +3,18 @@
|
|||
/*
|
||||
* Name: Diabook
|
||||
* Description: Diabook: report bugs and request here: http://pad.toktan.org/p/diabook or contact me : thomas_bierey@friendica.eu
|
||||
* Version: (Version: 1.025)
|
||||
* Version: (Version: 1.026)
|
||||
* Author:
|
||||
*/
|
||||
|
||||
$a = get_app();
|
||||
$a->theme_info = array(
|
||||
'family' => 'diabook',
|
||||
'version' => '1.025'
|
||||
);
|
||||
|
||||
|
||||
function diabook_init(&$a) {
|
||||
|
||||
//print diabook-version for debugging
|
||||
$diabook_version = "Diabook (Version: 1.025)";
|
||||
$a->page['htmlhead'] .= sprintf('<script "%s" ></script>', $diabook_version);
|
||||
$diabook_version = "Diabook (Version: 1.026)";
|
||||
$a->page['htmlhead'] .= sprintf('<META NAME="theme" CONTENT="%s"/>', $diabook_version);
|
||||
|
||||
//change css on network and profilepages
|
||||
$cssFile = null;
|
||||
|
@ -117,7 +114,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $imageresizeJS);
|
||||
|
||||
//load jquery.ui.js
|
||||
if($ccCookie != "9") {
|
||||
if($ccCookie != "10") {
|
||||
$jqueryuiJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery-ui-1.8.20.custom.min.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $jqueryuiJS);
|
||||
}
|
||||
|
@ -129,14 +126,18 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
}
|
||||
|
||||
//load jquery.mapquery.js
|
||||
$_COOKIE['close_mapquery'] = "1";
|
||||
|
||||
if($_COOKIE['close_mapquery'] != "1") {
|
||||
$mqtmplJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.tmpl.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $mqtmplJS);
|
||||
$mapqueryJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.mapquery.core.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $mapqueryJS);
|
||||
$openlayersJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/OpenLayers.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $openlayersJS);
|
||||
$qlayersJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.mapquery.mqLayerControl.js";
|
||||
$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $mqlayersJS);
|
||||
$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);
|
||||
|
||||
}
|
||||
|
||||
|
@ -146,6 +147,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$(function() {
|
||||
$("a.lightbox").fancybox(); // Select all links with lightbox class
|
||||
$("a.#twittersettings-link").fancybox({onClosed: function() { $("#twittersettings").attr("style","display: none;");}} );
|
||||
$("a.#mapcontrol-link").fancybox({onClosed: function() { $("#mapcontrol").attr("style","display: none;");}} );
|
||||
});
|
||||
|
||||
$(window).load(function() {
|
||||
|
@ -154,8 +156,23 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
});
|
||||
</script>';
|
||||
//check if mapquerybox is active and print
|
||||
$_COOKIE['close_mapquery'] = "1";
|
||||
|
||||
if($_COOKIE['close_mapquery'] != "1") {
|
||||
$ELZoom=false;
|
||||
$ELPosX=false;
|
||||
$ELPosy=false;
|
||||
$site_ELZoom = get_config("diabook", "ELZoom" );
|
||||
$site_ELPosX = get_config("diabook", "ELPosX" );
|
||||
$site_ELPosY = get_config("diabook", "ELPosY" );
|
||||
$ELZoom = get_pconfig(local_user(), "diabook", "ELZoom");
|
||||
$ELPosX = get_pconfig(local_user(), "diabook", "ELPosX");
|
||||
$ELPosY = get_pconfig(local_user(), "diabook", "ELPosY");
|
||||
if ($ELZoom===false) $ELZoom=$site_ELZoom;
|
||||
if ($ELPosX===false) $ELPosX=$site_ELPosX;
|
||||
if ($ELPosY===false) $ELPosY=$site_ELPosY;
|
||||
if ($ELZoom===false) $ELZoom="0";
|
||||
if ($ELPosX===false) $ELPosX="0";
|
||||
if ($ELPosY===false) $ELPosY="0";
|
||||
$a->page['htmlhead'] .= '
|
||||
<script>
|
||||
|
||||
|
@ -163,16 +180,35 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$("#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)
|
||||
}]
|
||||
});
|
||||
$("#map2").mapQuery({
|
||||
layers:[{ //add layers to your map; you need to define at least one to be able to see anything on the map
|
||||
type:"osm" //add a layer of the type osm (OpenStreetMap)
|
||||
}]
|
||||
});
|
||||
}],
|
||||
center:({zoom:'.$ELZoom.',position:['.$ELPosX.','.$ELPosY.']}),
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
function open_mapcontrol() {
|
||||
$("div#mapcontrol").attr("style","display: block;width:900px;height:600px;");
|
||||
$("#map2").mapQuery({layers:[{type:"osm"}],
|
||||
center:({zoom:'.$ELZoom.',position:['.$ELPosX.','.$ELPosY.']})});
|
||||
|
||||
$("#mouseposition").mqMousePosition({
|
||||
map: "#map2",
|
||||
x:"lon",
|
||||
y:"lat",
|
||||
precision:2
|
||||
});
|
||||
|
||||
|
||||
map = $("#map2").mapQuery().data("mapQuery");
|
||||
textarea = document.getElementById("mapzoom");
|
||||
|
||||
|
||||
$("#map2").bind("mousewheel", function(event, delta) {
|
||||
if (delta > 0 || delta < 0){
|
||||
textarea.value = map.center().zoom; }
|
||||
});
|
||||
|
||||
};
|
||||
</script>';
|
||||
}
|
||||
//check if twitterbox is active and print
|
||||
|
@ -207,6 +243,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
<script>
|
||||
$(document).ready(function() {
|
||||
$("div#login-submit-wrapper").attr("style","padding-top: 120px;");
|
||||
|
||||
});
|
||||
</script>';
|
||||
}
|
||||
|
@ -248,7 +285,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
});
|
||||
</script>';
|
||||
|
||||
if($ccCookie != "9") {
|
||||
if($ccCookie != "10") {
|
||||
$a->page['htmlhead'] .= '
|
||||
<script>
|
||||
$("right_aside").ready(function(){
|
||||
|
@ -366,7 +403,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$a->page['footer'] .= replace_macros($tpl, array());
|
||||
|
||||
//
|
||||
js_in_foot();
|
||||
js_diabook_footer();
|
||||
}
|
||||
|
||||
|
||||
|
@ -374,7 +411,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$a = get_app();
|
||||
// comunity_profiles
|
||||
if($_COOKIE['close_profiles'] != "1") {
|
||||
$aside['$comunity_profilest_title'] = t('Community Profiles');
|
||||
$aside['$comunity_profiles_title'] = t('Community Profiles');
|
||||
$aside['$comunity_profiles_items'] = array();
|
||||
$r = q("select gcontact.* from gcontact left join glink on glink.gcid = gcontact.id
|
||||
where glink.cid = 0 and glink.uid = 0 order by rand() limit 9");
|
||||
|
@ -527,7 +564,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
if($_COOKIE['close_pages'] != "1") {
|
||||
if(local_user()) {
|
||||
$page = '
|
||||
<h3 style="margin-top:0px;">'.t("Community Pages").'<a id="close_pages_icon" onClick="close_pages()" class="icon close_box" title="close"></a></h3></div>
|
||||
<h3 style="margin-top:0px;">'.t("Community Pages").'<a id="close_pages_icon" onClick="close_pages()" class="icon close_box" title="close"></a></h3>
|
||||
<div id=""><ul style="margin-left: 7px;margin-top: 0px;padding-left: 0px;padding-top: 0px;">';
|
||||
|
||||
$pagelist = array();
|
||||
|
@ -559,11 +596,26 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
//END Community Page
|
||||
|
||||
//mapquery
|
||||
$_COOKIE['close_mapquery'] = "1";
|
||||
|
||||
if($_COOKIE['close_mapquery'] != "1") {
|
||||
$mapquery = array();
|
||||
$mapquery['title'] = Array("", t('Earth View'), "", "");
|
||||
$mapquery['title'] = Array("", "<a id='mapcontrol-link' href='#mapcontrol' style='text-decoration:none;' onclick='open_mapcontrol(); return false;'>".t('Earth Layers')."</a>", "", "");
|
||||
$aside['$mapquery'] = $mapquery;
|
||||
$ELZoom = get_pconfig(local_user(), 'diabook', 'ELZoom' );
|
||||
$ELPosX = get_pconfig(local_user(), 'diabook', 'ELPosX' );
|
||||
$ELPosY = get_pconfig(local_user(), 'diabook', 'ELPosY' );
|
||||
$aside['$sub'] = t('Submit');
|
||||
$aside['$ELZoom'] = array('diabook_ELZoom', t('Set zoomfactor for Earth Layer'), $ELZoom, '', $ELZoom);
|
||||
$aside['$ELPosX'] = array('diabook_ELPosX', t('Set longitude (X) for Earth Layer'), $ELPosX, '', $ELPosX);
|
||||
$aside['$ELPosY'] = array('diabook_ELPosY', t('Set latitude (Y) for Earth Layer'), $ELPosY, '', $ELPosY);
|
||||
$baseurl = $a->get_baseurl($ssl_state);
|
||||
$aside['$baseurl'] = $baseurl;
|
||||
if (isset($_POST['diabook-settings-map-sub']) && $_POST['diabook-settings-map-sub']!=''){
|
||||
set_pconfig(local_user(), 'diabook', 'ELZoom', $_POST['diabook_ELZoom']);
|
||||
set_pconfig(local_user(), 'diabook', 'ELPosX', $_POST['diabook_ELPosX']);
|
||||
set_pconfig(local_user(), 'diabook', 'ELPosY', $_POST['diabook_ELPosY']);
|
||||
header("Location: network");
|
||||
}
|
||||
}
|
||||
//end mapquery
|
||||
|
||||
|
@ -587,12 +639,13 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
$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['$submit'] = t('Submit');
|
||||
$aside['$sub'] = t('Submit');
|
||||
$aside['$TSearchTerm'] = array('diabook_TSearchTerm', t('Set twitter search term'), $TSearchTerm, '', $TSearchTerm);
|
||||
$baseurl = $a->get_baseurl();
|
||||
$baseurl = $a->get_baseurl($ssl_state);
|
||||
$aside['$baseurl'] = $baseurl;
|
||||
if (isset($_POST['diabook-settings-submit'])){
|
||||
if (isset($_POST['diabook-settings-sub']) && $_POST['diabook-settings-sub']!=''){
|
||||
set_pconfig(local_user(), 'diabook', 'TSearchTerm', $_POST['diabook_TSearchTerm']);
|
||||
header("Location: network");
|
||||
}
|
||||
}
|
||||
//end twitter
|
||||
|
@ -607,7 +660,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
|
|||
|
||||
}
|
||||
|
||||
function js_in_foot() {
|
||||
function js_diabook_footer() {
|
||||
/** @purpose insert stuff in bottom of page
|
||||
*/
|
||||
$a = get_app();
|
||||
|
|
|
@ -8,6 +8,12 @@
|
|||
|
||||
{{inc field_input.tpl with $field=$TSearchTerm}}{{endinc}}
|
||||
|
||||
{{inc field_input.tpl with $field=$ELPosX}}{{endinc}}
|
||||
|
||||
{{inc field_input.tpl with $field=$ELPosY}}{{endinc}}
|
||||
|
||||
{{inc field_input.tpl with $field=$ELZoom}}{{endinc}}
|
||||
|
||||
<div class="field select">
|
||||
<a onClick="restore_boxes()" title="Restore right-hand column" style="cursor: pointer;">Restore right-hand column</a>
|
||||
</div>
|
||||
|
|
29
view/theme/dispy/README.md
Normal file
29
view/theme/dispy/README.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
## Dispy Themes ##
|
||||
|
||||
**Dispy**: Light, Spartan, Sleek, and Functional
|
||||
|
||||
**Dispy Dark**: Dark, Spartan, Sleek, and Functional
|
||||
|
||||
|
||||
### A Brief History ###
|
||||
|
||||
Their beginnings are unknown to me, but they are part of the themes
|
||||
that Mike Macgirvin, Emmanual Revah, put together for Friendica, I *think*.
|
||||
|
||||
Later on, in the fall and winter of 2011-2012, I took over maintaining
|
||||
the original dispy (now called dispy light). It went through a minor re-vamp,
|
||||
keeping to its spartan look as much as possible.
|
||||
|
||||
I added more rounded corners, and as Friendica grew in capabilities and
|
||||
features, so did it - but, I always wanted to keep the features down, so as
|
||||
to be fast and spartan, which seems to appeal to a lot of the geekier
|
||||
users (like myself).
|
||||
|
||||
Soon after I started maintaining dispy light, I developed its sister
|
||||
theme - dark - according to another user's request (and other "+1"
|
||||
votes for one like it). So *dark* was "born".
|
||||
|
||||
Anyway, I've added a few more things since, and I hope I haven't
|
||||
over-done it ;-).
|
||||
|
||||
Simon
|
71
view/theme/dispy/css/media.less
Normal file
71
view/theme/dispy/css/media.less
Normal file
|
@ -0,0 +1,71 @@
|
|||
//
|
||||
//* media stuff */
|
||||
@media handheld and screen {
|
||||
body {
|
||||
font-size: 15pt;
|
||||
}
|
||||
}
|
||||
//* Smartphones (portrait and landscape) ----------- */
|
||||
@media only screen and (min-device-width: 320px)
|
||||
and (max-device-width: 480px) {
|
||||
body {
|
||||
font-size: 12pt;
|
||||
}
|
||||
}
|
||||
//* Smartphones (landscape) ----------- */
|
||||
@media only screen and (min-width: 321px) {
|
||||
body {
|
||||
font-size: 12pt;
|
||||
}
|
||||
}
|
||||
//* Smartphones (portrait) ----------- */
|
||||
@media only screen and (max-width: 320px) {
|
||||
body {
|
||||
font-size: 12pt;
|
||||
}
|
||||
}
|
||||
//* iPads (portrait and landscape) ----------- */
|
||||
@media only screen and (min-device-width: 768px)
|
||||
and (max-device-width: 1024px) {
|
||||
body {
|
||||
font-size: 14pt;
|
||||
}
|
||||
}
|
||||
//* iPads (landscape) ----------- */
|
||||
@media only screen and (min-device-width: 768px)
|
||||
and (max-device-width: 1024px)
|
||||
and (orientation: landscape) {
|
||||
body {
|
||||
font-size: 14pt;
|
||||
}
|
||||
}
|
||||
//* iPads (portrait) ----------- */
|
||||
@media only screen and (min-device-width: 768px)
|
||||
and (max-device-width: 1024px)
|
||||
and (orientation: portrait) {
|
||||
body {
|
||||
font-size: 14pt;
|
||||
}
|
||||
}
|
||||
//* Desktops and laptops ----------- */
|
||||
//adjusted to 1024 from 1224.
|
||||
//not everybody has a fucking big screen ffs
|
||||
@media only screen and (min-width: 1024px) {
|
||||
body {
|
||||
font-size: 14pt;
|
||||
}
|
||||
}
|
||||
//* Large screens - */
|
||||
@media only screen and (min-width: 1520px) {
|
||||
body {
|
||||
font-size: 16pt;
|
||||
}
|
||||
}
|
||||
//* iPhone 4 ----------- */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
|
||||
only screen and (min-device-pixel-ratio: 1.5) {
|
||||
body {
|
||||
font-size: 14pt;
|
||||
}
|
||||
}
|
||||
|
66
view/theme/dispy/css/reset.less
Normal file
66
view/theme/dispy/css/reset.less
Normal file
|
@ -0,0 +1,66 @@
|
|||
///* http://meyerweb.com/eric/tools/css/reset/
|
||||
// v2.0 | 20110126
|
||||
// License: none (public domain)
|
||||
//*/
|
||||
|
||||
html, body, div, span,
|
||||
applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
p, blockquote, pre, a,
|
||||
abbr, acronym, address,
|
||||
big, cite, code, del,
|
||||
dfn, em, img, ins, kbd,
|
||||
q, s, samp, small, strike,
|
||||
strong, sub, sup, tt, var,
|
||||
b, u, i, center, dl, dt,
|
||||
dd, ol, ul, li, fieldset,
|
||||
form, label, legend, table,
|
||||
caption, tbody, tfoot, thead,
|
||||
tr, th, td, article, aside,
|
||||
canvas, details, embed,
|
||||
figure, figcaption, footer,
|
||||
header, hgroup, menu, nav,
|
||||
output, ruby, section, summary,
|
||||
time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
///* HTML5 display-role reset for older browsers */
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
body {
|
||||
line-height: 1;
|
||||
}
|
||||
ul, ol {
|
||||
.list_reset;
|
||||
}
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
///* de-italicize address */
|
||||
address {
|
||||
font-style: normal;
|
||||
}
|
||||
a img,
|
||||
:link img,
|
||||
:visited img {
|
||||
border: none;
|
||||
}
|
||||
q {
|
||||
quotes: "" "";
|
||||
}
|
|
@ -13,6 +13,9 @@
|
|||
// you "compile" the css (with `lessc`), but css (/**/) comments
|
||||
// do. i use them to our advantage :).
|
||||
|
||||
// import our reset styles first
|
||||
@import "../css/reset";
|
||||
|
||||
//* backgrounds */
|
||||
@dk_bg_colour: #1d1f1d;
|
||||
@bg_colour: #2e2f2e;
|
||||
|
@ -138,7 +141,7 @@
|
|||
}
|
||||
//* font size sizing */
|
||||
.default_font () {
|
||||
font-size: 16px;
|
||||
font-size: 14pt;
|
||||
line-height: 1.1em;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
|
|
@ -1,12 +1,21 @@
|
|||
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
|
||||
body{line-height:1;}
|
||||
ul,ol{margin:0px;padding:0px;list-style:none;list-style-position:inside;}
|
||||
blockquote,q{quotes:none;}
|
||||
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
|
||||
table{border-collapse:collapse;border-spacing:0;}
|
||||
address{font-style:normal;}
|
||||
a img,:link img,:visited img{border:none;}
|
||||
q{quotes:"" "";}
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
|
||||
audio,canvas,video,time{display:inline-block;*display:inline;*zoom:1;}
|
||||
audio:not([controls]),[hidden]{display:none;}
|
||||
html{font-size:100%;overflow-y:scroll;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
|
||||
body{margin:0;padding:0;font-size:16px;line-height:1.1em;font-family:sans-serif;color:#eeeecc;background-color:#2e2f2e;}
|
||||
body{margin:0;padding:0;font-size:14pt;line-height:1.1em;font-family:sans-serif;color:#eeeecc;background-color:#2e2f2e;}
|
||||
button,input,select,textarea{color:#eeeecc;background-color:#2e2f2e;}
|
||||
select{border:1px #555 dotted;padding:1px;margin:3px;color:#eeeecc;background:#2e2f2e;}
|
||||
select{border:1px dotted #555555;padding:1px;margin:3px;color:#eeeecc;background:#2e2f2e;max-width:85%;min-width:85px;}
|
||||
option{padding:1px;color:#eeeecc;background:#2e2f2e;}option[selected="selected"]{color:#2e2f2e;background:#eeeecc;}
|
||||
ul,ol{margin:0px;padding:0px;list-style:none;list-style-position:inside;}
|
||||
tr:nth-child(even){background-color:#474947;}
|
||||
:focus{outline:0;}
|
||||
[disabled="disabled"]{background:#4e4f4e;color:#ddddbb;}
|
||||
|
@ -23,7 +32,12 @@ 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;}
|
||||
.required{display:inline;color:#ff0;font-size:16px;font-weight:bold;margin:3px;}
|
||||
.fakelink,.lockview{color:#88a9d2;cursor:pointer;}
|
||||
.fakelink:hover{color:#638ec4;}
|
||||
|
@ -34,7 +48,7 @@ blockquote{background:#444;color:#eeeecc;text-indent:5px;padding:5px;border:1px
|
|||
.action{margin:5px 0;}
|
||||
.tool{margin:5px 0;list-style:none;}
|
||||
#articlemain{width:100%;height:100%;margin:0 auto;}
|
||||
[class$="-desc"],[id$="-desc"]{color:#2e2f2e;background:#eeeecc;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:3px 3px 5px 0px #111111;-o-box-shadow:3px 3px 5px 0px #111111;-webkit-box-shadow:3px 3px 5px 0px #111111;-ms-box-shadow:3px 3px 5px 0px #111111;box-shadow:3px 3px 5px 0px #111111;padding:3px;margin:5px 0;font-weight:bold;}
|
||||
[class$="-desc"],[id$="-desc"]{color:#2e2f2e;background:#eeeecc;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:3px 3px 5px 0px #111111;-o-box-shadow:3px 3px 5px 0px #111111;-webkit-box-shadow:3px 3px 5px 0px #111111;-ms-box-shadow:3px 3px 5px 0px #111111;box-shadow:3px 3px 5px 0px #111111;margin:3px 10px 7px 0;padding:6px 7px;font-weight:bold;font-size:smaller;}
|
||||
#asidemain .field{overflow:hidden;width:200px;}
|
||||
#login-extra-links{overflow:auto !important;padding-top:60px !important;width:100% !important;}#login-extra-links a{margin-right:20px;}
|
||||
#login_standard{display:block !important;float:none !important;height:100% !important;position:relative !important;width:100% !important;}#login_standard .field label{width:200px !important;}
|
||||
|
@ -46,7 +60,7 @@ blockquote{background:#444;color:#eeeecc;text-indent:5px;padding:5px;border:1px
|
|||
#login_openid label{width:180px !important;}
|
||||
nav{height:60px;background-color:#1d1f1d;color:#eeeeee;position:relative;padding:20px 20px 10px 95px;}nav a{text-decoration:none;color:#eeeeee;border:0px;}nav a:hover{text-decoration:none;color:#eeeeee;border:0px;}
|
||||
nav #banner{display:block;position:absolute;left:51px;top:25px;}nav #banner #logo-text a{font-size:40px;font-weight:bold;margin-left:3px;}
|
||||
ul#user-menu-popup{display:none;position:absolute;background-color:#555753;width:100%;padding:10px 0px;margin:0px;top:20px;left:0;-o-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-ms-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-moz-box-shadow:5px 5px 10px 0px #111111;-o-box-shadow:5px 5px 10px 0px #111111;-webkit-box-shadow:5px 5px 10px 0px #111111;-ms-box-shadow:5px 5px 10px 0px #111111;box-shadow:5px 5px 10px 0px #111111;z-index:10000;}ul#user-menu-popup li{display:block;}ul#user-menu-popup li a{display:block;padding:5px;}ul#user-menu-popup li a:hover{color:#eeeecc;background-color:#2e302e;}
|
||||
ul#user-menu-popup{display:none;position:absolute;background-color:#555753;width:100%;padding:10px 0px;margin:0px;top:20px;left:0;font-size:small;line-height:1;-o-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-ms-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-moz-box-shadow:5px 5px 10px 0px #111111;-o-box-shadow:5px 5px 10px 0px #111111;-webkit-box-shadow:5px 5px 10px 0px #111111;-ms-box-shadow:5px 5px 10px 0px #111111;box-shadow:5px 5px 10px 0px #111111;z-index:10000;}ul#user-menu-popup li{display:block;}ul#user-menu-popup li a{display:block;padding:5px;}ul#user-menu-popup li a:hover{color:#eeeecc;background-color:#2e302e;}
|
||||
ul#user-menu-popup li a.nav-sep{border-top:1px solid #2e302e;}
|
||||
nav .nav-link{display:inline-block;width:22px;height:22px;overflow:hidden;margin:0px 5px 5px;text-indent:50px;background:transparent url(dark/icons.png) 0 0 no-repeat;}
|
||||
#nav-apps-link{background-position:0 -66px;}#nav-apps-link:hover{background-position:-22px -66px;}
|
||||
|
@ -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;}
|
||||
|
@ -166,7 +180,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
.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;}
|
||||
.wall-item-content{overflow-x:auto;margin:0px 4em 0px 5px;}
|
||||
[id^="tread-wrapper"],[class^="tread-wrapper"]{margin:15px 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;}
|
||||
|
@ -174,13 +188,13 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
.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-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:1em;}
|
||||
.wall-item-body{margin:20px 20px 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-author,.wall-item-actions-author{clear:left;font-size:0.8em;color:#888b85;margin:20px 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;}
|
||||
|
@ -198,7 +212,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
.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 +220,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
|
|||
.comment-wwedit-wrapper img,.comment-edit-wrapper img{width:20px;height:20px;}
|
||||
.comment-edit-photo-link,.comment-edit-photo{margin-left:10px;}
|
||||
.my-comment-photo{width:40px;height:40px;padding:5px;}
|
||||
[class^="comment-edit-text"]{margin:5px 0 10px 20px;width:84.5%;}
|
||||
[class^="comment-edit-text"]{margin:5px 0 10px 20px;width:94%;}
|
||||
.comment-edit-text-empty{height:20px;border:2px #c8bebe solid;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;color:#c8bebe;-webkit-transition:all 0.5s ease-in-out;-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-ms-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out;}.comment-edit-text-empty:hover{color:#999999;}
|
||||
.comment-edit-text-full{height:10em;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-webkit-transition:all 0.5s ease-in-out;-moz-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;-ms-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out;}
|
||||
.comment-edit-submit-wrapper{width:90%;margin:5px 5px 10px 50px;text-align:right;}
|
||||
|
@ -395,7 +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;}
|
||||
|
@ -513,4 +523,4 @@ footer{display:block;clear:both;}
|
|||
#sidebar-page-list ul{padding:0;margin:5px 0;}
|
||||
#sidebar-page-list li{list-style:none;}
|
||||
#jappix_mini{margin-left:130px;position:fixed;bottom:0;right:175px !important;z-index:999;}
|
||||
@media handheld{body{font-size:15pt;}}@media only screen and (min-device-width:320px) and (max-device-width:480px){body{font-size:10px;}}@media only screen and (min-width:321px){body{font-size:10px;}}@media only screen and (max-width:320px){body{font-size:10px;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px){body{font-size:16px;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape){body{font-size:16px;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:portrait){body{font-size:16px;}}@media only screen and (min-width:1024px){body{font-size:16px;}}@media only screen and (min-width:1520px){body{font-size:18px;}}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){body{font-size:16px;}}
|
||||
@media handheld and screen{body{font-size:15pt;}}@media only screen and (min-device-width:320px) and (max-device-width:480px){body{font-size:12pt;}}@media only screen and (min-width:321px){body{font-size:12pt;}}@media only screen and (max-width:320px){body{font-size:12pt;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px){body{font-size:14pt;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape){body{font-size:14pt;}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:portrait){body{font-size:14pt;}}@media only screen and (min-width:1024px){body{font-size:14pt;}}@media only screen and (min-width:1520px){body{font-size:16pt;}}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){body{font-size:14pt;}}
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/*
|
||||
* dispy-dark
|
||||
*
|
||||
* dispy dark
|
||||
* Description: Dispy Dark: dark, sleek, functional
|
||||
* author, maintainer: simon <http://simon.kisikew.org/>
|
||||
*
|
||||
* Author's notes:
|
||||
* A few things of note here. The less file is our working copy,
|
||||
* and the CSS is *generated* from it. The CSS is the one that's
|
||||
* included in the HTML, and not the less one. This is to save
|
||||
* bandwidth and processing time.
|
||||
* bandwidth and processing time, by not including less.js.
|
||||
*/
|
||||
/* from html5boilerplate */
|
||||
/* these are to tell browsers they should be displayed a certain way */
|
||||
|
||||
@import "_base";
|
||||
|
||||
///* from html5boilerplate */
|
||||
///* these are to tell browsers they should be displayed a certain way */
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
|
@ -37,12 +37,12 @@ time {
|
|||
audio:not([controls]), [hidden] {
|
||||
display: none;
|
||||
}
|
||||
/*
|
||||
* 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
|
||||
* 2. Force vertical scrollbar in non-IE
|
||||
* 3. Prevent iOS text size adjust on device orientation change,
|
||||
* without disabling user zoom: h5bp.com/g
|
||||
*/
|
||||
///*
|
||||
// * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
|
||||
// * 2. Force vertical scrollbar in non-IE
|
||||
// * 3. Prevent iOS text size adjust on device orientation change,
|
||||
// * without disabling user zoom: h5bp.com/g
|
||||
// */
|
||||
html {
|
||||
font-size: 100%;
|
||||
overflow-y: scroll;
|
||||
|
@ -61,11 +61,13 @@ button, input, select, textarea {
|
|||
background-color: @bg_colour;
|
||||
}
|
||||
select {
|
||||
border: 1px #555 dotted;
|
||||
.borders(1px, dotted, darken(@main_alt_colour, 60%));
|
||||
padding: 1px;
|
||||
margin: 3px;
|
||||
color: @main_colour;
|
||||
background: @bg_colour;
|
||||
max-width: 85%;
|
||||
min-width: 85px;
|
||||
}
|
||||
option {
|
||||
padding: 1px;
|
||||
|
@ -76,13 +78,10 @@ option {
|
|||
background: @main_colour;
|
||||
}
|
||||
}
|
||||
ul, ol {
|
||||
.list_reset;
|
||||
}
|
||||
tr:nth-child(even) {
|
||||
background-color: lighten(@bg_colour, 10%);
|
||||
}
|
||||
/* remember to define focus styles! */
|
||||
///* remember to define focus styles! */
|
||||
:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
@ -90,7 +89,7 @@ tr:nth-child(even) {
|
|||
background: @med_bg_colour;
|
||||
color: @disabled_colour;
|
||||
}
|
||||
/* remember to highlight inserts somehow! */
|
||||
///* remember to highlight inserts somehow! */
|
||||
ins, mark {
|
||||
background-color: @bg_alt_colour;
|
||||
color: @lt_main_colour;
|
||||
|
@ -102,14 +101,19 @@ mark {
|
|||
font-style: italic;
|
||||
font-weight: bold;
|
||||
}
|
||||
/* Redeclare monospace font family: h5bp.com/j */
|
||||
pre, code, kbd, samp, .wall-item-body code {
|
||||
///* Redeclare monospace font family: h5bp.com/j */
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp,
|
||||
.wall-item-body code {
|
||||
font-family: monospace, monospace;
|
||||
_font-family: monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
/* Improve readability of pre-formatted text in all browsers */
|
||||
pre, .wall-item-body code {
|
||||
///* Improve readability of pre-formatted text in all browsers */
|
||||
pre,
|
||||
.wall-item-body code {
|
||||
.wrap;
|
||||
}
|
||||
q {
|
||||
|
@ -122,7 +126,8 @@ q {
|
|||
small {
|
||||
font-size: 85%;
|
||||
}
|
||||
/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
|
||||
///* Position subscript and superscript content without affecting
|
||||
// * line-height: h5bp.com/k */
|
||||
sub, sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
|
@ -151,13 +156,55 @@ 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;
|
||||
}
|
||||
|
||||
//
|
||||
.required {
|
||||
display: inline;
|
||||
color: #ff0;
|
||||
|
@ -219,9 +266,10 @@ blockquote {
|
|||
background: @main_colour;
|
||||
.rounded_corners;
|
||||
.box_shadow(3px, 3px, 5px);
|
||||
padding: 3px;
|
||||
margin: 5px 0;
|
||||
margin: 3px 10px 7px 0;
|
||||
padding: 6px 7px;
|
||||
font-weight: bold;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
|
||||
|
@ -276,7 +324,8 @@ blockquote {
|
|||
overflow: hidden !important; }
|
||||
label {
|
||||
width: 180px !important;
|
||||
} }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
@ -315,6 +364,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;
|
||||
|
@ -560,7 +611,7 @@ nav #nav-notifications-linkmenu {
|
|||
}
|
||||
}
|
||||
#user-menu-label {
|
||||
font-size: 12px;
|
||||
font-size: small;
|
||||
padding: 3px 20px 9px 5px;
|
||||
height: 10px;
|
||||
}
|
||||
|
@ -700,7 +751,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 +763,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 +797,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;
|
||||
}
|
||||
|
@ -1133,7 +1185,7 @@ nav #nav-notifications-linkmenu {
|
|||
}
|
||||
.wall-item-content {
|
||||
overflow-x: auto;
|
||||
margin: 0px 15px 0px 5px;
|
||||
margin: 0px 4em 0px 5px;
|
||||
}
|
||||
[id^="tread-wrapper"], [class^="tread-wrapper"] {
|
||||
margin: 15px 0 0 0;
|
||||
|
@ -1182,13 +1234,13 @@ 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 {
|
||||
|
@ -1219,7 +1271,7 @@ nav #nav-notifications-linkmenu {
|
|||
clear: left;
|
||||
font-size: 0.8em;
|
||||
color: lighten(@menu_bg_colour, 20%);
|
||||
margin: 20px 20px 0 110px;
|
||||
margin: 20px auto 0 0.2em;
|
||||
}
|
||||
.wall-item-ago {
|
||||
display: inline;
|
||||
|
@ -1332,7 +1384,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 +1423,7 @@ nav #nav-notifications-linkmenu {
|
|||
|
||||
[class^="comment-edit-text"] {
|
||||
margin: 5px 0 10px 20px;
|
||||
width: 84.5%;
|
||||
width: 94%;
|
||||
}
|
||||
.comment-edit-text-empty {
|
||||
height: 20px;
|
||||
|
@ -2346,7 +2398,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 +2447,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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
@ -2986,74 +3001,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";
|
||||
|
|
|
@ -59,7 +59,8 @@ select {
|
|||
padding: 3px;
|
||||
margin: 3px;
|
||||
color: #222;
|
||||
background: #eee; }
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
option {
|
||||
padding: 3px;
|
||||
|
@ -67,13 +68,13 @@ option {
|
|||
background: #eee;
|
||||
&[selected="selected"] {
|
||||
color: #111;
|
||||
background: #cca; } }
|
||||
|
||||
background: #cca; }
|
||||
}
|
||||
ul, ol {
|
||||
padding: 0; }
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* remember to define focus styles! */
|
||||
|
||||
:focus {
|
||||
outline: 0; }
|
||||
|
||||
|
|
|
@ -2,13 +2,21 @@
|
|||
|
||||
/*
|
||||
* Name: Dispy
|
||||
* Description: <p style="white-space:pre;"> Dispy: Light, Spartan, Sleek, and Functional<br /> Dispy Dark: Dark, Spartan, Sleek, and Functional</p>
|
||||
* Version: 1.2
|
||||
* Description: Dispy family (light, dark): Sleek and Functional Themes
|
||||
* Version: 1.2.1
|
||||
* Author: Simon <http://simon.kisikew.org/>
|
||||
* Maintainer: Simon <http://simon.kisikew.org/>
|
||||
* Screenshot: <a href="screenshot.jpg">Screenshot</a>
|
||||
*/
|
||||
|
||||
/* If you borrow any of these functions, make sure to
|
||||
* RENAME your functions, otherwise both themes get conflicts,
|
||||
* and the friendica instance will get HTTP 500 errors.
|
||||
* To paraphrase Mike: "Might wish to wrap
|
||||
* function_name with "if(! function_exists('function_name')) ... "
|
||||
* or rename to prefix1_function_name (prefix2_function_name), etc.
|
||||
*/
|
||||
|
||||
$a = get_app();
|
||||
$a->theme_info = array(
|
||||
'family' => 'dispy',
|
||||
|
@ -165,7 +173,7 @@ EOT;
|
|||
$a->page['htmlhead'] .= sprintf('<link rel="stylesheet" type="text/css" href="%s" />', $cssFile);
|
||||
}
|
||||
|
||||
js_in_foot();
|
||||
_js_in_foot();
|
||||
}
|
||||
|
||||
function dispy_community_info() {
|
||||
|
@ -179,13 +187,15 @@ function dispy_community_info() {
|
|||
return $a->page['aside_bottom'] = replace_macros($tpl, $aside);
|
||||
}
|
||||
|
||||
function js_in_foot() {
|
||||
/** @purpose insert stuff in bottom of page
|
||||
*/
|
||||
$a = get_app();
|
||||
$baseurl = $a->get_baseurl($ssl_state);
|
||||
$bottom['$baseurl'] = $baseurl;
|
||||
$tpl = file_get_contents(dirname(__file__) . '/bottom.tpl');
|
||||
if(! function_exists('_js_in_foot')) {
|
||||
function _js_in_foot() {
|
||||
/** @purpose insert stuff in bottom of page
|
||||
*/
|
||||
$a = get_app();
|
||||
$baseurl = $a->get_baseurl($ssl_state);
|
||||
$bottom['$baseurl'] = $baseurl;
|
||||
$tpl = file_get_contents(dirname(__file__) . '/bottom.tpl');
|
||||
|
||||
return $a->page['bottom'] = replace_macros($tpl, $bottom);
|
||||
return $a->page['bottom'] = replace_macros($tpl, $bottom);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue