mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-26 03:30:48 +03:00
Удаление mootools шаблонов и библиотек
This commit is contained in:
parent
714834ff52
commit
c599d955e3
6882
engine/lib/external/MooTools_1.2/mootools-1.2.js
vendored
6882
engine/lib/external/MooTools_1.2/mootools-1.2.js
vendored
File diff suppressed because it is too large
Load diff
|
@ -1,109 +0,0 @@
|
|||
/**
|
||||
* Autocompleter.Request
|
||||
*
|
||||
* http://digitarald.de/project/autocompleter/
|
||||
*
|
||||
* @version 1.1.2
|
||||
*
|
||||
* @license MIT-style license
|
||||
* @author Harald Kirschner <mail [at] digitarald.de>
|
||||
* @copyright Author
|
||||
*/
|
||||
|
||||
Autocompleter.Request = new Class({
|
||||
|
||||
Extends: Autocompleter,
|
||||
|
||||
options: {/*
|
||||
indicator: null,
|
||||
indicatorClass: null,
|
||||
onRequest: $empty,
|
||||
onComplete: $empty,*/
|
||||
postData: {},
|
||||
ajaxOptions: {},
|
||||
postVar: 'value'
|
||||
|
||||
},
|
||||
|
||||
query: function(){
|
||||
var data = $unlink(this.options.postData) || {};
|
||||
data[this.options.postVar] = this.queryValue;
|
||||
var indicator = $(this.options.indicator);
|
||||
if (indicator) indicator.setStyle('display', '');
|
||||
var cls = this.options.indicatorClass;
|
||||
if (cls) this.element.addClass(cls);
|
||||
this.fireEvent('onRequest', [this.element, this.request, data, this.queryValue]);
|
||||
this.request.send({'data': data});
|
||||
},
|
||||
|
||||
/**
|
||||
* queryResponse - abstract
|
||||
*
|
||||
* Inherated classes have to extend this function and use this.parent()
|
||||
*/
|
||||
queryResponse: function() {
|
||||
var indicator = $(this.options.indicator);
|
||||
if (indicator) indicator.setStyle('display', 'none');
|
||||
var cls = this.options.indicatorClass;
|
||||
if (cls) this.element.removeClass(cls);
|
||||
return this.fireEvent('onComplete', [this.element, this.request]);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Autocompleter.Request.JSON = new Class({
|
||||
|
||||
Extends: Autocompleter.Request,
|
||||
|
||||
initialize: function(el, url, options) {
|
||||
this.parent(el, options);
|
||||
this.request = new Request.JSON($merge({
|
||||
'url': url,
|
||||
'link': 'cancel'
|
||||
}, this.options.ajaxOptions)).addEvent('onComplete', this.queryResponse.bind(this));
|
||||
},
|
||||
|
||||
queryResponse: function(response) {
|
||||
this.parent();
|
||||
this.update(response);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Autocompleter.Request.HTML = new Class({
|
||||
|
||||
Extends: Autocompleter.Request,
|
||||
|
||||
initialize: function(el, url, options) {
|
||||
this.parent(el, options);
|
||||
this.request = new Request.HTML($merge({
|
||||
'url': url,
|
||||
'link': 'cancel',
|
||||
'update': this.choices
|
||||
}, this.options.ajaxOptions)).addEvent('onComplete', this.queryResponse.bind(this));
|
||||
},
|
||||
|
||||
queryResponse: function(tree, elements) {
|
||||
this.parent();
|
||||
if (!elements || !elements.length) {
|
||||
this.hideChoices();
|
||||
} else {
|
||||
this.choices.getChildren(this.options.choicesMatch).each(this.options.injectChoice || function(choice) {
|
||||
var value = choice.get('text');
|
||||
choice.inputValue = value;
|
||||
this.addChoiceEvents(choice.set('html', this.markQueryValue(value)));
|
||||
}, this);
|
||||
this.showChoices();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/* compatibility */
|
||||
|
||||
Autocompleter.Ajax = {
|
||||
Base: Autocompleter.Request,
|
||||
Json: Autocompleter.Request.JSON,
|
||||
Xhtml: Autocompleter.Request.HTML
|
||||
};
|
|
@ -1,442 +0,0 @@
|
|||
/**
|
||||
* Autocompleter
|
||||
*
|
||||
* http://digitarald.de/project/autocompleter/
|
||||
*
|
||||
* @version 1.1.2
|
||||
*
|
||||
* @license MIT-style license
|
||||
* @author Harald Kirschner <mail [at] digitarald.de>
|
||||
* @copyright Author
|
||||
*/
|
||||
|
||||
var Autocompleter = new Class({
|
||||
|
||||
Implements: [Options, Events],
|
||||
|
||||
options: {/*
|
||||
onOver: $empty,
|
||||
onSelect: $empty,
|
||||
onSelection: $empty,
|
||||
onShow: $empty,
|
||||
onHide: $empty,
|
||||
onBlur: $empty,
|
||||
onFocus: $empty,*/
|
||||
minLength: 1,
|
||||
markQuery: true,
|
||||
width: 'inherit',
|
||||
maxChoices: 10,
|
||||
injectChoice: null,
|
||||
customChoices: null,
|
||||
emptyChoices: null,
|
||||
visibleChoices: true,
|
||||
className: 'autocompleter-choices',
|
||||
zIndex: 42,
|
||||
delay: 400,
|
||||
observerOptions: {},
|
||||
fxOptions: {},
|
||||
|
||||
autoSubmit: false,
|
||||
overflow: false,
|
||||
overflowMargin: 25,
|
||||
selectFirst: false,
|
||||
filter: null,
|
||||
filterCase: false,
|
||||
filterSubset: false,
|
||||
forceSelect: false,
|
||||
selectMode: true,
|
||||
choicesMatch: null,
|
||||
|
||||
multiple: false,
|
||||
separator: ', ',
|
||||
separatorSplit: /\s*[,;]\s*/,
|
||||
autoTrim: false,
|
||||
allowDupes: false,
|
||||
|
||||
cache: true,
|
||||
relative: false
|
||||
},
|
||||
|
||||
initialize: function(element, options) {
|
||||
this.element = $(element);
|
||||
this.setOptions(options);
|
||||
this.build();
|
||||
this.observer = new Observer(this.element, this.prefetch.bind(this), $merge({
|
||||
'delay': this.options.delay
|
||||
}, this.options.observerOptions));
|
||||
this.queryValue = null;
|
||||
if (this.options.filter) this.filter = this.options.filter.bind(this);
|
||||
var mode = this.options.selectMode;
|
||||
this.typeAhead = (mode == 'type-ahead');
|
||||
this.selectMode = (mode === true) ? 'selection' : mode;
|
||||
this.cached = [];
|
||||
},
|
||||
|
||||
/**
|
||||
* build - Initialize DOM
|
||||
*
|
||||
* Builds the html structure for choices and appends the events to the element.
|
||||
* Override this function to modify the html generation.
|
||||
*/
|
||||
build: function() {
|
||||
if ($(this.options.customChoices)) {
|
||||
this.choices = this.options.customChoices;
|
||||
} else {
|
||||
this.choices = new Element('ul', {
|
||||
'class': this.options.className,
|
||||
'styles': {
|
||||
'zIndex': this.options.zIndex
|
||||
}
|
||||
}).inject(document.body);
|
||||
this.relative = false;
|
||||
if (this.options.relative) {
|
||||
this.choices.inject(this.element, 'after');
|
||||
this.relative = this.element.getOffsetParent();
|
||||
}
|
||||
this.fix = new OverlayFix(this.choices);
|
||||
}
|
||||
if (!this.options.separator.test(this.options.separatorSplit)) {
|
||||
this.options.separatorSplit = this.options.separator;
|
||||
}
|
||||
this.fx = (!this.options.fxOptions) ? null : new Fx.Tween(this.choices, $merge({
|
||||
'property': 'opacity',
|
||||
'link': 'cancel',
|
||||
'duration': 200
|
||||
}, this.options.fxOptions)).addEvent('onStart', Chain.prototype.clearChain).set(0);
|
||||
this.element.setProperty('autocomplete', 'off')
|
||||
.addEvent((Browser.Engine.trident || Browser.Engine.webkit) ? 'keydown' : 'keypress', this.onCommand.bind(this))
|
||||
.addEvent('click', this.onCommand.bind(this, [false]))
|
||||
.addEvent('focus', this.toggleFocus.create({bind: this, arguments: true, delay: 100}))
|
||||
.addEvent('blur', this.toggleFocus.create({bind: this, arguments: false, delay: 100}));
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
if (this.fix) this.fix.destroy();
|
||||
this.choices = this.selected = this.choices.destroy();
|
||||
},
|
||||
|
||||
toggleFocus: function(state) {
|
||||
this.focussed = state;
|
||||
if (!state) this.hideChoices(true);
|
||||
this.fireEvent((state) ? 'onFocus' : 'onBlur', [this.element]);
|
||||
},
|
||||
|
||||
onCommand: function(e) {
|
||||
if (!e && this.focussed) return this.prefetch();
|
||||
if (e && e.key && !e.shift) {
|
||||
switch (e.key) {
|
||||
case 'enter':
|
||||
if (this.element.value != this.opted) return true;
|
||||
if (this.selected && this.visible) {
|
||||
this.choiceSelect(this.selected);
|
||||
return !!(this.options.autoSubmit);
|
||||
}
|
||||
break;
|
||||
case 'up': case 'down':
|
||||
if (!this.prefetch() && this.queryValue !== null) {
|
||||
var up = (e.key == 'up');
|
||||
this.choiceOver((this.selected || this.choices)[
|
||||
(this.selected) ? ((up) ? 'getPrevious' : 'getNext') : ((up) ? 'getLast' : 'getFirst')
|
||||
](this.options.choicesMatch), true);
|
||||
}
|
||||
return false;
|
||||
case 'esc': case 'tab':
|
||||
this.hideChoices(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
setSelection: function(finish) {
|
||||
var input = this.selected.inputValue, value = input;
|
||||
var start = this.queryValue.length, end = input.length;
|
||||
if (input.substr(0, start).toLowerCase() != this.queryValue.toLowerCase()) start = 0;
|
||||
if (this.options.multiple) {
|
||||
var split = this.options.separatorSplit;
|
||||
value = this.element.value;
|
||||
start += this.queryIndex;
|
||||
end += this.queryIndex;
|
||||
var old = value.substr(this.queryIndex).split(split, 1)[0];
|
||||
value = value.substr(0, this.queryIndex) + input + value.substr(this.queryIndex + old.length);
|
||||
if (finish) {
|
||||
var tokens = value.split(this.options.separatorSplit).filter(function(entry) {
|
||||
return this.test(entry);
|
||||
}, /[^\s,]+/);
|
||||
if (!this.options.allowDupes) tokens = [].combine(tokens);
|
||||
var sep = this.options.separator;
|
||||
value = tokens.join(sep) + sep;
|
||||
end = value.length;
|
||||
}
|
||||
}
|
||||
this.observer.setValue(value);
|
||||
this.opted = value;
|
||||
if (finish || this.selectMode == 'pick') start = end;
|
||||
this.element.selectRange(start, end);
|
||||
this.fireEvent('onSelection', [this.element, this.selected, value, input]);
|
||||
},
|
||||
|
||||
showChoices: function() {
|
||||
var match = this.options.choicesMatch, first = this.choices.getFirst(match);
|
||||
this.selected = this.selectedValue = null;
|
||||
if (this.fix) {
|
||||
var pos = this.element.getCoordinates(this.relative), width = this.options.width || 'auto';
|
||||
this.choices.setStyles({
|
||||
'left': pos.left,
|
||||
'top': pos.bottom,
|
||||
'width': (width === true || width == 'inherit') ? pos.width : width
|
||||
});
|
||||
}
|
||||
if (!first) return;
|
||||
if (!this.visible) {
|
||||
this.visible = true;
|
||||
this.choices.setStyle('display', '');
|
||||
if (this.fx) this.fx.start(1);
|
||||
this.fireEvent('onShow', [this.element, this.choices]);
|
||||
}
|
||||
if (this.options.selectFirst || this.typeAhead || first.inputValue == this.queryValue) this.choiceOver(first, this.typeAhead);
|
||||
var items = this.choices.getChildren(match), max = this.options.maxChoices;
|
||||
var styles = {'overflowY': 'hidden', 'height': ''};
|
||||
this.overflown = false;
|
||||
if (items.length > max) {
|
||||
var item = items[max - 1];
|
||||
styles.overflowY = 'scroll';
|
||||
styles.height = item.getCoordinates(this.choices).bottom;
|
||||
this.overflown = true;
|
||||
};
|
||||
this.choices.setStyles(styles);
|
||||
this.fix.show();
|
||||
if (this.options.visibleChoices) {
|
||||
var scroll = document.getScroll(),
|
||||
size = document.getSize(),
|
||||
coords = this.choices.getCoordinates();
|
||||
if (coords.right > scroll.x + size.x) scroll.x = coords.right - size.x;
|
||||
if (coords.bottom > scroll.y + size.y) scroll.y = coords.bottom - size.y;
|
||||
window.scrollTo(Math.min(scroll.x, coords.left), Math.min(scroll.y, coords.top));
|
||||
}
|
||||
},
|
||||
|
||||
hideChoices: function(clear) {
|
||||
if (clear) {
|
||||
var value = this.element.value;
|
||||
if (this.options.forceSelect) value = this.opted;
|
||||
if (this.options.autoTrim) {
|
||||
value = value.split(this.options.separatorSplit).filter($arguments(0)).join(this.options.separator);
|
||||
}
|
||||
this.observer.setValue(value);
|
||||
}
|
||||
if (!this.visible) return;
|
||||
this.visible = false;
|
||||
if (this.selected) this.selected.removeClass('autocompleter-selected');
|
||||
this.observer.clear();
|
||||
var hide = function(){
|
||||
this.choices.setStyle('display', 'none');
|
||||
this.fix.hide();
|
||||
}.bind(this);
|
||||
if (this.fx) this.fx.start(0).chain(hide);
|
||||
else hide();
|
||||
this.fireEvent('onHide', [this.element, this.choices]);
|
||||
},
|
||||
|
||||
prefetch: function() {
|
||||
var value = this.element.value, query = value;
|
||||
if (this.options.multiple) {
|
||||
var split = this.options.separatorSplit;
|
||||
var values = value.split(split);
|
||||
var index = this.element.getSelectedRange().start;
|
||||
var toIndex = value.substr(0, index).split(split);
|
||||
var last = toIndex.length - 1;
|
||||
index -= toIndex[last].length;
|
||||
query = values[last];
|
||||
}
|
||||
if (query.length < this.options.minLength) {
|
||||
this.hideChoices();
|
||||
} else {
|
||||
if (query === this.queryValue || (this.visible && query == this.selectedValue)) {
|
||||
if (this.visible) return false;
|
||||
this.showChoices();
|
||||
} else {
|
||||
this.queryValue = query;
|
||||
this.queryIndex = index;
|
||||
if (!this.fetchCached()) this.query();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
fetchCached: function() {
|
||||
return false;
|
||||
if (!this.options.cache
|
||||
|| !this.cached
|
||||
|| !this.cached.length
|
||||
|| this.cached.length >= this.options.maxChoices
|
||||
|| this.queryValue) return false;
|
||||
this.update(this.filter(this.cached));
|
||||
return true;
|
||||
},
|
||||
|
||||
update: function(tokens) {
|
||||
this.choices.empty();
|
||||
this.cached = tokens;
|
||||
var type = tokens && $type(tokens);
|
||||
if (!type || (type == 'array' && !tokens.length) || (type == 'hash' && !tokens.getLength())) {
|
||||
(this.options.emptyChoices || this.hideChoices).call(this);
|
||||
} else {
|
||||
if (this.options.maxChoices < tokens.length && !this.options.overflow) tokens.length = this.options.maxChoices;
|
||||
tokens.each(this.options.injectChoice || function(token){
|
||||
var choice = new Element('li', {'html': this.markQueryValue(token)});
|
||||
choice.inputValue = token;
|
||||
this.addChoiceEvents(choice).inject(this.choices);
|
||||
}, this);
|
||||
this.showChoices();
|
||||
}
|
||||
},
|
||||
|
||||
choiceOver: function(choice, selection) {
|
||||
if (!choice || choice == this.selected) return;
|
||||
if (this.selected) this.selected.removeClass('autocompleter-selected');
|
||||
this.selected = choice.addClass('autocompleter-selected');
|
||||
this.fireEvent('onSelect', [this.element, this.selected, selection]);
|
||||
if (!this.selectMode) this.opted = this.element.value;
|
||||
if (!selection) return;
|
||||
this.selectedValue = this.selected.inputValue;
|
||||
if (this.overflown) {
|
||||
var coords = this.selected.getCoordinates(this.choices), margin = this.options.overflowMargin,
|
||||
top = this.choices.scrollTop, height = this.choices.offsetHeight, bottom = top + height;
|
||||
if (coords.top - margin < top && top) this.choices.scrollTop = Math.max(coords.top - margin, 0);
|
||||
else if (coords.bottom + margin > bottom) this.choices.scrollTop = Math.min(coords.bottom - height + margin, bottom);
|
||||
}
|
||||
if (this.selectMode) this.setSelection();
|
||||
},
|
||||
|
||||
choiceSelect: function(choice) {
|
||||
if (choice) this.choiceOver(choice);
|
||||
this.setSelection(true);
|
||||
this.queryValue = false;
|
||||
this.hideChoices();
|
||||
},
|
||||
|
||||
filter: function(tokens) {
|
||||
return (tokens || this.tokens).filter(function(token) {
|
||||
return this.test(token);
|
||||
}, new RegExp(((this.options.filterSubset) ? '' : '^') + this.queryValue.escapeRegExp(), (this.options.filterCase) ? '' : 'i'));
|
||||
},
|
||||
|
||||
/**
|
||||
* markQueryValue
|
||||
*
|
||||
* Marks the queried word in the given string with <span class="autocompleter-queried">*</span>
|
||||
* Call this i.e. from your custom parseChoices, same for addChoiceEvents
|
||||
*
|
||||
* @param {String} Text
|
||||
* @return {String} Text
|
||||
*/
|
||||
markQueryValue: function(str) {
|
||||
return (!this.options.markQuery || !this.queryValue) ? str
|
||||
: str.replace(new RegExp('(' + ((this.options.filterSubset) ? '' : '^') + this.queryValue.escapeRegExp() + ')', (this.options.filterCase) ? '' : 'i'), '<span class="autocompleter-queried">$1</span>');
|
||||
},
|
||||
|
||||
/**
|
||||
* addChoiceEvents
|
||||
*
|
||||
* Appends the needed event handlers for a choice-entry to the given element.
|
||||
*
|
||||
* @param {Element} Choice entry
|
||||
* @return {Element} Choice entry
|
||||
*/
|
||||
addChoiceEvents: function(el) {
|
||||
return el.addEvents({
|
||||
'mouseover': this.choiceOver.bind(this, [el]),
|
||||
'click': this.choiceSelect.bind(this, [el])
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var OverlayFix = new Class({
|
||||
|
||||
initialize: function(el) {
|
||||
if (Browser.Engine.trident) {
|
||||
this.element = $(el);
|
||||
this.relative = this.element.getOffsetParent();
|
||||
this.fix = new Element('iframe', {
|
||||
'frameborder': '0',
|
||||
'scrolling': 'no',
|
||||
'src': 'javascript:false;',
|
||||
'styles': {
|
||||
'position': 'absolute',
|
||||
'border': 'none',
|
||||
'display': 'none',
|
||||
'filter': 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'
|
||||
}
|
||||
}).inject(this.element, 'after');
|
||||
}
|
||||
},
|
||||
|
||||
show: function() {
|
||||
if (this.fix) {
|
||||
var coords = this.element.getCoordinates(this.relative);
|
||||
delete coords.right;
|
||||
delete coords.bottom;
|
||||
this.fix.setStyles($extend(coords, {
|
||||
'display': '',
|
||||
'zIndex': (this.element.getStyle('zIndex') || 1) - 1
|
||||
}));
|
||||
}
|
||||
return this;
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
if (this.fix) this.fix.setStyle('display', 'none');
|
||||
return this;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
if (this.fix) this.fix = this.fix.destroy();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Element.implement({
|
||||
|
||||
getSelectedRange: function() {
|
||||
if (!Browser.Engine.trident) return {start: this.selectionStart, end: this.selectionEnd};
|
||||
var pos = {start: 0, end: 0};
|
||||
var range = this.getDocument().selection.createRange();
|
||||
if (!range || range.parentElement() != this) return pos;
|
||||
var dup = range.duplicate();
|
||||
if (this.type == 'text') {
|
||||
pos.start = 0 - dup.moveStart('character', -100000);
|
||||
pos.end = pos.start + range.text.length;
|
||||
} else {
|
||||
var value = this.value;
|
||||
var offset = value.length - value.match(/[\n\r]*$/)[0].length;
|
||||
dup.moveToElementText(this);
|
||||
dup.setEndPoint('StartToEnd', range);
|
||||
pos.end = offset - dup.text.length;
|
||||
dup.setEndPoint('StartToStart', range);
|
||||
pos.start = offset - dup.text.length;
|
||||
}
|
||||
return pos;
|
||||
},
|
||||
|
||||
selectRange: function(start, end) {
|
||||
if (Browser.Engine.trident) {
|
||||
var diff = this.value.substr(start, end - start).replace(/\r/g, '').length;
|
||||
start = this.value.substr(0, start).replace(/\r/g, '').length;
|
||||
var range = this.createTextRange();
|
||||
range.collapse(true);
|
||||
range.moveEnd('character', start + diff);
|
||||
range.moveStart('character', start);
|
||||
range.select();
|
||||
} else {
|
||||
this.focus();
|
||||
this.setSelectionRange(start, end);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/* compatibility */
|
||||
|
||||
Autocompleter.Base = Autocompleter;
|
|
@ -1,69 +0,0 @@
|
|||
/**
|
||||
* Observer - Observe formelements for changes
|
||||
*
|
||||
* - Additional code from clientside.cnet.com
|
||||
*
|
||||
* @version 1.1
|
||||
*
|
||||
* @license MIT-style license
|
||||
* @author Harald Kirschner <mail [at] digitarald.de>
|
||||
* @copyright Author
|
||||
*/
|
||||
var Observer = new Class({
|
||||
|
||||
Implements: [Options, Events],
|
||||
|
||||
options: {
|
||||
periodical: false,
|
||||
delay: 1000
|
||||
},
|
||||
|
||||
initialize: function(el, onFired, options){
|
||||
this.element = $(el) || $$(el);
|
||||
this.addEvent('onFired', onFired);
|
||||
this.setOptions(options);
|
||||
this.bound = this.changed.bind(this);
|
||||
this.resume();
|
||||
},
|
||||
|
||||
changed: function() {
|
||||
var value = this.element.get('value');
|
||||
if ($equals(this.value, value)) return;
|
||||
this.clear();
|
||||
this.value = value;
|
||||
this.timeout = this.onFired.delay(this.options.delay, this);
|
||||
},
|
||||
|
||||
setValue: function(value) {
|
||||
this.value = value;
|
||||
this.element.set('value', value);
|
||||
return this.clear();
|
||||
},
|
||||
|
||||
onFired: function() {
|
||||
this.fireEvent('onFired', [this.value, this.element]);
|
||||
},
|
||||
|
||||
clear: function() {
|
||||
$clear(this.timeout || null);
|
||||
return this;
|
||||
},
|
||||
|
||||
pause: function(){
|
||||
if (this.timer) $clear(this.timer);
|
||||
else this.element.removeEvent('keyup', this.bound);
|
||||
return this.clear();
|
||||
},
|
||||
|
||||
resume: function(){
|
||||
this.value = this.element.get('value');
|
||||
if (this.options.periodical) this.timer = this.changed.periodical(this.options.periodical, this);
|
||||
else this.element.addEvent('keyup', this.bound);
|
||||
return this;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var $equals = function(obj1, obj2) {
|
||||
return (obj1 == obj2 || JSON.encode(obj1) == JSON.encode(obj2));
|
||||
};
|
File diff suppressed because one or more lines are too long
|
@ -1,232 +0,0 @@
|
|||
/*
|
||||
Script: piechart.js
|
||||
|
||||
Dependencies:
|
||||
mootools-beta-1.2b2.js
|
||||
moocanvas.js
|
||||
|
||||
Author:
|
||||
Greg Houston, <http://greghoustondesign.com/>
|
||||
|
||||
Credits:
|
||||
Based on Stoyan Stefanov's Canvas Pie:< http://www.phpied.com/canvas-pie/>
|
||||
Color algorithm inspired by Jim Bumgardner:<http://www.krazydad.com/makecolors.php>
|
||||
|
||||
License:
|
||||
MIT License, <http://en.wikipedia.org/wiki/MIT_License>
|
||||
|
||||
Example Usage:
|
||||
|
||||
<table class="pieChart">
|
||||
<tr><th>Browser</th> <th>Value</th></tr>
|
||||
<tr><td>Safari </td> <td>180 </td></tr>
|
||||
<tr><td>Firefox</td> <td>210 </td></tr>
|
||||
<tr><td>IE </td> <td>30 </td></tr>
|
||||
<tr><td>Opera </td> <td>120 </td></tr>
|
||||
</table>
|
||||
|
||||
*/
|
||||
|
||||
|
||||
var PieChart = new Class({
|
||||
options: {
|
||||
pieChartRadius: 60, // Half the width of your pie chart
|
||||
td_label_index: 0, // which TD contains the label
|
||||
td_index: 1, // which TD contains the data
|
||||
index: 1
|
||||
},
|
||||
initialize: function(elData,el,options){
|
||||
this.setOptions(options);
|
||||
|
||||
// Initialize variables
|
||||
this.pieChartRadius = this.options.pieChartRadius;
|
||||
this.pieChartDiameter = this.pieChartRadius * 2;
|
||||
this.pieVertices = 12; // Does not include the center vertex
|
||||
this.arcIncrementMultiplier = 1 / this.pieVertices;
|
||||
this.index = 0;
|
||||
this.tableIndex = this.options.index;
|
||||
this.areaIndex = 1;
|
||||
this.canvas = '';
|
||||
this.container = '';
|
||||
this.data_table = '';
|
||||
|
||||
|
||||
this.insertElements(el);
|
||||
aData=this.makeData(elData);
|
||||
this.makePieChart(aData);
|
||||
this.addToolTips();
|
||||
},
|
||||
insertElements: function(el){
|
||||
|
||||
///// STEP 1 - Insert HTML Elements
|
||||
|
||||
// Insert a div that will contain both the pie chart and it's legend
|
||||
this.container = new Element('div', {
|
||||
id: 'pieChartContainer' + this.tableIndex
|
||||
}).injectBefore($(el)).addClass('pieChartContainer');
|
||||
|
||||
// Pull the table out of the page and put it in the pie chart container
|
||||
this.data_table = el.clone().injectBottom(this.container);
|
||||
el.dispose();
|
||||
|
||||
// Insert a div that will contain both the pie chart canvas and it's image map overlay
|
||||
new Element('div', {
|
||||
id: 'pieChartWrapper' + this.tableIndex
|
||||
}).injectTop(this.container).addClass('pieChartWrapper');
|
||||
|
||||
// Insert the canvas to draw the pie on
|
||||
this.canvas = new Element('canvas', {
|
||||
id: 'canvas' + this.tableIndex,
|
||||
width: this.pieChartDiameter,
|
||||
height: this.pieChartDiameter
|
||||
}).injectInside(this.container.getElement('.pieChartWrapper')).addClass('pieChartCanvas');
|
||||
|
||||
// Insert the map element. The area elements will be added later
|
||||
new Element('map', {
|
||||
id: 'pieChartMap' + this.tableIndex,
|
||||
name: 'pieChartMap' + this.tableIndex
|
||||
}).injectBottom(this.container).addClass('pieChartMap');
|
||||
|
||||
// Insert the blank transparent gif that is used for the image map
|
||||
new Asset.image(DIR_STATIC_SKIN+'/images/spacer.gif', {
|
||||
alt: '',
|
||||
usemap: '#pieChartMap' + this.tableIndex,
|
||||
width: this.pieChartDiameter,
|
||||
height: this.pieChartDiameter
|
||||
}).injectInside(this.container.getElement('.pieChartWrapper')).setStyles({
|
||||
'width': this.pieChartDiameter,
|
||||
'height': this.pieChartDiameter
|
||||
});
|
||||
|
||||
// Insert a div to insure layout integrity
|
||||
new Element('div').injectBottom(this.container).addClass('clear');
|
||||
|
||||
},
|
||||
makeData: function(elData) {
|
||||
var aData=[];
|
||||
elData.getChildren().each(function(el) {
|
||||
var data=el.getChildren();
|
||||
if ($(data[0])) {
|
||||
var color = data[0].getStyle('background').match(/#\w+/i);
|
||||
aData.extend([{
|
||||
'label': el.get('text'),
|
||||
'value': data[1].get('text'),
|
||||
'color': data[0].getStyle('background').match(/#\w+/i)[0]
|
||||
}]);
|
||||
}
|
||||
});
|
||||
return aData;
|
||||
},
|
||||
makePieChart: function(aData){
|
||||
|
||||
///// STEP 2 - Get the data
|
||||
var data = [], color, colors = [], labels = [], values = [], total = 0, value=0;
|
||||
aData.each(function(item, index){
|
||||
labels[colors.length] = item.label;
|
||||
value=parseFloat(item.value);
|
||||
values[colors.length] = value;
|
||||
total += value;
|
||||
colors[colors.length] = item.color.hexToRgb();
|
||||
},this);
|
||||
|
||||
///// STEP 3 - Draw pie on canvas
|
||||
|
||||
// get canvas context, determine radius and center
|
||||
var ctx = this.canvas.getContext('2d');
|
||||
|
||||
var tableLength = colors.length;
|
||||
for (piece=0; piece < tableLength; piece++) {
|
||||
|
||||
var thisvalue = values[piece] / total;
|
||||
var arcStartAngle = Math.PI * (- 0.5 + 2 * this.index); // -0.5 sets set the start to be top
|
||||
var arcEndAngle = Math.PI * (- 0.5 + 2 * (this.index + thisvalue));
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(this.pieChartRadius, this.pieChartRadius); // Center of the pie
|
||||
ctx.arc( // draw next arc
|
||||
this.pieChartRadius,
|
||||
this.pieChartRadius,
|
||||
this.pieChartRadius,
|
||||
arcStartAngle,
|
||||
arcEndAngle,
|
||||
false
|
||||
);
|
||||
ctx.closePath();
|
||||
ctx.fillStyle = colors[piece]; // Color
|
||||
ctx.fill();
|
||||
|
||||
// Draw the same thing again to draw stroke properly in IE
|
||||
ctx.lineWidth = 1;
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(this.pieChartRadius, this.pieChartRadius);
|
||||
|
||||
ctx.arc( // draw next arc
|
||||
this.pieChartRadius,
|
||||
this.pieChartRadius,
|
||||
this.pieChartRadius,
|
||||
arcStartAngle,
|
||||
arcEndAngle,
|
||||
false
|
||||
);
|
||||
ctx.closePath();
|
||||
ctx.strokeStyle = "#FFF";
|
||||
ctx.stroke();
|
||||
|
||||
///// STEP 4 - Draw pie on image map
|
||||
|
||||
var arcIncrement = (arcEndAngle - arcStartAngle) * this.arcIncrementMultiplier;
|
||||
|
||||
var xx = this.pieChartRadius + Math.round(Math.cos(arcStartAngle) * this.pieChartRadius);
|
||||
var yy = this.pieChartRadius + Math.round(Math.sin(arcStartAngle) * this.pieChartRadius);
|
||||
|
||||
var coord = [];
|
||||
var coordIndex = 1;
|
||||
|
||||
for (i = 0; i < ((this.pieVertices * 2) - 2); i = i+2) {
|
||||
var arcAngle = arcStartAngle + arcIncrement * coordIndex;
|
||||
coord[i] = this.pieChartRadius + Math.round(Math.cos(arcAngle) * this.pieChartRadius);
|
||||
coord[i+1] = this.pieChartRadius + Math.round(Math.sin(arcAngle) * this.pieChartRadius);
|
||||
coordIndex++;
|
||||
}
|
||||
|
||||
var xxEnd = this.pieChartRadius + Math.round(Math.cos(arcEndAngle) * this.pieChartRadius);
|
||||
var yyEnd = this.pieChartRadius + Math.round(Math.sin(arcEndAngle) * this.pieChartRadius);
|
||||
|
||||
var myArea = 'area' + this.tableIndex + '-' + piece;
|
||||
|
||||
new Element('area', {
|
||||
'id': myArea ,
|
||||
'shape': 'poly',
|
||||
'coords': this.pieChartRadius + ',' + this.pieChartRadius + ',' + xx + ',' + yy + ',' + coord.join(',') + ',' + xxEnd + ',' + yyEnd,
|
||||
'title': labels[piece]
|
||||
}).injectInside(this.container.getElement('.pieChartMap'));
|
||||
|
||||
this.index += thisvalue; // increment progress tracker
|
||||
}
|
||||
|
||||
this.tableIndex++;
|
||||
|
||||
},
|
||||
addToolTips: function(){
|
||||
|
||||
///// STEP 5 - Add Tooltips
|
||||
|
||||
new Tips($$(document.getElementsByTagName('area')), {
|
||||
showDelay: 10,
|
||||
hideDelay: 10
|
||||
});
|
||||
|
||||
},
|
||||
getColor: function(i, totalSteps){
|
||||
var colori = i * 100 / totalSteps;
|
||||
var frequency = Math.PI*2 / totalSteps;
|
||||
var center = 190;
|
||||
var amplitude = 60;
|
||||
var rgb = [];
|
||||
rgb[0] = Math.round(Math.sin(frequency * i + 0) * amplitude + center);
|
||||
rgb[1] = Math.round(Math.sin(frequency * i + 2) * amplitude + center);
|
||||
rgb[2] = Math.round(Math.sin(frequency * i + 4) * amplitude + center);
|
||||
return 'rgb(' + rgb.join(',') + ')';
|
||||
}
|
||||
});
|
||||
PieChart.implement(new Options);
|
|
@ -1,55 +0,0 @@
|
|||
.roar-body
|
||||
{
|
||||
position: absolute;
|
||||
font: 12px/14px "Lucida Grande", Arial, Helvetica, Verdana, sans-serif;
|
||||
color: #fff;
|
||||
text-align: left;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.roar
|
||||
{
|
||||
position: absolute;
|
||||
width: 300px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.roar-bg
|
||||
{
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background-color: #000;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 5px;
|
||||
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.roar-body-ugly .roar
|
||||
{
|
||||
background-color: #333;
|
||||
}
|
||||
.roar-body-ugly .roar-bg
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
.roar h3
|
||||
{
|
||||
position: relative;
|
||||
padding: 15px 10px 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
font-size: 13px;
|
||||
color: #fff;
|
||||
z-index: 1002;
|
||||
}
|
||||
.roar p
|
||||
{
|
||||
position: relative;
|
||||
padding: 10px 10px 15px;
|
||||
margin: 0;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
z-index: 1002;
|
||||
}
|
167
engine/lib/external/MooTools_1.2/plugs/Roal/Roar.js
vendored
167
engine/lib/external/MooTools_1.2/plugs/Roal/Roar.js
vendored
|
@ -1,167 +0,0 @@
|
|||
/**
|
||||
* Roar - Notifications
|
||||
*
|
||||
* Inspired by Growl
|
||||
*
|
||||
* @version 1.0.1
|
||||
*
|
||||
* @license MIT-style license
|
||||
* @author Harald Kirschner <mail [at] digitarald.de>
|
||||
* @copyright Author
|
||||
*/
|
||||
|
||||
var Roar = new Class({
|
||||
|
||||
Implements: [Options, Events, Chain],
|
||||
|
||||
options: {
|
||||
duration: 4000,
|
||||
position: 'upperLeft',
|
||||
container: null,
|
||||
bodyFx: null,
|
||||
itemFx: null,
|
||||
margin: {x: 10, y: 10},
|
||||
offset: 5,
|
||||
className: 'roar',
|
||||
onShow: $empty,
|
||||
onHide: $empty,
|
||||
onRender: $empty,
|
||||
style: 'notice'
|
||||
},
|
||||
|
||||
initialize: function(options) {
|
||||
this.setOptions(options);
|
||||
this.items = [];
|
||||
this.container = $(this.options.container) || document;
|
||||
},
|
||||
|
||||
alert: function(title, message, options) {
|
||||
var params = Array.link(arguments, {title: String.type, message: String.type, options: Object.type});
|
||||
var items = [new Element('h3', {'html': $pick(params.title, '')})];
|
||||
if (params.message) items.push(new Element('p', {'html': params.message}));
|
||||
return this.inject(items, params.options);
|
||||
},
|
||||
|
||||
inject: function(elements, options) {
|
||||
if (!this.body) this.render();
|
||||
options = options || {};
|
||||
|
||||
var offset = [-this.options.offset, 0];
|
||||
var last = this.items.getLast();
|
||||
if (last) {
|
||||
offset[0] = last.retrieve('roar:offset');
|
||||
offset[1] = offset[0] + last.offsetHeight + this.options.offset;
|
||||
}
|
||||
var to = {'opacity': 1};
|
||||
to[this.align.y] = offset;
|
||||
|
||||
var item = new Element('div', {
|
||||
'class': this.options.className,
|
||||
'opacity': 0
|
||||
}).adopt(
|
||||
new Element('div', {
|
||||
'class': this.options.className+'-bg',
|
||||
'opacity': 0.7
|
||||
}),
|
||||
elements
|
||||
);
|
||||
|
||||
item.setStyle(this.align.x, 0).store('roar:offset', offset[1]).set('morph', $merge({
|
||||
unit: 'px',
|
||||
link: 'cancel',
|
||||
onStart: Chain.prototype.clearChain,
|
||||
transition: Fx.Transitions.Back.easeOut
|
||||
}, this.options.itemFx));
|
||||
|
||||
var remove = this.remove.create({
|
||||
bind: this,
|
||||
arguments: [item],
|
||||
delay: 10
|
||||
});
|
||||
this.items.push(item.addEvent('click', remove));
|
||||
|
||||
if (this.options.duration) {
|
||||
var over = false;
|
||||
var trigger = (function() {
|
||||
trigger = null;
|
||||
if (!over) remove();
|
||||
}).delay(this.options.duration);
|
||||
item.addEvents({
|
||||
mouseover: function() {
|
||||
over = true;
|
||||
},
|
||||
mouseout: function() {
|
||||
over = false;
|
||||
if (!trigger) remove();
|
||||
}
|
||||
});
|
||||
}
|
||||
item.inject(this.body).morph(to);
|
||||
return this.fireEvent('onShow', [item, this.items.length]);
|
||||
},
|
||||
|
||||
remove: function(item) {
|
||||
var index = this.items.indexOf(item);
|
||||
if (index == -1) return this;
|
||||
this.items.splice(index, 1);
|
||||
item.removeEvents();
|
||||
var to = {opacity: 0};
|
||||
to[this.align.y] = item.getStyle(this.align.y).toInt() - item.offsetHeight - this.options.offset;
|
||||
item.morph(to).get('morph').chain(item.destroy.bind(item));
|
||||
return this.fireEvent('onHide', [item, this.items.length]).callChain(item);
|
||||
},
|
||||
|
||||
empty: function() {
|
||||
while (this.items.length) this.remove(this.items[0]);
|
||||
return this;
|
||||
},
|
||||
|
||||
render: function() {
|
||||
this.position = this.options.position;
|
||||
if ($type(this.position) == 'string') {
|
||||
var position = {x: 'center', y: 'center'};
|
||||
this.align = {x: 'left', y: 'top'};
|
||||
if ((/left|west/i).test(this.position)) position.x = 'left';
|
||||
else if ((/right|east/i).test(this.position)) this.align.x = position.x = 'right';
|
||||
if ((/upper|top|north/i).test(this.position)) position.y = 'top';
|
||||
else if ((/bottom|lower|south/i).test(this.position)) this.align.y = position.y = 'bottom';
|
||||
this.position = position;
|
||||
}
|
||||
this.body = new Element('div', {'class': this.options.className+'-body'}).inject(document.body);
|
||||
if (Browser.Engine.trident4) this.body.addClass(this.options.className+'-body-ugly');
|
||||
this.moveTo = this.body.setStyles.bind(this.body);
|
||||
this.reposition();
|
||||
if (this.options.bodyFx) {
|
||||
var morph = new Fx.Morph(this.body, $merge({
|
||||
unit: 'px',
|
||||
chain: 'cancel',
|
||||
transition: Fx.Transitions.Circ.easeOut
|
||||
}, this.options.bodyFx));
|
||||
this.moveTo = morph.start.bind(morph);
|
||||
}
|
||||
var repos = this.reposition.bind(this);
|
||||
window.addEvents({
|
||||
scroll: repos,
|
||||
resize: repos
|
||||
});
|
||||
this.fireEvent('onRender', this.body);
|
||||
},
|
||||
|
||||
reposition: function() {
|
||||
var max = document.getCoordinates(), scroll = document.getScroll(), margin = this.options.margin;
|
||||
max.left += scroll.x;
|
||||
max.right += scroll.x;
|
||||
max.top += scroll.y;
|
||||
max.bottom += scroll.y;
|
||||
var rel = ($type(this.container) == 'element') ? this.container.getCoordinates() : max;
|
||||
this.moveTo({
|
||||
left: (this.position.x == 'right')
|
||||
? (Math.min(rel.right, max.right) - margin.x)
|
||||
: (Math.max(rel.left, max.left) + margin.x),
|
||||
top: (this.position.y == 'bottom')
|
||||
? (Math.min(rel.bottom, max.bottom) - margin.y)
|
||||
: (Math.max(rel.top, max.top) + margin.y)
|
||||
});
|
||||
}
|
||||
|
||||
});
|
|
@ -1,120 +0,0 @@
|
|||
/*
|
||||
---
|
||||
description: This class gives you a method to upload files 'the ajax way'
|
||||
|
||||
license: MIT-style
|
||||
|
||||
authors:
|
||||
- Arian Stolwijk
|
||||
|
||||
requires: [Class, Options, Events, Element, Element.Event, Element.Style]
|
||||
|
||||
provides: [Element.iFrameFormRequest, iFrameFormRequest]
|
||||
|
||||
...
|
||||
*/
|
||||
|
||||
/**
|
||||
* @author Arian Stolwijk
|
||||
* Idea taken from http://www.webtoolkit.info/ajax-file-upload.html
|
||||
*/
|
||||
|
||||
var iFrameFormRequest = new Class({
|
||||
|
||||
Implements: [Options, Events],
|
||||
|
||||
options: { /*
|
||||
onRequest: function(){},
|
||||
onComplete: function(data){},
|
||||
onFailure: function(){}, */
|
||||
eventName: 'sbt',
|
||||
url: '',
|
||||
dataType: 'text',
|
||||
params: {}
|
||||
},
|
||||
|
||||
initialize: function(form, options){
|
||||
this.setOptions(options);
|
||||
var frameId = this.frameId = 'iframe_'+Math.random();
|
||||
var loading = false;
|
||||
|
||||
this.form = document.id(form);
|
||||
|
||||
// добавляем поля из параметров
|
||||
$each(this.options.params,function(v,k){
|
||||
if (typeof(v)=="boolean") {
|
||||
v=v ? 1 : 0;
|
||||
}
|
||||
var input=new Element('input',{type:'hidden',name:k,value:v});
|
||||
this.form.adopt(input);
|
||||
}.bind(this));
|
||||
|
||||
// подменяем URL
|
||||
if (this.options.url) {
|
||||
this.form.setProperty('action',this.options.url);
|
||||
}
|
||||
|
||||
this.formEvent = function(){
|
||||
loading = true;
|
||||
this.fireEvent('request');
|
||||
}.bind(this);
|
||||
|
||||
this.iframe = new IFrame({
|
||||
name: frameId,
|
||||
styles: {
|
||||
display: 'none'
|
||||
},
|
||||
src: 'about:blank',
|
||||
events: {
|
||||
load: function(){
|
||||
if (loading){
|
||||
var doc = this.iframe.contentWindow.document;
|
||||
if (doc && doc.location.href != 'about:blank'){
|
||||
var data=doc.body.innerHTML;
|
||||
if (this.options.dataType=='json') {
|
||||
var ta = doc.getElementsByTagName('textarea')[0];
|
||||
if (ta) {
|
||||
data = ta.value;
|
||||
}
|
||||
this.fireEvent('complete', JSON.decode(data));
|
||||
} else {
|
||||
this.fireEvent('complete', data);
|
||||
}
|
||||
} else {
|
||||
this.fireEvent('failure');
|
||||
}
|
||||
loading = false;
|
||||
}
|
||||
}.bind(this)
|
||||
}
|
||||
}).inject(document.body);
|
||||
|
||||
this.attach();
|
||||
},
|
||||
|
||||
send: function(){
|
||||
this.form.fireEvent(this.options.eventName);
|
||||
this.form.submit();
|
||||
},
|
||||
|
||||
attach: function(){
|
||||
this.target = this.form.get('target');
|
||||
this.form.set('target', this.frameId)
|
||||
.addEvent(this.options.eventName, this.formEvent);
|
||||
},
|
||||
|
||||
detach: function(){
|
||||
this.form.set('target', this.target)
|
||||
.removeEvent(this.options.eventName, this.formEvent);
|
||||
},
|
||||
|
||||
toElement: function(){
|
||||
return this.iframe;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Element.implement('iFrameFormRequest', function(options){
|
||||
this.store('iFrameFormRequest', new iFrameFormRequest(this, options));
|
||||
return this;
|
||||
});
|
|
@ -1,12 +0,0 @@
|
|||
<?php if(!in_array($_POST['defaultView'], array('month', 'year', 'decade'))) $_POST['defaultView'] = 'month'; ?>
|
||||
<div class="vlaCalendar<?php echo ($_POST['style'] ? ' '.$_POST['style'] : ''); ?>">
|
||||
<span class="indication">
|
||||
<div class="arrowRight"></div>
|
||||
<div class="arrowLeft"></div>
|
||||
<span class="label" date="{'day': '<?php echo date('j'); ?>', 'month': '<?php echo date('n'); ?>', 'year': '<?php echo date('Y'); ?>'}"> </span>
|
||||
</span>
|
||||
<div class="container">
|
||||
<div class="loaderB"></div>
|
||||
<div class="loaderA"><?php include $_POST['defaultView'].'.php'; ?></div>
|
||||
</div>
|
||||
</div>
|
|
@ -1,55 +0,0 @@
|
|||
<?php
|
||||
include('vars.php');
|
||||
|
||||
$decadeAr = array( array(1979, 1990),
|
||||
array(1989, 2000),
|
||||
array(1999, 2010),
|
||||
array(2009, 2020),
|
||||
array(2019, 2030) );
|
||||
|
||||
$ts = isset($_POST['ts']) ? $_POST['ts'] : time();
|
||||
$ts_year = date('Y', $ts);
|
||||
|
||||
foreach($decadeAr as $d) {
|
||||
if($ts_year == $decadeAr[sizeof($decadeAr)-1][1] || $ts_year > $d[0] && $ts_year < $d[1] || $ts_year == $decadeAr[0][0]) {
|
||||
$decade = $d;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$y_ts = $_POST['parent'] == 'year' ? mktime(1, 1, 1, 1, 1, date('Y', $ts)) : ''; //Selected year timestamp
|
||||
$m_ts = $_POST['m_ts'];
|
||||
|
||||
if($_POST['pickedDate']) {
|
||||
$pickedDateAr = explode('/', $_POST['pickedDate']);
|
||||
$pickedDate = @mktime(1, 1, 1, 1, 1, $pickedDateAr[2]);
|
||||
} else {
|
||||
$pickedDate = mktime(1, 1, 1, 1, 1, date('Y'));
|
||||
}
|
||||
|
||||
$pr_ts = mktime(1, 1, 1, 1, 1, $ts_year - 10);
|
||||
$nx_ts = mktime(1, 1, 1, 1, 1, $ts_year + 10);
|
||||
|
||||
//Fix for border years to decade errors
|
||||
if($ts_year == $decadeAr[sizeof($decadeAr)-1][1]) {
|
||||
$decade = $decadeAr[sizeof($decadeAr)-1];
|
||||
$pr_ts = mktime(1, 1, 1, 1, 1, $ts_year - 11);
|
||||
} else if($ts_year == $decadeAr[0][0]) $nx_ts = mktime(1, 1, 1, 1, 1, $ts_year + 11);
|
||||
?>
|
||||
<table class="year" cellpadding="0" summary="{'ts': '<?php echo $ts; ?>', 'pr_ts': '<?php echo $pr_ts; ?>', 'nx_ts': '<?php echo $nx_ts; ?>', 'label': '<?php echo ($decade[0]+1).' - '.($decade[1]-1); ?>',
|
||||
'current': 'decade'<?php echo ($decade == $decadeAr[0] ? ", 'hide_left_arrow': '1'" : '').($decade == $decadeAr[sizeof($decadeAr)-1] ? ", 'hide_right_arrow': '1'" : ''); ?>}">
|
||||
<?php
|
||||
//Add decades
|
||||
$year = $decade[0];
|
||||
for($i = 0; $i < 3; $i++) {
|
||||
echo "\t<tr>";
|
||||
for($y = 0; $y < 4; $y++) {
|
||||
$i_ts = mktime(1, 1, 1, 1, 1, $year);
|
||||
if($i == 0 && $y == 0 || $i == 2 && $y == 3) echo '<td ts="'.$i_ts.'" m_ts="'.$m_ts.'" class="outsideYear">'.$year.'</td>';
|
||||
else echo '<td ts="'.$i_ts.'" m_ts="'.$m_ts.'" class="'.($y_ts == $i_ts ? 'selected' : '').($pickedDate == $i_ts ? 'current' : '').'">'.$year.'</td>';
|
||||
$year++;
|
||||
}
|
||||
echo "</tr>\n";
|
||||
}
|
||||
?>
|
||||
</table>
|
|
@ -1,90 +0,0 @@
|
|||
<?php
|
||||
include('vars.php');
|
||||
|
||||
$start_monday = $_POST['startMonday'] ? true : false;
|
||||
$picker = $_POST['picker'] ? true : false;
|
||||
|
||||
if(isset($_POST['pickedDate']) && $_POST['pickedDate'] != 'null') {
|
||||
$pickedDateAr = explode('/', $_POST['pickedDate']);
|
||||
$pickedDate = @mktime(1, 1, 1, $pickedDateAr[1], $pickedDateAr[0], $pickedDateAr[2]);
|
||||
} else {
|
||||
$pickedDate = mktime(1, 1, 1, date('n'), date('j'), date('Y'));
|
||||
}
|
||||
|
||||
if(isset($_POST['gotoPickedDate'])) $ts = isset($_POST['ts']) ? $_POST['ts'] : mktime(1, 1, 1, date('n', $pickedDate), 1, date('Y', $pickedDate));
|
||||
else $ts = isset($_POST['ts']) ? $_POST['ts'] : mktime(1, 1, 1, date('n'), 1, date('Y'));
|
||||
|
||||
$ts_year_full = date('Y', $ts);
|
||||
$ts_year = date('Y', $ts);
|
||||
$ts_month_nr = date('n', $ts);
|
||||
$ts_month = $month_labels[date('n', $ts)-1];
|
||||
$ts_nrodays = date('t', $ts);
|
||||
|
||||
$pr_ts = mktime(1, 1, 1, $ts_month_nr-1, 1, $ts_year);
|
||||
$nx_ts = mktime(1, 1, 1, $ts_month_nr+1, 1, $ts_year);
|
||||
|
||||
$wdays_counter = date('w', $ts) - ($start_monday ? 1 : 0);
|
||||
if($wdays_counter == -1) $wdays_counter = 6;
|
||||
?>
|
||||
<table class="month<?php echo ($picker ? ' picker' : ''); ?>" cellpadding="0" summary="{'ts': '<?php echo $ts; ?>', 'pr_ts': '<?php echo $pr_ts; ?>', 'nx_ts': '<?php echo $nx_ts; ?>', 'label': '<?php echo $ts_month.', '.$ts_year_full; ?>',
|
||||
'current': 'month', 'parent': 'year'<?php echo ($ts_year == 1979 && date('n', $ts) == 1 ? ", 'hide_left_arrow': '1'" : '').($ts_year == 2030 && date('n', $ts) == 12 ? ", 'hide_right_arrow': '1'" : ''); ?>}">
|
||||
<tr>
|
||||
<?php if(!$start_monday) echo '<th>'.$wdays_labels[6]."</th>\n"; ?>
|
||||
<th><?php echo $wdays_labels[0]; ?></th>
|
||||
<th><?php echo $wdays_labels[1]; ?></th>
|
||||
<th><?php echo $wdays_labels[2]; ?></th>
|
||||
<th><?php echo $wdays_labels[3]; ?></th>
|
||||
<th><?php echo $wdays_labels[4]; ?></th>
|
||||
<th><?php echo $wdays_labels[5]; ?></th>
|
||||
<?php if($start_monday) echo '<th>'.$wdays_labels[6]."</th>\n"; ?>
|
||||
</tr>
|
||||
<tr class="firstRow"><?php
|
||||
|
||||
//Add days for the beginning non-month days
|
||||
for($i = 0; $i < $wdays_counter; $i++) {
|
||||
$day = date("t", $pr_ts)-($wdays_counter-$i)+1;
|
||||
$i_ts = mktime(1, 1, 1, $ts_month_nr-1, $day, $ts_year);
|
||||
|
||||
echo '<td class="outsideDay" date="'."{'day': '".$day."', 'month': '".date('n', $i_ts)."', 'year': '".date('Y', $i_ts)."'}".'">'.$day.'</td>';
|
||||
}
|
||||
|
||||
//Add month days
|
||||
$row = 0;
|
||||
for($i = 1; $i <= $ts_nrodays; $i++) {
|
||||
$i_ts = mktime(1, 1, 1, $ts_month_nr, $i, $ts_year);
|
||||
|
||||
echo '<td'.($i_ts == $pickedDate ? ' class="selected"' : '').' '."date=\"{'day': '".$i."', 'month': '".$ts_month_nr."', 'year': '".$ts_year."'}\">".$i.'</td>';
|
||||
|
||||
if($wdays_counter == 6 && ($i - 1) != $ts_nrodays) {
|
||||
$week_num = date("W", $i_ts) + 1;
|
||||
echo "</tr>\n\t<tr>";
|
||||
$wdays_counter = -1;
|
||||
$row++;
|
||||
}
|
||||
$wdays_counter++;
|
||||
}
|
||||
|
||||
//Add outside days
|
||||
$a = 1;
|
||||
if($wdays_counter != 0) {
|
||||
for($i = $wdays_counter; $i < 7; $i++) {
|
||||
$i_ts = mktime(1, 1, 1, $ts_month_nr+1, $a, $ts_year);
|
||||
echo '<td class="outsideDay" date="'."{'day': '".$a."', 'month': '".date('n', $i_ts)."', 'year': '".date('Y', $i_ts)."'}".'">'.$a.'</td>';
|
||||
$a++;
|
||||
}
|
||||
$row++;
|
||||
}
|
||||
|
||||
//Always have 6 rows
|
||||
if($row == 4 || $row == 5) {
|
||||
if($wdays_counter != 0) echo "</tr>\n\t<tr>";
|
||||
for($i = 0; $i < ($row == 5 ? 7 : 14); $i++) {
|
||||
$i_ts = mktime(1, 1, 1, $ts_month_nr+1, $a, $ts_year);
|
||||
echo '<td class="outsideDay" date="'."{'day': '".$a."', 'month': '".date('n', $i_ts)."', 'year': '".date('Y', $i_ts)."'}".'">'.$a.'</td>';
|
||||
$a++;
|
||||
if($i == 6) echo "</tr>\n\t<tr>";
|
||||
}
|
||||
}
|
||||
|
||||
?></tr>
|
||||
</table>
|
|
@ -1,10 +0,0 @@
|
|||
<?php
|
||||
/* If you want to comply with E_STRICT php standards set a default timezone
|
||||
* You can find default timezones here: http://us2.php.net/manual/en/timezones.php
|
||||
*/
|
||||
//date_default_timezone_set('Europe/Amsterdam');
|
||||
|
||||
$wdays_labels = array('Пн','Вт','Ср','Чт','Пт','Сб','Вс');
|
||||
$month_labels = array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
|
||||
$month_s_labels = array("Янв", "Февр", "Март", "Апр", "Май", "Июнь", "Июль", "Авг", "Сент", "Окт", "Нояб", "Дек");
|
||||
?>
|
|
@ -1,35 +0,0 @@
|
|||
<?php
|
||||
include('vars.php');
|
||||
|
||||
$ts = isset($_POST['ts']) ? $_POST['ts'] : time();
|
||||
|
||||
$m_ts = $_POST['parent'] == 'month' ? mktime(1, 1, 1, date('n', $ts), 1, date('Y', $ts)) : ''; //Selected month timestamp
|
||||
|
||||
if($_POST['pickedDate']) {
|
||||
$pickedDateAr = explode('/', $_POST['pickedDate']);
|
||||
$pickedDate = @mktime(1, 1, 1, $pickedDateAr[1], 1, $pickedDateAr[2]);
|
||||
} else {
|
||||
$pickedDate = mktime(1, 1, 1, date('n'), 1, date('Y'));
|
||||
}
|
||||
|
||||
$ts_year = date('Y', $ts);
|
||||
|
||||
$pr_ts = mktime(1, 1, 1, 1, 1, $ts_year-1);
|
||||
$nx_ts = mktime(1, 1, 1, 1, 1, $ts_year+1);
|
||||
?>
|
||||
<table class="year" cellpadding="0" summary="{'ts': '<?php echo $ts; ?>', 'pr_ts': '<?php echo $pr_ts; ?>', 'nx_ts': '<?php echo $nx_ts; ?>', 'label': '<?php echo $ts_year; ?>', 'current': 'year',
|
||||
'parent': 'decade'<?php echo ($ts_year == 1979 ? ", 'hide_left_arrow': '1'" : '').($ts_year == 2030 ? ", 'hide_right_arrow': '1'" : ''); ?>}">
|
||||
<?php
|
||||
//Add years
|
||||
$m = 1;
|
||||
for($i = 0; $i < 3; $i++) {
|
||||
echo "\t<tr>";
|
||||
for($y = 0; $y < 4; $y++) {
|
||||
$i_ts = mktime(1, 1, 1, $m, 1, $ts_year);
|
||||
echo '<td ts="'.$i_ts.'" class="'.($m_ts == $i_ts ? 'selected' : '').($pickedDate == $i_ts ? 'current' : '').'">'.$month_s_labels[date('n', $i_ts)-1].'</td>';
|
||||
$m++;
|
||||
}
|
||||
echo "</tr>\n";
|
||||
}
|
||||
?>
|
||||
</table>
|
|
@ -1,391 +0,0 @@
|
|||
/*********************************************************/
|
||||
/* vlaCalendar version 2.1 for mootools release 1.2 */
|
||||
/*********************************************************/
|
||||
|
||||
var vlaCalendar = new Class({
|
||||
'slideDuration': 500,
|
||||
'fadeDuration': 500,
|
||||
'transition': Fx.Transitions.Quart.easeOut,
|
||||
'startMonday': false,
|
||||
'filePath': 'inc/',
|
||||
'defaultView': 'month',
|
||||
'style': '',
|
||||
|
||||
initialize: function(_container, _options) {
|
||||
//Add the provided options to this object by extending
|
||||
if(_options) $extend(this, _options);
|
||||
|
||||
this.loading = false;
|
||||
this.container = _container = $(_container);
|
||||
var _class = this;
|
||||
|
||||
//Insert the base into the container and initialize elements
|
||||
var pars = 'defaultView='+ this.defaultView;
|
||||
if(this.picker) {
|
||||
if($type(this.prefillDate) == 'object' && this.getInputDate(this.prefillDate)) pars += '&pickedDate='+ this.getInputDate(this.prefillDate);
|
||||
if(this.linkWithInput) pars += '&gotoPickedDate=1';
|
||||
}
|
||||
this.u('base', pars, function() {
|
||||
_class.mainLoader = _container.getElement('div[class=loaderA]');
|
||||
_class.tempLoader = _container.getElement('div[class=loaderB]');
|
||||
_class.label = _container.getElement('span[class=label]');
|
||||
_class.arrowLeft = _container.getElement('div[class=arrowLeft]');
|
||||
_class.arrowRight = _container.getElement('div[class=arrowRight]');
|
||||
_class.initializeCalendarFunctions();
|
||||
|
||||
//Prefill/load picker date elements
|
||||
if(_class.picker) {
|
||||
if($type(_class.prefillDate) == 'object' && _class.getInputDate(_class.prefillDate)) _class.pick(_class.prefillDate);
|
||||
else if(_class.prefillDate == true) _class.pick(JSON.decode(_class.label.getProperty('date')));
|
||||
}
|
||||
}, _container);
|
||||
},
|
||||
|
||||
initializeCalendarFunctions: function() {
|
||||
this.resetArrows();
|
||||
|
||||
//Retrieve data (label, timestamp etc) which are stored as a Json string in the table attribute summary
|
||||
var vars = JSON.decode(this.mainLoader.getElement('table').getProperty('summary'));
|
||||
var _class = this;
|
||||
|
||||
//Change the label
|
||||
this.label.removeClass('noHover').set('html', vars.label)
|
||||
.onclick = vars.parent ? function() { _class.u(vars.parent, 'ts=' + vars.ts + '&parent=' + vars.current, function() { _class.fade() }) } : null;
|
||||
|
||||
//Hide arrows if necessary and add arrow click events
|
||||
if(vars.hide_left_arrow) this.hideLeftArrow();
|
||||
else if(vars.hide_right_arrow) this.hideRightArrow();
|
||||
|
||||
this.arrowLeft.onclick = function() { _class.u(vars.current, 'ts=' + vars.pr_ts, function() { _class.slideLeft() }) }
|
||||
this.arrowRight.onclick = function() { _class.u(vars.current, 'ts=' + vars.nx_ts, function() { _class.slideRight() }) }
|
||||
|
||||
//Add cell click events
|
||||
var clickables = this.mainLoader.getElements('td');
|
||||
switch(vars.current) {
|
||||
case 'month':
|
||||
if(this.picker) {
|
||||
clickables.each(function(_clickable) {
|
||||
_clickable.onclick = function() {
|
||||
_class.pick(JSON.decode(_clickable.getProperty('date')));
|
||||
_class.mainLoader.getElements('td').each(function(_clickable) { _clickable.removeClass('selected') });
|
||||
this.addClass('selected');
|
||||
}
|
||||
});
|
||||
}
|
||||
break;
|
||||
case 'year':
|
||||
clickables.each(function(_clickable) {
|
||||
_clickable.onclick = function() { _class.u('month', 'ts=' + _clickable.getProperty('ts'), function() { _class.fade() }) }
|
||||
});
|
||||
break;
|
||||
case 'decade':
|
||||
this.label.addClass('noHover');
|
||||
clickables.each(function(_clickable) {
|
||||
_clickable.onclick = function() { _class.u('year', 'ts=' + _clickable.getProperty('ts') + '&m_ts=' + _clickable.getProperty('m_ts'), function() { _class.fade() }) }
|
||||
});
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
//Ajax updater function which handles all requests
|
||||
u: function(_url, _pars, _onComplete, _id) {
|
||||
if(!this.loading && !this.transitioning) {
|
||||
var _class = this;
|
||||
this.loading = true;
|
||||
var element = $(_id ? _id : this.tempLoader);
|
||||
_pars += '&picker=' + (this.picker ? 1 : 0) + '&startMonday=' + (this.startMonday ? 1 : 0) + '&style=' + this.style;
|
||||
if(this.picker && this.getInputDate()) _pars += '&pickedDate='+ this.getInputDate();
|
||||
new Request({ method: 'post',
|
||||
url: this.filePath + _url + '.php',
|
||||
onComplete: function(data) { element.set('html', data); _onComplete(); _class.loading = false; }
|
||||
}).send(_pars);
|
||||
}
|
||||
},
|
||||
|
||||
slideLeft: function() {
|
||||
var _class = this;
|
||||
this.transitioning = true;
|
||||
this.tempLoader.setStyle('opacity', 1).set('tween', { duration: this.slideDuration, transition: this.transition }).tween('margin-left', [-164, 0]);
|
||||
this.mainLoader.setStyle('opacity', 1).set('tween', { duration: this.slideDuration, transition: this.transition, onComplete: function() { _class.transitioning = false } })
|
||||
.tween('margin-left', [0, 164]);
|
||||
this.switchLoaders();
|
||||
},
|
||||
|
||||
slideRight: function() {
|
||||
var _class = this;
|
||||
this.transitioning = true;
|
||||
this.mainLoader.setStyle('opacity', 1).set('tween', { duration: this.slideDuration, transition: this.transition }).tween('margin-left', [0, -164]);
|
||||
this.tempLoader.setStyle('opacity', 1).set('tween', { duration: this.slideDuration, transition: this.transition, onComplete: function() { _class.transitioning = false } })
|
||||
.tween('margin-left', [164, 0]);
|
||||
this.switchLoaders();
|
||||
},
|
||||
|
||||
fade: function(overRuleTrans) {
|
||||
var _class = this;
|
||||
this.transitioning = overRuleTrans ? false : true;
|
||||
this.tempLoader.setStyles({'opacity': 0, 'margin-left': 0});
|
||||
this.mainLoader.set('tween', { duration: this.fadeDuration, transition: this.transition}).fade('out');
|
||||
this.tempLoader.set('tween', { duration: this.fadeDuration, transition: this.transition,
|
||||
onComplete: function() {
|
||||
_class.tempLoader.setStyles({'opacity': 1, 'margin-left': -999});
|
||||
_class.transitioning = false;
|
||||
}
|
||||
}).fade('in');
|
||||
this.switchLoaders();
|
||||
},
|
||||
|
||||
switchLoaders: function() {
|
||||
this.mainLoader = this.mainLoader.className == 'loaderA' ? this.container.getElement('div[class=loaderB]') : this.container.getElement('div[class=loaderA]');
|
||||
this.tempLoader = this.tempLoader.className == 'loaderA' ? this.container.getElement('div[class=loaderB]') : this.container.getElement('div[class=loaderA]');
|
||||
this.initializeCalendarFunctions();
|
||||
},
|
||||
|
||||
resetArrows: function() {
|
||||
this.arrowLeft.setStyle('visibility', 'visible');
|
||||
this.arrowRight.setStyle('visibility', 'visible');
|
||||
},
|
||||
|
||||
hideLeftArrow: function() {
|
||||
this.arrowLeft.setStyle('visibility', 'hidden');
|
||||
},
|
||||
|
||||
hideRightArrow: function() {
|
||||
this.arrowRight.setStyle('visibility', 'hidden');
|
||||
}
|
||||
});
|
||||
|
||||
var vlaDatePicker = new Class({
|
||||
Extends: vlaCalendar,
|
||||
|
||||
'separateInput': false,
|
||||
'prefillDate': true,
|
||||
'linkWithInput': true,
|
||||
'leadingZero': true,
|
||||
'twoDigitYear': false,
|
||||
'separator': '/',
|
||||
'format': 'd/m/y',
|
||||
'openWith': null,
|
||||
'alignX': 'right',
|
||||
'alignY': 'inputTop',
|
||||
'offset': { 'x': 0, 'y': 0 },
|
||||
'style': '',
|
||||
'ieTransitionColor' : '#ffffff',
|
||||
'toggleDuration': 350,
|
||||
|
||||
initialize: function(_element, _options) {
|
||||
//Add the provided options to this object by extending
|
||||
if(_options) $extend(this, _options);
|
||||
|
||||
this.element = $(_element);
|
||||
if(!this.element) throw 'No (existing) element to create a datepicker for specified: new vlaDatePicker(ELEMENT, [options])';
|
||||
|
||||
//Check if the user wants multiple input
|
||||
if(this.separateInput) {
|
||||
this.element.day = this.element.getElement('input[name='+ this.separateInput.day +']');
|
||||
this.element.month = this.element.getElement('input[name='+ this.separateInput.month +']');
|
||||
this.element.year = this.element.getElement('input[name='+ this.separateInput.year +']');
|
||||
}
|
||||
|
||||
//Create the picker and calendar and inject in in the body
|
||||
this.picker = new Element('div', { 'class': 'vlaCalendarPicker' + (this.style != '' ? ' ' + this.style : '') }).injectTop($(document.body));
|
||||
this.pickerContent = new Element('div', { 'class': 'pickerBackground' }).injectTop(this.picker);
|
||||
this.parent(this.pickerContent);
|
||||
|
||||
//Add events for showing and hiding the picker
|
||||
var _class = this;
|
||||
(this.openWith ? $(this.openWith) : this.element)
|
||||
.addEvent('focus', function() { _class.show(); })
|
||||
.addEvent('click', function() { _class.openWith ? _class.toggle() : _class.show() })
|
||||
.addEvent('change', function() { _class.hide(); });
|
||||
|
||||
//If the datepicker is visible an outside click makes it hide
|
||||
document.addEvent('mousedown', function(e) { if(_class.outsideHide && _class.outsideClick(e, _class.picker)) _class.hide() });
|
||||
|
||||
//linkWithInput
|
||||
if(this.linkWithInput) {
|
||||
if(this.separateInput) {
|
||||
this.element.day.addEvent('keyup', function() { _class.linkedUpdate() });
|
||||
this.element.month.addEvent('keyup', function() { _class.linkedUpdate() });
|
||||
this.element.year.addEvent('keyup', function() { _class.linkedUpdate() });
|
||||
} else {
|
||||
this.element.addEvent('keyup', function() { _class.linkedUpdate() });
|
||||
}
|
||||
}
|
||||
|
||||
this.visible = false;
|
||||
this.outsideHide = false;
|
||||
},
|
||||
|
||||
//Position the picker
|
||||
position: function() {
|
||||
var top, left;
|
||||
|
||||
switch(this.alignX) {
|
||||
case 'left':
|
||||
left = this.element.getLeft();
|
||||
break;
|
||||
case 'center':
|
||||
var pickerMiddle = this.pickerContent.getStyle('width').toInt() / 2;
|
||||
if(pickerMiddle == 0) pickerMiddle = 83;
|
||||
left = this.element.getLeft() + (this.element.getSize().x / 2) - pickerMiddle -
|
||||
((parseInt(this.pickerContent.getStyle('padding-left')) + parseInt(this.pickerContent.getStyle('padding-right'))) / 2);
|
||||
break;
|
||||
case 'right': default:
|
||||
left = this.element.getLeft() + this.element.getSize().x;
|
||||
break;
|
||||
}
|
||||
|
||||
switch(this.alignY) {
|
||||
case 'bottom':
|
||||
top = this.getPos(this.element).y + this.element.getSize().y;
|
||||
break;
|
||||
case 'top':
|
||||
top = this.getPos(this.element).y - parseInt(this.pickerContent.getStyle('height')) -
|
||||
(parseInt(this.pickerContent.getStyle('padding-top')) + parseInt(this.pickerContent.getStyle('padding-bottom')));
|
||||
break;
|
||||
case 'inputTop': default:
|
||||
top = this.getPos(this.element).y;
|
||||
}
|
||||
|
||||
if(this.isNumber(this.offset.x)) left += this.offset.x;
|
||||
if(this.isNumber(this.offset.y)) top += this.offset.y;
|
||||
|
||||
this.picker.setStyles({ 'top': top, 'left': left });
|
||||
},
|
||||
|
||||
show: function() {
|
||||
this.position();
|
||||
if(!this.visible) {
|
||||
this.visible = true;
|
||||
var _class = this;
|
||||
this.picker.setStyles({ 'opacity': 0, 'display': 'inline' });
|
||||
if(Browser.Engine.trident5) this.picker.setStyle('background-color', this.ieTransitionColor); //Ugly transition fix for IE7
|
||||
this.picker.set('tween', { onComplete: function() {
|
||||
if(Browser.Engine.trident5) _class.picker.setStyle('background-color', 'transparent');
|
||||
_class.outsideHide = true;
|
||||
}, duration: this.toggleDuration }).fade('in');
|
||||
}
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
if(this.visible) {
|
||||
this.visible = false;
|
||||
var _class = this;
|
||||
if(Browser.Engine.trident5) this.picker.setStyle('background-color', this.ieTransitionColor); //Ugly transition fix for IE7
|
||||
this.picker.set('tween', { onComplete: function() { _class.picker.setStyle('display', 'none'); _class.outsideHide = false; }, duration: this.toggleDuration }).fade('out');
|
||||
}
|
||||
},
|
||||
|
||||
toggle: function() {
|
||||
if(this.visible) this.hide();
|
||||
else this.show();
|
||||
},
|
||||
|
||||
pick: function(_date) {
|
||||
if(this.leadingZero) {
|
||||
if(_date.day < 10) _date.day = '0' + _date.day;
|
||||
if(_date.month < 10) _date.month = '0' + _date.month;
|
||||
}
|
||||
if(this.twoDigitYear) _date.year = _date.year.toString().substring(2, 4);
|
||||
|
||||
if(this.separateInput) {
|
||||
if(this.element.day) this.element.day.set('value', _date.day);
|
||||
if(this.element.month) this.element.month.set('value', _date.month);
|
||||
if(this.element.year) this.element.year.set('value', _date.year);
|
||||
this.hide();
|
||||
} else {
|
||||
switch(this.format) {
|
||||
case "m/d/y": this.element.set('value', _date.month + this.separator + _date.day + this.separator + _date.year); break;
|
||||
case "y/m/d": this.element.set('value', _date.year + this.separator + _date.month + this.separator + _date.day); break;
|
||||
case "y/d/m": this.element.set('value', _date.year + this.separator + _date.day + this.separator + _date.month); break;
|
||||
case "d/m/y": default: this.element.set('value', _date.day + this.separator + _date.month + this.separator + _date.year);
|
||||
}
|
||||
this.hide();
|
||||
}
|
||||
},
|
||||
|
||||
getInputDate: function(_date) {
|
||||
var day, month, year;
|
||||
|
||||
if(_date) {
|
||||
day = _date.day;
|
||||
month = _date.month;
|
||||
year = _date.year;
|
||||
} else if(this.separateInput) {
|
||||
day = this.element.day.get('value').toInt();
|
||||
month = this.element.month.get('value').toInt();
|
||||
year = this.element.year.get('value').toInt();
|
||||
} else {
|
||||
var date = this.element.get('value').split(this.separator);
|
||||
if(date.length != 3) return null;
|
||||
switch(this.format) {
|
||||
case "m/d/y": day = date[1]; month = date[0]; year = date[2]; break;
|
||||
case "y/m/d": day = date[2]; month = date[1]; year = date[0]; break;
|
||||
case "y/d/m": day = date[1]; month = date[2]; year = date[0]; break;
|
||||
case "d/m/y": default: day = date[0]; month = date[1]; year = date[2];
|
||||
}
|
||||
}
|
||||
|
||||
if( !this.isNumber(day) || !this.isNumber(month) || !this.isNumber(year) || day == 0 || month == 0 || year == '0' ||
|
||||
(this.twoDigitYear && year > 99) || (!this.twoDigitYear && year < 1979) || (!this.twoDigitYear && year > 2030) || month > 12 || day > 31 ) return null;
|
||||
|
||||
if(this.twoDigitYear && this.isNumber(year) && year < 100) {
|
||||
year = year.toInt();
|
||||
if(year < 10) year = '200'+ year;
|
||||
else if(year < 70) year = '20'+ year;
|
||||
else if(year > 69) year = '19'+ year;
|
||||
else year = new Date().getFullYear();
|
||||
}
|
||||
|
||||
return day +'/'+ month +'/'+ year;
|
||||
},
|
||||
|
||||
//This function is being called on keyup event if linkWithInput is set to true and when a date is picked
|
||||
//If the full date is inserted the picker will change itself to that specific date (month view)
|
||||
linkedUpdate: function() {
|
||||
var _class = this;
|
||||
var date = this.getInputDate();
|
||||
if(date && this.pickedDate != date) {
|
||||
this.u('month', 'gotoPickedDate=1', function() { _class.fade(true) });
|
||||
this.pickedDate = date;
|
||||
}
|
||||
},
|
||||
|
||||
outsideClick: function(_event, _element) {
|
||||
var mousePos = this.getMousePos(_event);
|
||||
var elementData = _element.getCoordinates();
|
||||
return (mousePos.x > elementData.left && mousePos.x < (elementData.left + elementData.width)) &&
|
||||
(mousePos.y > elementData.top && mousePos.y < (elementData.top + elementData.height)) ? false : true;
|
||||
},
|
||||
|
||||
getMousePos: function(_event) {
|
||||
if(document.all) {
|
||||
return { 'x': window.event.clientX + window.getScrollLeft(),
|
||||
'y': window.event.clientY + window.getScrollTop() };
|
||||
} else {
|
||||
return { 'x': _event.page['x'],
|
||||
'y': _event.page['y'] };
|
||||
}
|
||||
},
|
||||
|
||||
isNumber: function(_number) {
|
||||
if(_number == '') return false;
|
||||
return (_number >= 0) || (_number < 0) ? true : false;
|
||||
},
|
||||
|
||||
//Retrieving positition funtions (like getCoordinates, getTop etc) don't seem to return correct values in some situations in mootools 1.2;
|
||||
//Opera returns wrong values, IE returns too small values. This function returns the correct coordinates.
|
||||
getPos: function(_element) {
|
||||
var x, y = 0;
|
||||
if(_element.offsetParent) {
|
||||
do {
|
||||
x += _element.offsetLeft;
|
||||
y += _element.offsetTop;
|
||||
} while(_element = _element.offsetParent);
|
||||
} else if(_element.x) {
|
||||
x += _element.x;
|
||||
y += _element.y;
|
||||
}
|
||||
return { 'x': x, 'y': y };
|
||||
}
|
||||
});
|
BIN
engine/lib/external/milkbox-3.0.1/css/close.gif
vendored
BIN
engine/lib/external/milkbox-3.0.1/css/close.gif
vendored
Binary file not shown.
Before Width: | Height: | Size: 308 B |
BIN
engine/lib/external/milkbox-3.0.1/css/loading.gif
vendored
BIN
engine/lib/external/milkbox-3.0.1/css/loading.gif
vendored
Binary file not shown.
Before Width: | Height: | Size: 2.5 KiB |
|
@ -1,97 +0,0 @@
|
|||
/* MILKBOX */
|
||||
|
||||
#mbOverlay {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width:100%;
|
||||
background-color: #000; /* set the Milkbox overlay color // opacity: see the js options */
|
||||
z-index:1000;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#mbCenter {
|
||||
/* for default width and height, see the js options */
|
||||
position: absolute;
|
||||
z-index:1001;
|
||||
overflow:hidden;
|
||||
left: 50%;
|
||||
top:10%;/* overwritten in the js options to properly position the milkbox when activated in a scrolled window */
|
||||
background-color: #fff;/* set the Milkbox background color */
|
||||
border: 5px solid #fff;/* set the Milkbox border */
|
||||
margin:0; padding:5px;/* set the Milkbox padding */
|
||||
}
|
||||
|
||||
.mbLoading{ background: #fff url(loading.gif) no-repeat center; }/* IMAGE: loading gif */
|
||||
|
||||
#mbCanvas{ margin:0; padding:0; height:0; border:none; font-size:0; overflow:hidden; }
|
||||
|
||||
.mbClear{ clear:both; height:0; margin:0; padding:0; font-size:0; overflow:hidden; }
|
||||
|
||||
|
||||
/* *** BOTTOM *** */
|
||||
|
||||
#mbBottom {
|
||||
/* set text options */
|
||||
font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
|
||||
font-size: 10px;
|
||||
color: #666;
|
||||
line-height: 1.4em;
|
||||
text-align: left;
|
||||
padding-top:8px;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
/* navigation */
|
||||
/* be careful if you change buttons dimensions */
|
||||
|
||||
#mbNavigation{
|
||||
float:right;
|
||||
width:27px;
|
||||
padding-top:3px;
|
||||
border-left:1px solid #9c9c9c;/* set nav border */
|
||||
}
|
||||
|
||||
|
||||
#mbCount{
|
||||
width:55px;
|
||||
overflow:hidden;
|
||||
padding-top:1px;
|
||||
float:right;
|
||||
text-align:right;
|
||||
font-size:9px; /* count font size */
|
||||
}
|
||||
|
||||
#mbCloseLink, #mbPrevLink, #mbNextLink, #mbPlayPause{
|
||||
outline:none;
|
||||
display:block;
|
||||
float:right;
|
||||
height:19px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
#mbPrevLink, #mbNextLink{ width:15px; }
|
||||
#mbPrevLink{ background: transparent url(prev.gif) no-repeat; }/* IMAGE: prev */
|
||||
#mbNextLink{ background: transparent url(next.gif) no-repeat; }/* IMAGE: next */
|
||||
|
||||
#mbPlayPause{ width:13px; }
|
||||
#mbPlayPause{ background: transparent url(play-pause.gif) no-repeat; }/* IMAGE: prev */
|
||||
|
||||
|
||||
/* NOTE: doesn't work in ie6, so, just see the js options :) */
|
||||
a#mbPrevLink:hover,a#mbNextLink:hover,a#mbCloseLink:hover,a#mbPlayPause:hover { background-position: 0 -22px; }
|
||||
|
||||
#mbCloseLink {
|
||||
width:17px;
|
||||
background: transparent url(close.gif) no-repeat;/* IMAGE: close */
|
||||
}
|
||||
|
||||
/* description */
|
||||
|
||||
#mbDescription{
|
||||
margin-right:27px;
|
||||
padding:0px 10px 0 0;
|
||||
font-weight: normal;
|
||||
text-align:justify;
|
||||
}
|
||||
|
BIN
engine/lib/external/milkbox-3.0.1/css/next.gif
vendored
BIN
engine/lib/external/milkbox-3.0.1/css/next.gif
vendored
Binary file not shown.
Before Width: | Height: | Size: 187 B |
BIN
engine/lib/external/milkbox-3.0.1/css/play-pause.gif
vendored
BIN
engine/lib/external/milkbox-3.0.1/css/play-pause.gif
vendored
Binary file not shown.
Before Width: | Height: | Size: 263 B |
BIN
engine/lib/external/milkbox-3.0.1/css/prev.gif
vendored
BIN
engine/lib/external/milkbox-3.0.1/css/prev.gif
vendored
Binary file not shown.
Before Width: | Height: | Size: 190 B |
File diff suppressed because one or more lines are too long
|
@ -1,10 +0,0 @@
|
|||
{include file='header.tpl' showWhiteBack=true}
|
||||
|
||||
<ul>
|
||||
<li><a href="{router page="admin"}plugins">{$aLang.admin_list_plugins}</a></li>
|
||||
<li><a href="{router page="admin"}userfields">{$aLang.admin_list_userfields}</a></li>
|
||||
<li><a href="{router page="admin"}restorecomment">{$aLang.admin_list_restorecomment}</a></li>
|
||||
{hook run='admin_action_item'}
|
||||
</ul>
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,45 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
|
||||
<form action="{router page='admin'}plugins/" method="post" id="form_plugins_list">
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td width="20"><input type="checkbox" name="" onclick="checkAllPlugins(this);" /></td>
|
||||
<td>{$aLang.plugins_plugin_name}</td>
|
||||
<td>{$aLang.plugins_plugin_version}</td>
|
||||
<td>{$aLang.plugins_plugin_author}</td>
|
||||
<td>{$aLang.plugins_plugin_settings}</td>
|
||||
<td>{$aLang.plugins_plugin_action}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$aPlugins item=aPlugin}
|
||||
<tr>
|
||||
<td><input type="checkbox" name="plugin_del[{$aPlugin.code}]" class="form_plugins_checkbox" /></td>
|
||||
<td>
|
||||
<h3>{$aPlugin.property->name->data|escape:'html'}</h3>
|
||||
{$aPlugin.property->description->data}<br />
|
||||
{$aPlugin.property->homepage}
|
||||
</td>
|
||||
<td>{$aPlugin.property->version|escape:'html'}</td>
|
||||
<td>{$aPlugin.property->author->data|escape:'html'}</td>
|
||||
<td>{if $aPlugin.is_active}<a href="{$aPlugin.property->settings}">{$aPlugin.property->settings}</a>{else}{$aPlugin.property->settings}{/if}</td>
|
||||
<td>
|
||||
{if $aPlugin.is_active}
|
||||
<a href="{router page='admin'}plugins/?plugin={$aPlugin.code}&action=deactivate&security_ls_key={$LIVESTREET_SECURITY_KEY}">{$aLang.plugins_plugin_deactivate}</a>
|
||||
{else}
|
||||
<a href="{router page='admin'}plugins/?plugin={$aPlugin.code}&action=activate&security_ls_key={$LIVESTREET_SECURITY_KEY}">{$aLang.plugins_plugin_activate}</a>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
<input type="submit" name="submit_plugins_del" value="{$aLang.plugins_submit_delete}" onclick="return ($$('.form_plugins_checkbox:checked').length==0)?false:confirm('{$aLang.plugins_delete_confirm}');" />
|
||||
</form>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,43 +0,0 @@
|
|||
{include file='header.tpl' showWhiteBack=true}
|
||||
|
||||
|
||||
<h1>{$aLang.user_field_admin_title}</h1>
|
||||
|
||||
|
||||
<div class="userfield-form" id="userfield_form">
|
||||
<p><label for="user_fields_add_name">{$aLang.userfield_form_name}</label><br />
|
||||
<input type="text" id="user_fields_form_name" class="input-text" /></p>
|
||||
|
||||
<p><label for="user_fields_add_title">{$aLang.userfield_form_title}</label><br />
|
||||
<input type="text" id="user_fields_form_title" class="input-text" /></p>
|
||||
|
||||
<p><label for="user_fields_add_pattern">{$aLang.userfield_form_pattern}</label><br />
|
||||
<input type="text" id="user_fields_form_pattern" class="input-text" /></p>
|
||||
|
||||
<input type="hidden" id="user_fields_form_action" />
|
||||
<input type="hidden" id="user_fields_form_id" />
|
||||
|
||||
<input type="button" value="{$aLang.user_field_add}" onclick="userfieldApplyForm(); return false;" />
|
||||
<input type="button" value="{$aLang.user_field_cancel}" onclick="userfieldCloseForm(); return false;" />
|
||||
</div>
|
||||
|
||||
|
||||
<a href="javascript:userfieldShowAddForm()" class="userfield-add">{$aLang.user_field_add}</a>
|
||||
<br /><br />
|
||||
|
||||
<ul class="userfield-list" id="user_field_list">
|
||||
{foreach from=$aUserFields item=oField}
|
||||
<li id="field_{$oField->getId()}"><span class="userfield_admin_name">{$oField->getName()|escape:"html"}</span>
|
||||
/ <span class="userfield_admin_title">{$oField->getTitle()|escape:"html"}</span>
|
||||
/ <span class="userfield_admin_pattern">{$oField->getPattern()|escape:"html"}</span>
|
||||
|
||||
<div class="uf-actions">
|
||||
<a href="javascript:userfieldShowEditForm({$oField->getId()})" title="{$aLang.user_field_update}"><img src="{cfg name='path.static.skin'}/images/edit.png" alt="image" /></a>
|
||||
<a href="javascript:deleteUserfield({$oField->getId()})" title="{$aLang.user_field_delete}"><img src="{cfg name='path.static.skin'}/images/delete.png" alt="image" /></a>
|
||||
</div>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,57 +0,0 @@
|
|||
{if $sEvent=='add'}
|
||||
{include file='header.tpl' menu='topic_action'}
|
||||
{else}
|
||||
{include file='header.tpl'}
|
||||
{/if}
|
||||
|
||||
|
||||
{if $sEvent=='add'}
|
||||
<h2>{$aLang.blog_create}</h2>
|
||||
{else}
|
||||
{include file='menu.blog_edit.tpl'}
|
||||
{/if}
|
||||
|
||||
<form action="" method="POST" enctype="multipart/form-data">
|
||||
{hook run='form_add_blog_begin'}
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
|
||||
<p><label for="blog_title">{$aLang.blog_create_title}:</label><br />
|
||||
<input type="text" id="blog_title" name="blog_title" value="{$_aRequest.blog_title}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.blog_create_title_notice}</span></p>
|
||||
|
||||
<p><label for="blog_url">{$aLang.blog_create_url}:</label><br />
|
||||
<input type="text" id="blog_url" name="blog_url" value="{$_aRequest.blog_url}" class="input-wide" {if $_aRequest.blog_id}disabled{/if} /><br />
|
||||
<span class="note">{$aLang.blog_create_url_notice}</span></p>
|
||||
|
||||
<p><label for="blog_type">{$aLang.blog_create_type}:</label><br />
|
||||
<select name="blog_type" id="blog_type" class="input-200">
|
||||
<option value="open" {if $_aRequest.blog_type=='open'}selected{/if}>{$aLang.blog_create_type_open}</option>
|
||||
<option value="close" {if $_aRequest.blog_type=='close'}selected{/if}>{$aLang.blog_create_type_close}</option>
|
||||
</select><br />
|
||||
<span class="note">{$aLang.blog_create_type_open_notice}</span></p>
|
||||
|
||||
<p><label for="blog_description">{$aLang.blog_create_description}:</label><br />
|
||||
<textarea name="blog_description" id="blog_description" rows="20" class="input-wide">{$_aRequest.blog_description}</textarea><br />
|
||||
<span class="note">{$aLang.blog_create_description_notice}</span></p>
|
||||
|
||||
<p><label for="blog_limit_rating_topic">{$aLang.blog_create_rating}:</label><br />
|
||||
<input type="text" id="blog_limit_rating_topic" name="blog_limit_rating_topic" value="{$_aRequest.blog_limit_rating_topic}" class="input-100" /><br />
|
||||
<span class="note">{$aLang.blog_create_rating_notice}</span></p>
|
||||
|
||||
<p>
|
||||
{if $oBlogEdit and $oBlogEdit->getAvatar()}
|
||||
<img src="{$oBlogEdit->getAvatarPath(48)}" />
|
||||
<img src="{$oBlogEdit->getAvatarPath(24)}" />
|
||||
<label><input type="checkbox" id="avatar_delete" name="avatar_delete" value="on"> — {$aLang.blog_create_avatar_delete}</label><br /><br />
|
||||
{/if}
|
||||
<label for="avatar">{$aLang.blog_create_avatar}:</label><br />
|
||||
<input type="file" name="avatar" id="avatar"></p>
|
||||
|
||||
{hook run='form_add_blog_end'}
|
||||
|
||||
<p><input type="submit" name="submit_blog_add" value="{$aLang.blog_create_submit}" />
|
||||
<input type="hidden" name="blog_id" value="{$_aRequest.blog_id}" /></p>
|
||||
</form>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,44 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
{include file='menu.blog_edit.tpl'}
|
||||
|
||||
{if $aBlogUsers}
|
||||
<form action="" method="POST" enctype="multipart/form-data">
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{$aLang.blog_admin_users}</td>
|
||||
<td width="10%">{$aLang.blog_admin_users_administrator}</td>
|
||||
<td width="10%">{$aLang.blog_admin_users_moderator}</td>
|
||||
<td width="10%">{$aLang.blog_admin_users_reader}</td>
|
||||
<td width="10%">{$aLang.blog_admin_users_bun}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$aBlogUsers item=oBlogUser}
|
||||
{assign var="oUser" value=$oBlogUser->getUser()}
|
||||
<tr>
|
||||
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
|
||||
{if $oUser->getId()==$oUserCurrent->getId()}
|
||||
<td colspan="4" align="center">{$aLang.blog_admin_users_current_administrator}</td>
|
||||
{else}
|
||||
<td align="center"><input type="radio" name="user_rank[{$oUser->getId()}]" value="administrator" {if $oBlogUser->getIsAdministrator()}checked{/if} /></td>
|
||||
<td align="center"><input type="radio" name="user_rank[{$oUser->getId()}]" value="moderator" {if $oBlogUser->getIsModerator()}checked{/if} /></td>
|
||||
<td align="center"><input type="radio" name="user_rank[{$oUser->getId()}]" value="reader" {if $oBlogUser->getUserRole()==$BLOG_USER_ROLE_USER}checked{/if} /></td>
|
||||
<td align="center"><input type="radio" name="user_rank[{$oUser->getId()}]" value="ban" {if $oBlogUser->getUserRole()==$BLOG_USER_ROLE_BAN}checked{/if} /></td>
|
||||
{/if}
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<input type="submit" name="submit_blog_admin" value="{$aLang.blog_admin_users_submit}" />
|
||||
</form>
|
||||
<br>
|
||||
{include file='paging.tpl' aPaging=$aPaging}
|
||||
{else}
|
||||
{$aLang.blog_admin_users_empty}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,95 +0,0 @@
|
|||
{include file='header.tpl' menu='blog'}
|
||||
{assign var="oUserOwner" value=$oBlog->getOwner()}
|
||||
{assign var="oVote" value=$oBlog->getVote()}
|
||||
|
||||
|
||||
<div class="blog">
|
||||
<div class="voting {if $oBlog->getRating()>=0}positive{else}negative{/if} {if !$oUserCurrent || $oBlog->getOwnerId()==$oUserCurrent->getId()}guest{/if} {if $oVote} voted {if $oVote->getDirection()>0}plus{elseif $oVote->getDirection()<0}minus{/if}{/if}">
|
||||
<a href="#" class="plus" onclick="lsVote.vote({$oBlog->getId()},this,1,'blog'); return false;"></a>
|
||||
<div class="total" title="{$aLang.blog_vote_count}: {$oBlog->getCountVote()}">{if $oBlog->getRating()>0}+{/if}{$oBlog->getRating()}</div>
|
||||
<a href="#" class="minus" onclick="lsVote.vote({$oBlog->getId()},this,-1,'blog'); return false;"></a>
|
||||
</div>
|
||||
|
||||
|
||||
<h2><img src="{$oBlog->getAvatarPath(24)}" alt="avatar" class="avatar" /> {$oBlog->getTitle()|escape:'html'}</h2>
|
||||
|
||||
<ul class="actions">
|
||||
<li><a href="{router page='rss'}blog/{$oBlog->getUrl()}/" class="rss">Rss</a></li>
|
||||
{if $oUserCurrent and $oUserCurrent->getId()!=$oBlog->getOwnerId()}
|
||||
<li><a href="#" onclick="ajaxJoinLeaveBlog(this,{$oBlog->getId()}); return false;">{if $oBlog->getUserIsJoin()}{$aLang.blog_leave}{else}{$aLang.blog_join}{/if}</a></li>
|
||||
{/if}
|
||||
{if $oUserCurrent and ($oUserCurrent->getId()==$oBlog->getOwnerId() or $oUserCurrent->isAdministrator() or $oBlog->getUserIsAdministrator() )}
|
||||
<li>
|
||||
<a href="{router page='blog'}edit/{$oBlog->getId()}/" title="{$aLang.blog_edit}" class="edit">{$aLang.blog_edit}</a></li>
|
||||
{if $oUserCurrent->isAdministrator()}
|
||||
<li><a href="#" title="{$aLang.blog_delete}" onclick="toggleBlogDeleteForm('blog_delete_form',this); return false;" class="delete">{$aLang.blog_delete}</a>
|
||||
|
||||
<form id="blog_delete_form" class="hidden" action="{router page='blog'}delete/{$oBlog->getId()}/" method="POST">
|
||||
<input type="hidden" value="{$LIVESTREET_SECURITY_KEY}" name="security_ls_key" />
|
||||
{$aLang.blog_admin_delete_move}:<br />
|
||||
<select name="topic_move_to">
|
||||
<option value="-1">{$aLang.blog_delete_clear}</option>
|
||||
{if $aBlogs}
|
||||
<option disabled="disabled">-------------</option>
|
||||
{foreach from=$aBlogs item=oBlogDelete}
|
||||
<option value="{$oBlogDelete->getId()}">{$oBlogDelete->getTitle()}</option>
|
||||
{/foreach}
|
||||
{/if}
|
||||
</select>
|
||||
<input type="submit" value="{$aLang.blog_delete}" />
|
||||
</form>
|
||||
{else}
|
||||
<a href="{router page='blog'}delete/{$oBlog->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" title="{$aLang.blog_delete}" onclick="return confirm('{$aLang.blog_admin_delete_confirm}');" >{$aLang.blog_delete}</a>
|
||||
{/if}
|
||||
</li>
|
||||
{/if}
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<p>{$oBlog->getDescription()|nl2br}</p>
|
||||
|
||||
<strong>{$aLang.blog_user_administrators} ({$iCountBlogAdministrators}):</strong>
|
||||
<a href="{$oUserOwner->getUserWebPath()}" class="user">{$oUserOwner->getLogin()}</a>
|
||||
{if $aBlogAdministrators}
|
||||
{foreach from=$aBlogAdministrators item=oBlogUser}
|
||||
{assign var="oUser" value=$oBlogUser->getUser()}
|
||||
<a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a>
|
||||
{/foreach}
|
||||
{/if}<br />
|
||||
|
||||
|
||||
<strong>{$aLang.blog_user_moderators} ({$iCountBlogModerators}):</strong>
|
||||
{if $aBlogModerators}
|
||||
{foreach from=$aBlogModerators item=oBlogUser}
|
||||
{assign var="oUser" value=$oBlogUser->getUser()}
|
||||
<a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a>
|
||||
{/foreach}
|
||||
{else}
|
||||
{$aLang.blog_user_moderators_empty}
|
||||
{/if}<br />
|
||||
|
||||
|
||||
<strong>{$aLang.blog_user_readers} ({$iCountBlogUsers}):</strong>
|
||||
{if $aBlogUsers}
|
||||
{foreach from=$aBlogUsers item=oBlogUser}
|
||||
{assign var="oUser" value=$oBlogUser->getUser()}
|
||||
<a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a>
|
||||
{/foreach}
|
||||
{if count($aBlogUsers)<$iCountBlogUsers}
|
||||
<br/><a href="{$oBlog->getUrlFull()}users/">{$aLang.blog_user_readers_all}</a>
|
||||
{/if}
|
||||
{else}
|
||||
{$aLang.blog_user_readers_empty}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
|
||||
{if $bCloseBlog}
|
||||
{$aLang.blog_close_show}
|
||||
{else}
|
||||
{include file='topic_list.tpl'}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,4 +0,0 @@
|
|||
{include file='header.tpl' menu='blog'}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
document.addEvent('domready', function() {
|
||||
new Autocompleter.Request.LS.JSON(
|
||||
$('blog_admin_user_add'),
|
||||
aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY,
|
||||
{
|
||||
'indicatorClass': 'autocompleter-loading',
|
||||
'minLength': 1,
|
||||
'selectMode': 'pick',
|
||||
'multiple': true
|
||||
}
|
||||
);
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
<div class="block">
|
||||
<form onsubmit="addBlogInvite({$oBlogEdit->getId()}); return false;">
|
||||
<p><label for="blog_admin_user_add">{$aLang.blog_admin_user_add_label}</label><br />
|
||||
<input type="text" id="blog_admin_user_add" name="add" value="" class="input-200" /></p>
|
||||
</form>
|
||||
|
||||
|
||||
<h2>{$aLang.blog_admin_user_invited}</h2>
|
||||
|
||||
<div class="block-content" id="invited_list_block">
|
||||
{if $aBlogUsersInvited}
|
||||
<ul class="list" id="invited_list">
|
||||
{foreach from=$aBlogUsersInvited item=oBlogUser}
|
||||
{assign var='oUser' value=$oBlogUser->getUser()}
|
||||
<li><a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a> - <a href="#" class="local" onclick="return reBlogInvite({$oUser->getId()},{$oBlogEdit->getId()});">{$aLang.blog_user_invite_readd}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
|
@ -1,17 +0,0 @@
|
|||
{include file='header.tpl' menu='blog'}
|
||||
|
||||
|
||||
{include file='topic.tpl'}
|
||||
{include
|
||||
file='comment_tree.tpl'
|
||||
iTargetId=$oTopic->getId()
|
||||
sTargetType='topic'
|
||||
iCountComment=$oTopic->getCountComment()
|
||||
sDateReadLast=$oTopic->getDateRead()
|
||||
bAllowNewComment=$oTopic->getForbidComment()
|
||||
sNoticeNotAllow=$aLang.topic_comment_notallow
|
||||
sNoticeCommentAdd=$aLang.topic_comment_add
|
||||
aPagingCmt=$aPagingCmt}
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,37 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
<h1>{$aLang.blog_user_readers_all} ({$iCountBlogUsers}): <a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()}</a></h1>
|
||||
|
||||
<div class="page people">
|
||||
{if $aBlogUsers}
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{$aLang.user}</td>
|
||||
<td align="center" width="60">{$aLang.user_skill}</td>
|
||||
<td align="center" width="60">{$aLang.user_rating}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$aBlogUsers item=oBlogUser}
|
||||
{assign var="oUser" value=$oBlogUser->getUser()}
|
||||
<tr>
|
||||
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
|
||||
<td align="center">{$oUser->getSkill()}</td>
|
||||
<td align="center"><strong>{$oUser->getRating()}</strong></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br/>
|
||||
{include file='paging.tpl' aPaging=$aPaging}
|
||||
{else}
|
||||
{$aLang.blog_user_readers_empty}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,7 +0,0 @@
|
|||
{include file='header.tpl' sMenuHeadItemSelect="blogs"}
|
||||
|
||||
<h2>{$aLang.blogs}</h2>
|
||||
|
||||
{include file='blog_list.tpl'}
|
||||
{include file='paging.tpl' aPaging="$aPaging"}
|
||||
{include file='footer.tpl'}
|
|
@ -1,7 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
<h2>{$aLang.comments_all}</h2>
|
||||
|
||||
{include file='comment_list.tpl'}
|
||||
{include file='footer.tpl'}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
{assign var="noSidebar" value=true}
|
||||
{include file='header.tpl' noShowSystemMessage=true}
|
||||
|
||||
|
||||
{if $aMsgError[0].title}
|
||||
<h2>{$aLang.error}: {$aMsgError[0].title}</h2>
|
||||
{/if}
|
||||
|
||||
<p>{$aMsgError[0].msg}</p>
|
||||
<p><a href="javascript:history.go(-1);">{$aLang.site_history_back}</a>, <a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a></p>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,4 +0,0 @@
|
|||
{include file='header.tpl' menu='blog'}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
{include file='header.tpl' menu='topic_action'}
|
||||
|
||||
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
document.addEvent('domready', function() {
|
||||
new Autocompleter.Request.LS.JSON($('topic_tags'), aRouter['ajax']+'autocompleter/tag/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
|
||||
'indicatorClass': 'autocompleter-loading', // class added to the input during request
|
||||
'minLength': 2, // We need at least 1 character
|
||||
'selectMode': 'pick', // Instant completion
|
||||
'multiple': true // Tag support, by default comma separated
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
<div class="topic" style="display: none;">
|
||||
<div class="content" id="text_preview"></div>
|
||||
</div>
|
||||
|
||||
|
||||
{if $sEvent=='add'}
|
||||
<h2>{$aLang.topic_link_create}</h2>
|
||||
{else}
|
||||
<h2>{$aLang.topic_link_edit}</h2>
|
||||
{/if}
|
||||
|
||||
{hook run='add_topic_link_begin'}
|
||||
<form action="" method="POST" enctype="multipart/form-data">
|
||||
{hook run='form_add_topic_link_begin'}
|
||||
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
|
||||
<p><label for="blog_id">{$aLang.topic_create_blog}</label><br />
|
||||
<select name="blog_id" id="blog_id" onChange="ajaxBlogInfo(this.value);" class="input-200">
|
||||
<option value="0">{$aLang.topic_create_blog_personal}</option>
|
||||
{foreach from=$aBlogsAllow item=oBlog}
|
||||
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
|
||||
{/foreach}
|
||||
</select></p>
|
||||
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
ajaxBlogInfo($('blog_id').value);
|
||||
</script>
|
||||
|
||||
<p><label for="topic_title">{$aLang.topic_create_title}:</label><br />
|
||||
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.topic_create_title_notice}</span></p>
|
||||
|
||||
<p><label for="topic_link_url">{$aLang.topic_link_create_url}:</label><br />
|
||||
<input type="text" id="topic_link_url" name="topic_link_url" value="{$_aRequest.topic_link_url}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.topic_link_create_url_notice}</span></p>
|
||||
|
||||
<p><label for="topic_text">{$aLang.topic_link_create_text}:</label><br />
|
||||
<textarea name="topic_text" id="topic_text" rows="20" class="input-wide">{$_aRequest.topic_text}</textarea></p>
|
||||
|
||||
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label><br />
|
||||
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.topic_create_tags_notice}</span></p>
|
||||
|
||||
<p><label for=""><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if} />
|
||||
{$aLang.topic_create_forbid_comment}</label><br />
|
||||
<span class="note">{$aLang.topic_create_forbid_comment_notice}</span></p>
|
||||
|
||||
{if $oUserCurrent->isAdministrator()}
|
||||
<p><label for=""><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if} />
|
||||
{$aLang.topic_create_publish_index}</label><br />
|
||||
<span class="note">{$aLang.topic_create_publish_index_notice}</span></p>
|
||||
{/if}
|
||||
|
||||
{hook run='form_add_topic_link_end'}
|
||||
|
||||
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" />
|
||||
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('topic_text',true); return false;" />
|
||||
<input type="submit" name="submit_topic_save" value="{$aLang.topic_create_submit_save}" />
|
||||
</form>
|
||||
{hook run='add_topic_link_end'}
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,6 +0,0 @@
|
|||
{assign var="noSidebar" value=true}
|
||||
{include file='header.tpl'}
|
||||
|
||||
<h2>{$aLang.user_exit_notice}</h2>
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,41 +0,0 @@
|
|||
{assign var="noSidebar" value=true}
|
||||
{include file='header.tpl'}
|
||||
|
||||
|
||||
<div class="center">
|
||||
{if $bLoginError}
|
||||
<p class="system-messages-error">{$aLang.user_login_bad}</p>
|
||||
{/if}
|
||||
|
||||
<form action="{router page='login'}" method="POST">
|
||||
<h2>{$aLang.user_authorization}</h2>
|
||||
|
||||
{hook run='form_login_begin'}
|
||||
|
||||
<p><a href="{router page='registration'}">{$aLang.user_registration}</a><br />
|
||||
<a href="{router page='login'}reminder/">{$aLang.user_password_reminder}</a></p>
|
||||
|
||||
<p><label>{$aLang.user_login}<br /><input type="text" name="login" class="input-200" /></label></p>
|
||||
<p><label>{$aLang.user_password}<br /><input type="password" name="password" class="input-200" /></label></p>
|
||||
<p><label><input type="checkbox" name="remember" checked class="checkbox" />{$aLang.user_login_remember}</label></p>
|
||||
|
||||
{hook run='form_login_end'}
|
||||
|
||||
<input type="submit" name="submit_login" value="{$aLang.user_login_submit}" />
|
||||
</form>
|
||||
|
||||
|
||||
{if $oConfig->GetValue('general.reg.invite')}
|
||||
<br /><br />
|
||||
<form action="{router page='registration'}invite/" method="POST">
|
||||
<h2>{$aLang.registration_invite}</h2>
|
||||
|
||||
<p><label>{$aLang.registration_invite_code}<br />
|
||||
<input type="text" name="invite_code" /></label></p>
|
||||
<input type="submit" name="submit_invite" value="{$aLang.registration_invite_check}" />
|
||||
</form>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,17 +0,0 @@
|
|||
{assign var="noSidebar" value=true}
|
||||
{include file='header.tpl'}
|
||||
|
||||
|
||||
<div class="center">
|
||||
<form action="{router page='login'}reminder/" method="POST">
|
||||
<h2>{$aLang.password_reminder}</h2>
|
||||
|
||||
<p><label for="mail">{$aLang.password_reminder_email}<br />
|
||||
<input type="text" name="mail" id="name" class="input-200" /></label></p>
|
||||
|
||||
<input type="submit" name="submit_reminder" value="{$aLang.password_reminder_submit}" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,6 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
<h2>{$aLang.password_reminder}</h2>
|
||||
{$aLang.password_reminder_send_password}
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,6 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
<h2>{$aLang.password_reminder}</h2>
|
||||
{$aLang.password_reminder_send_link}
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,4 +0,0 @@
|
|||
{include file='header.tpl' menu="profile"}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
{include file='header.tpl' menu="profile"}
|
||||
{include file='comment_list.tpl'}
|
||||
{include file='footer.tpl'}
|
|
@ -1,4 +0,0 @@
|
|||
{include file='header.tpl' menu='blog'}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
{include file='header.tpl' menu='people'}
|
||||
|
||||
|
||||
<h2>{$aLang.user_list}: {$oCity->getName()|escape:'html'}</h2>
|
||||
|
||||
{if $aUsersCity}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{$aLang.user}</td>
|
||||
<td align="center" width="160">{$aLang.user_date_last}</td>
|
||||
<td align="center" width="160">{$aLang.user_date_registration}</td>
|
||||
<td align="center" width="60">{$aLang.user_skill}</td>
|
||||
<td align="center" width="60">{$aLang.user_rating}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$aUsersCity item=oUser}
|
||||
{assign var="oSession" value=$oUser->getSession()}
|
||||
<tr>
|
||||
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
|
||||
<td align="center">{if $oSession}{date_format date=$oSession->getDateLast()}{/if}</td>
|
||||
<td align="center">{date_format date=$oUser->getDateRegister()}</td>
|
||||
<td align="center">{$oUser->getSkill()}</td>
|
||||
<td align="center"><strong>{$oUser->getRating()}</strong></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{else}
|
||||
{$aLang.user_empty}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='paging.tpl' aPaging="$aPaging"}
|
||||
{include file='footer.tpl'}
|
|
@ -1,37 +0,0 @@
|
|||
{include file='header.tpl' menu='people'}
|
||||
|
||||
|
||||
<h2>{$aLang.user_list}: {$oCountry->getName()|escape:'html'}</h2>
|
||||
|
||||
{if $aUsersCountry}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td >{$aLang.user}</td>
|
||||
<td>{$aLang.user_date_last}</td>
|
||||
<td>{$aLang.user_date_registration}</td>
|
||||
<td>{$aLang.user_skill}</td>
|
||||
<td>{$aLang.user_rating}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$aUsersCountry item=oUser}
|
||||
{assign var="oSession" value=$oUser->getSession()}
|
||||
<tr>
|
||||
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
|
||||
<td>{if $oSession}{date_format date=$oSession->getDateLast()}{/if}</td>
|
||||
<td>{date_format date=$oUser->getDateRegister()}</td>
|
||||
<td>{$oUser->getSkill()}</td>
|
||||
<td><strong>{$oUser->getRating()}</strong></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{else}
|
||||
{$aLang.user_empty}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='paging.tpl' aPaging="$aPaging"}
|
||||
{include file='footer.tpl'}
|
|
@ -1,37 +0,0 @@
|
|||
{include file='header.tpl' menu='people'}
|
||||
|
||||
|
||||
<h2>{$aLang.user_list}: {$aStat.count_all}</h2>
|
||||
|
||||
<ul class="switcher">
|
||||
<li {if $sEvent=='good'}class="active"{/if}><a href="{router page='people'}good/">{$aLang.user_good}</a></li>
|
||||
<li {if $sEvent=='bad'}class="active"{/if}><a href="{router page='people'}bad/">{$aLang.user_bad}</a></li>
|
||||
</ul>
|
||||
|
||||
{if $aUsersRating}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{$aLang.user}</td>
|
||||
<td align="center" width="80">{$aLang.user_skill}</td>
|
||||
<td align="center" width="80">{$aLang.user_rating}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$aUsersRating item=oUser}
|
||||
<tr>
|
||||
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
|
||||
<td align="center">{$oUser->getSkill()}</td>
|
||||
<td align="center"><strong>{$oUser->getRating()}</strong></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{else}
|
||||
{$aLang.user_empty}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='paging.tpl' aPaging="$aPaging"}
|
||||
{include file='footer.tpl'}
|
|
@ -1,34 +0,0 @@
|
|||
{include file='header.tpl' menu='people'}
|
||||
|
||||
|
||||
<h2>{$aLang.user_list_new}</h2>
|
||||
|
||||
{if $aUsersRegister}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{$aLang.user}</td>
|
||||
<td align="center" width="170">{$aLang.user_date_registration}</td>
|
||||
<td align="center" width="80">{$aLang.user_skill}</td>
|
||||
<td align="center" width="80">{$aLang.user_rating}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$aUsersRegister item=oUser}
|
||||
<tr>
|
||||
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
|
||||
<td align="center">{date_format date=$oUser->getDateRegister()}</td>
|
||||
<td align="center">{$oUser->getSkill()}</td>
|
||||
<td align="center"><strong>{$oUser->getRating()}</strong></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{else}
|
||||
{$aLang.user_empty}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='paging.tpl' aPaging="$aPaging"}
|
||||
{include file='footer.tpl'}
|
|
@ -1,35 +0,0 @@
|
|||
{include file='header.tpl' menu='people'}
|
||||
|
||||
|
||||
<h2>{$aLang.user_list_online_last}</h2>
|
||||
|
||||
{if $aUsersLast}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{$aLang.user}</td>
|
||||
<td align="center" width="170">{$aLang.user_date_last}</td>
|
||||
<td align="center" width="80">{$aLang.user_skill}</td>
|
||||
<td align="center" width="80">{$aLang.user_rating}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$aUsersLast item=oUser}
|
||||
{assign var="oSession" value=$oUser->getSession()}
|
||||
<tr>
|
||||
<td><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></td>
|
||||
<td align="center">{date_format date=$oSession->getDateLast()}</td>
|
||||
<td align="center">{$oUser->getSkill()}</td>
|
||||
<td align="center"><strong>{$oUser->getRating()}</strong></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{else}
|
||||
{$aLang.user_empty}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='paging.tpl' aPaging="$aPaging"}
|
||||
{include file='footer.tpl'}
|
|
@ -1,20 +0,0 @@
|
|||
<div class="block">
|
||||
<h2>{$aLang.user_stats}</h2>
|
||||
|
||||
<ul>
|
||||
<li>{$aLang.user_stats_all}: <strong>{$aStat.count_all}</strong></li>
|
||||
<li>{$aLang.user_stats_active}: <strong>{$aStat.count_active}</strong></li>
|
||||
<li>{$aLang.user_stats_noactive}: <strong>{$aStat.count_inactive}</strong></li>
|
||||
</ul>
|
||||
|
||||
<br />
|
||||
|
||||
<ul>
|
||||
<li>{$aLang.user_stats_sex_man}: <strong>{$aStat.count_sex_man}</strong></li>
|
||||
<li>{$aLang.user_stats_sex_woman}: <strong>{$aStat.count_sex_woman}</strong></li>
|
||||
<li>{$aLang.user_stats_sex_other}: <strong>{$aStat.count_sex_other}</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{insert name="block" block='tagsCountry'}
|
||||
{insert name="block" block='tagsCity'}
|
|
@ -1,4 +0,0 @@
|
|||
{include file='header.tpl' menu='blog'}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
||||
|
|
@ -1,213 +0,0 @@
|
|||
{include file='header.tpl' menu='topic_action' showWhiteBack=true}
|
||||
|
||||
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
document.addEvent('domready', function() {
|
||||
new Autocompleter.Request.LS.JSON($('topic_tags'), aRouter['ajax']+'autocompleter/tag/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
|
||||
'indicatorClass': 'autocompleter-loading', // class added to the input during request
|
||||
'minLength': 2, // We need at least 1 character
|
||||
'selectMode': 'pick', // Instant completion
|
||||
'multiple': true // Tag support, by default comma separated
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
{if $oConfig->GetValue('view.tinymce')}
|
||||
<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/tinymce/tiny_mce.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
{literal}
|
||||
tinyMCE.init({
|
||||
mode : "specific_textareas",
|
||||
editor_selector : "mceEditor",
|
||||
theme : "advanced",
|
||||
theme_advanced_toolbar_location : "top",
|
||||
theme_advanced_toolbar_align : "left",
|
||||
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,pagebreak,code",
|
||||
theme_advanced_buttons2 : "",
|
||||
theme_advanced_buttons3 : "",
|
||||
theme_advanced_statusbar_location : "bottom",
|
||||
theme_advanced_resizing : true,
|
||||
theme_advanced_resize_horizontal : 0,
|
||||
theme_advanced_resizing_use_cookie : 0,
|
||||
theme_advanced_path : false,
|
||||
object_resizing : true,
|
||||
force_br_newlines : true,
|
||||
forced_root_block : '', // Needed for 3.x
|
||||
force_p_newlines : false,
|
||||
plugins : "lseditor,safari,inlinepopups,media,pagebreak",
|
||||
inline_styles:false,
|
||||
formats : {
|
||||
underline : {inline : 'u', exact : true},
|
||||
strikethrough : {inline : 's', exact : true}
|
||||
},
|
||||
convert_urls : false,
|
||||
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
|
||||
pagebreak_separator :"<cut>",
|
||||
media_strict : false,
|
||||
language : TINYMCE_LANG
|
||||
});
|
||||
{/literal}
|
||||
</script>
|
||||
|
||||
{else}
|
||||
{include file='window_load_img.tpl' sToLoad='topic_text'}
|
||||
{/if}
|
||||
|
||||
<script type="text/javascript">
|
||||
if (Browser.Plugins.Flash.version) {
|
||||
initSwfUpload({
|
||||
post_params: { 'topic_id': {json var=$_aRequest.topic_id} },
|
||||
events: {
|
||||
UploadProgress: swfHandlerUploadProgress,
|
||||
FileDialogComplete: swfHandlerFileDialogComplete,
|
||||
UploadSuccess: swfHandlerUploadSuccess,
|
||||
UploadComplete: swfHandlerUploadComplete
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<div class="topic" style="display: none;">
|
||||
<div class="content" id="text_preview"></div>
|
||||
</div>
|
||||
|
||||
<div class="profile-user">
|
||||
{if $sEvent=='add'}
|
||||
<h1>{$aLang.topic_photoset_create}</h1>
|
||||
{else}
|
||||
<h1>{$aLang.topic_photoset_edit}</h1>
|
||||
{/if}
|
||||
<form id="photoset-upload-form" method="POST" enctype="multipart/form-data" onsubmit="return false;">
|
||||
<p id="topic-photo-upload-input" class="topic-photo-upload-input">
|
||||
<label for="">{$aLang.topic_photoset_choose_image}:</label><br />
|
||||
<input type="file" id="photoset-upload-file" name="Filedata" /><br><br>
|
||||
<button onclick="photosetUploadPhoto();">{$aLang.topic_photoset_upload_choose}</button>
|
||||
<button onclick="photosetCloseForm();">{$aLang.topic_photoset_upload_close}</button>
|
||||
<input type="hidden" name="is_iframe" value="true" />
|
||||
<input type="hidden" name="topic_id" value="{$_aRequest.topic_id}" />
|
||||
</p>
|
||||
</form>
|
||||
{hook run='add_topic_photoset_begin'}
|
||||
<form action="" method="POST" enctype="multipart/form-data">
|
||||
{hook run='form_add_topic_photoset_begin'}
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
|
||||
<p><label for="blog_id">{$aLang.topic_create_blog}</label><br />
|
||||
<select name="blog_id" id="blog_id" onChange="ajaxBlogInfo(this.value);" class="input-300">
|
||||
<option value="0">{$aLang.topic_create_blog_personal}</option>
|
||||
{foreach from=$aBlogsAllow item=oBlog}
|
||||
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
|
||||
{/foreach}
|
||||
</select></p>
|
||||
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
ajaxBlogInfo($('blog_id').value);
|
||||
</script>
|
||||
|
||||
<p><label for="topic_title">{$aLang.topic_create_title}:</label><br />
|
||||
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.topic_create_title_notice}</span>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="topic_text">{$aLang.topic_create_text}{if !$oConfig->GetValue('view.tinymce')} ({$aLang.topic_create_text_notice}){/if}:</label>
|
||||
{if !$oConfig->GetValue('view.tinymce')}
|
||||
<div class="panel-form">
|
||||
{hook run='form_add_topic_panel_begin'}
|
||||
<select onchange="lsPanel.putTagAround('topic_text',this.value); this.selectedIndex=0; return false;">
|
||||
<option value="">{$aLang.panel_title}</option>
|
||||
<option value="h4">{$aLang.panel_title_h4}</option>
|
||||
<option value="h5">{$aLang.panel_title_h5}</option>
|
||||
<option value="h6">{$aLang.panel_title_h6}</option>
|
||||
</select>
|
||||
<select onchange="lsPanel.putList('topic_text',this); return false;">
|
||||
<option value="">{$aLang.panel_list}</option>
|
||||
<option value="ul">{$aLang.panel_list_ul}</option>
|
||||
<option value="ol">{$aLang.panel_list_ol}</option>
|
||||
</select>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','b'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/bold.png" title="{$aLang.panel_b}"></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','i'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/italic.png" title="{$aLang.panel_i}"></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','u'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/underline.png" title="{$aLang.panel_u}"></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','s'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/strikethrough.png" title="{$aLang.panel_s}"></a>
|
||||
|
||||
<a href="#" onclick="lsPanel.putTagUrl('topic_text','{$aLang.panel_url_promt}'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/link.png" title="{$aLang.panel_url}"></a>
|
||||
<a href="#" onclick="lsPanel.putTagUser('topic_text','{$aLang.panel_user_promt}'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/user.png" title="{$aLang.panel_user}" /></a>
|
||||
<a href="#" onclick="lsPanel.putQuote('topic_text'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/quote.png" title="{$aLang.panel_quote}"></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','code'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/code.png" title="{$aLang.panel_code}"></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','video'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/video.png" title="{$aLang.panel_video}"></a>
|
||||
|
||||
<a href="#" onclick="showImgUploadForm(); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/img.png" title="{$aLang.panel_image}"></a>
|
||||
<a href="#" onclick="lsPanel.putText('topic_text','<cut>'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/cut.png" title="{$aLang.panel_cut}"></a>
|
||||
{hook run='form_add_topic_panel_end'}
|
||||
</div>
|
||||
{/if}
|
||||
<textarea name="topic_text" class="input-wide" id="topic_text" rows="20">{$_aRequest.topic_text}</textarea></p>
|
||||
|
||||
<!-- Topic Photo Add -->
|
||||
<div class="topic-photo-upload">
|
||||
<h2>{$aLang.topic_photoset_upload_title}</h2>
|
||||
|
||||
<div class="topic-photo-upload-rules">
|
||||
{$aLang.topic_photoset_upload_rules|ls_lang:"SIZE%%`$oConfig->get('module.topic.photoset.photo_max_size')`":"COUNT%%`$oConfig->get('module.topic.photoset.count_photos_max')`"}
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="topic_main_photo" id="topic_main_photo" value="{$_aRequest.topic_main_photo}" />
|
||||
<ul id="swfu_images">
|
||||
{if count($aPhotos)}
|
||||
{foreach from=$aPhotos item=oPhoto}
|
||||
{if $_aRequest.topic_main_photo && $_aRequest.topic_main_photo == $oPhoto->getId()}
|
||||
{assign var=bIsMainPhoto value=true}
|
||||
{/if}
|
||||
<li id="photo_{$oPhoto->getId()}" {if $bIsMainPhoto}class="marked-as-preview"{/if}>
|
||||
<img src="{$oPhoto->getWebPath('100crop')}" alt="image" />
|
||||
<textarea onBlur="topicImageSetDescription({$oPhoto->getId()}, this.value)">{$oPhoto->getDescription()}</textarea><br />
|
||||
<a href="javascript:deleteTopicImage({$oPhoto->getId()})" class="image-delete">{$aLang.topic_photoset_photo_delete}</a>
|
||||
<span class="photo-preview-state">
|
||||
{if $bIsMainPhoto}
|
||||
{$aLang.topic_photoset_is_preview}
|
||||
{else}
|
||||
<a href="javascript:setTopicMainPhoto({$oPhoto->getId()})" class="mark-as-preview">{$aLang.topic_photoset_mark_as_preview}</a>
|
||||
{/if}
|
||||
</span>
|
||||
</li>
|
||||
{assign var=bIsMainPhoto value=false}
|
||||
{/foreach}
|
||||
{/if}
|
||||
</ul>
|
||||
<a href="javascript:photosetShowUploadForm()" id="photoset-start-upload">{$aLang.topic_photoset_upload_choose}</a>
|
||||
</div>
|
||||
<!-- /Topic Photo Add -->
|
||||
|
||||
|
||||
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label><br />
|
||||
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.topic_create_tags_notice}</span></p>
|
||||
|
||||
<p><label for="topic_forbid_comment"><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if}/>
|
||||
— {$aLang.topic_create_forbid_comment}</label><br />
|
||||
<span class="note">{$aLang.topic_create_forbid_comment_notice}</span></p>
|
||||
|
||||
{if $oUserCurrent->isAdministrator()}
|
||||
<p><label for="topic_publish_index"><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if}/>
|
||||
— {$aLang.topic_create_publish_index}</label><br />
|
||||
<span class="note">{$aLang.topic_create_publish_index_notice}</span></p>
|
||||
{/if}
|
||||
|
||||
{hook run='form_add_topic_photoset_end'}
|
||||
<p class="buttons">
|
||||
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" class="right" />
|
||||
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('topic_text',false); return false;" />
|
||||
<input type="submit" name="submit_topic_save" value="{$aLang.topic_create_submit_save}" />
|
||||
</p>
|
||||
</form>
|
||||
{hook run='add_topic_photoset_end'}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,3 +0,0 @@
|
|||
{include file='header.tpl' menu="profile"}
|
||||
{include file='comment_list.tpl'}
|
||||
{include file='footer.tpl'}
|
|
@ -1,4 +0,0 @@
|
|||
{include file='header.tpl' menu="profile"}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
{if $oUserFriend and ($oUserFriend->getFriendStatus()==$USER_FRIEND_ACCEPT+$USER_FRIEND_OFFER or $oUserFriend->getFriendStatus()==$USER_FRIEND_ACCEPT+$USER_FRIEND_ACCEPT)}
|
||||
<li class="del"><a href="#" title="{$aLang.user_friend_del}" onclick="ajaxDeleteUserFriend(this,{$oUserProfile->getId()},'del'); return false;">{$aLang.user_friend_del}</a></li>
|
||||
{elseif $oUserFriend and $oUserFriend->getStatusTo()==$USER_FRIEND_REJECT and $oUserFriend->getStatusFrom()==$USER_FRIEND_OFFER and $oUserFriend->getUserTo()==$oUserCurrent->getId()}
|
||||
<li class="add">
|
||||
<a href="#" title="{$aLang.user_friend_add}" onclick="ajaxAddUserFriend(this,{$oUserProfile->getId()},'accept'); return false;">{$aLang.user_friend_add}</a>
|
||||
</li>
|
||||
{elseif $oUserFriend and $oUserFriend->getFriendStatus()==$USER_FRIEND_OFFER+$USER_FRIEND_REJECT and $oUserFriend->getUserTo()!=$oUserCurrent->getId()}
|
||||
<li class="del">{$aLang.user_friend_offer_reject}</li>
|
||||
{elseif $oUserFriend and $oUserFriend->getFriendStatus()==$USER_FRIEND_OFFER+$USER_FRIEND_NULL and $oUserFriend->getUserFrom()==$oUserCurrent->getId()}
|
||||
<li class="add">{$aLang.user_friend_offer_send}</li>
|
||||
{elseif $oUserFriend and $oUserFriend->getFriendStatus()==$USER_FRIEND_OFFER+$USER_FRIEND_NULL and $oUserFriend->getUserTo()==$oUserCurrent->getId()}
|
||||
<li class="add">
|
||||
<a href="#" title="{$aLang.user_friend_add}" onclick="ajaxAddUserFriend(this,{$oUserProfile->getId()},'accept'); return false;">{$aLang.user_friend_add}</a>
|
||||
</li>
|
||||
{elseif !$oUserFriend}
|
||||
<li class="add">
|
||||
<a href="#" title="{$aLang.user_friend_add}" onclick="toogleFriendForm(this); return false;">{$aLang.user_friend_add}</a>
|
||||
<form id="add_friend_form" onsubmit="ajaxAddUserFriend(this,{$oUserProfile->getId()},'add'); return false;" style="display:none;">
|
||||
<label for="add_friend_text">{$aLang.user_friend_add_text_label}</label>
|
||||
<textarea id="add_friend_text"></textarea>
|
||||
<input type="submit" value="{$aLang.user_friend_add_submit}" />
|
||||
<input type="submit" value="{$aLang.user_friend_add_cansel}" onclick="toogleFriendForm(this); return false;" />
|
||||
</form>
|
||||
</li>
|
||||
{else}
|
||||
<li class="add">
|
||||
<a href="#" title="{$aLang.user_friend_add}" onclick="ajaxAddUserFriend(this,{$oUserProfile->getId()},'link'); return false;">{$aLang.user_friend_add}</a>
|
||||
</li>
|
||||
{/if}
|
|
@ -1,30 +0,0 @@
|
|||
{if $oUserProfile}
|
||||
|
||||
{if $oUserCurrent && $oUserCurrent->getId()!=$oUserProfile->getId()}
|
||||
<div class="block">
|
||||
<ul>
|
||||
{include file='actions/ActionProfile/friend_item.tpl' oUserFriend=$oUserProfile->getUserFriend()}
|
||||
<li><a href="{router page='talk'}add/?talk_users={$oUserProfile->getLogin()}">{$aLang.user_write_prvmsg}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
|
||||
<div class="block">
|
||||
{if $oUserProfile->getProfileIcq()}
|
||||
<h2>{$aLang.profile_social_contacts}</h2>
|
||||
<ul>
|
||||
{if $oUserProfile->getProfileIcq()}
|
||||
<li>ICQ: <a href="http://www.icq.com/people/about_me.php?uin={$oUserProfile->getProfileIcq()|escape:'html'}" target="_blank">{$oUserProfile->getProfileIcq()}</a></li>
|
||||
{/if}
|
||||
</ul>
|
||||
{/if}
|
||||
|
||||
<br />
|
||||
|
||||
{if $oUserProfile->getProfileFoto()}
|
||||
<img src="{$oUserProfile->getProfileFoto()}" alt="photo" />
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{/if}
|
|
@ -1,195 +0,0 @@
|
|||
{include file='header.tpl' menu="profile"}
|
||||
|
||||
{assign var="oSession" value=$oUserProfile->getSession()}
|
||||
{assign var="oVote" value=$oUserProfile->getVote()}
|
||||
|
||||
<div class="user-profile">
|
||||
<p class="strength">
|
||||
{$aLang.user_skill}: <strong class="total" id="user_skill_{$oUserProfile->getId()}">{$oUserProfile->getSkill()}</strong>
|
||||
</p>
|
||||
|
||||
|
||||
<div class="voting {if $oUserProfile->getRating()>=0}positive{else}negative{/if} {if !$oUserCurrent || $oUserProfile->getId()==$oUserCurrent->getId()}guest{/if} {if $oVote} voted {if $oVote->getDirection()>0}plus{elseif $oVote->getDirection()<0}minus{/if}{/if}">
|
||||
<a href="#" class="plus" onclick="lsVote.vote({$oUserProfile->getId()},this,1,'user'); return false;"></a>
|
||||
<div class="total" title="{$aLang.user_vote_count}: {$oUserProfile->getCountVote()}">{if $oUserProfile->getRating()>0}+{/if}{$oUserProfile->getRating()}</div>
|
||||
<a href="#" class="minus" onclick="lsVote.vote({$oUserProfile->getId()},this,-1,'user'); return false;"></a>
|
||||
</div>
|
||||
|
||||
|
||||
<img src="{$oUserProfile->getProfileAvatarPath(100)}" alt="avatar" class="avatar" />
|
||||
<h3>{$oUserProfile->getLogin()}</h3>
|
||||
{if $oUserProfile->getProfileName()}
|
||||
{$oUserProfile->getProfileName()|escape:'html'}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
|
||||
{if $oUserProfile->getProfileSex()!='other' || $oUserProfile->getProfileBirthday() || ($oUserProfile->getProfileCountry() || $oUserProfile->getProfileRegion() || $oUserProfile->getProfileCity()) || $oUserProfile->getProfileAbout() || $oUserProfile->getProfileSite()|| count($aUserFields)}
|
||||
<h2>{$aLang.profile_privat}</h2>
|
||||
<table class="table">
|
||||
{if $oUserProfile->getProfileSex()!='other'}
|
||||
<tr>
|
||||
<td>{$aLang.profile_sex}:</td>
|
||||
<td>
|
||||
{if $oUserProfile->getProfileSex()=='man'}
|
||||
{$aLang.profile_sex_man}
|
||||
{else}
|
||||
{$aLang.profile_sex_woman}
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{if $oUserProfile->getProfileBirthday()}
|
||||
<tr>
|
||||
<td>{$aLang.profile_birthday}:</td>
|
||||
<td>{date_format date=$oUserProfile->getProfileBirthday() format="j F Y"}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{if ($oUserProfile->getProfileCountry()|| $oUserProfile->getProfileRegion() || $oUserProfile->getProfileCity())}
|
||||
<tr>
|
||||
<td>{$aLang.profile_place}:</td>
|
||||
<td>
|
||||
{if $oUserProfile->getProfileCountry()}
|
||||
<a href="{router page='people'}country/{$oUserProfile->getProfileCountry()|escape:'html'}/">{$oUserProfile->getProfileCountry()|escape:'html'}</a>{if $oUserProfile->getProfileCity()},{/if}
|
||||
{/if}
|
||||
{if $oUserProfile->getProfileCity()}
|
||||
<a href="{router page='people'}city/{$oUserProfile->getProfileCity()|escape:'html'}/">{$oUserProfile->getProfileCity()|escape:'html'}</a>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{if $oUserProfile->getProfileAbout()}
|
||||
<tr>
|
||||
<td>{$aLang.profile_about}:</td>
|
||||
<td>{$oUserProfile->getProfileAbout()|escape:'html'}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{if $oUserProfile->getProfileSite()}
|
||||
<tr>
|
||||
<td>{$aLang.profile_site}:</td>
|
||||
<td>
|
||||
<a href="{$oUserProfile->getProfileSite(true)|escape:'html'}" rel="nofollow">
|
||||
{if $oUserProfile->getProfileSiteName()}
|
||||
{$oUserProfile->getProfileSiteName()|escape:'html'}
|
||||
{else}
|
||||
{$oUserProfile->getProfileSite()|escape:'html'}
|
||||
{/if}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if count($aUserFields)}
|
||||
{foreach from=$aUserFields item=oField}
|
||||
<tr>
|
||||
<td class="var">{$oField->getTitle()|escape:'html'}:</td>
|
||||
<td>{$oField->getValue(true,true)}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{hook run='profile_whois_privat_item' oUserProfile=$oUserProfile}
|
||||
</table>
|
||||
{/if}
|
||||
|
||||
{hook run='profile_whois_item' oUserProfile=$oUserProfile}
|
||||
|
||||
<h2>{$aLang.profile_activity}</h2>
|
||||
<table class="table">
|
||||
{if $aUsersFriend}
|
||||
<tr>
|
||||
<td>{$aLang.profile_friends}:</td>
|
||||
<td>
|
||||
{foreach from=$aUsersFriend item=oUser}
|
||||
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{if $oConfig->GetValue('general.reg.invite') and $oUserInviteFrom}
|
||||
<tr>
|
||||
<td>{$aLang.profile_invite_from}:</td>
|
||||
<td>
|
||||
<a href="{$oUserInviteFrom->getUserWebPath()}">{$oUserInviteFrom->getLogin()}</a>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{if $oConfig->GetValue('general.reg.invite') and $aUsersInvite}
|
||||
<tr>
|
||||
<td>{$aLang.profile_invite_to}:</td>
|
||||
<td>
|
||||
{foreach from=$aUsersInvite item=oUserInvite}
|
||||
<a href="{$oUserInvite->getUserWebPath()}">{$oUserInvite->getLogin()}</a>
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{if $aBlogsOwner}
|
||||
<tr>
|
||||
<td>{$aLang.profile_blogs_self}:</td>
|
||||
<td>
|
||||
{foreach from=$aBlogsOwner item=oBlog name=blog_owner}
|
||||
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_owner.last}, {/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{if $aBlogAdministrators}
|
||||
<tr>
|
||||
<td>{$aLang.profile_blogs_administration}:</td>
|
||||
<td>
|
||||
{foreach from=$aBlogAdministrators item=oBlogUser name=blog_user}
|
||||
{assign var="oBlog" value=$oBlogUser->getBlog()}
|
||||
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{if $aBlogModerators}
|
||||
<tr>
|
||||
<td>{$aLang.profile_blogs_moderation}:</td>
|
||||
<td>
|
||||
{foreach from=$aBlogModerators item=oBlogUser name=blog_user}
|
||||
{assign var="oBlog" value=$oBlogUser->getBlog()}
|
||||
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{if $aBlogUsers}
|
||||
<tr>
|
||||
<td>{$aLang.profile_blogs_join}:</td>
|
||||
<td>
|
||||
{foreach from=$aBlogUsers item=oBlogUser name=blog_user}
|
||||
{assign var="oBlog" value=$oBlogUser->getBlog()}
|
||||
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>{if !$smarty.foreach.blog_user.last}, {/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{hook run='profile_whois_activity_item' oUserProfile=$oUserProfile}
|
||||
|
||||
<tr>
|
||||
<td>{$aLang.profile_date_registration}:</td>
|
||||
<td>{date_format date=$oUserProfile->getDateRegister()}</td>
|
||||
</tr>
|
||||
|
||||
{if $oSession}
|
||||
<tr>
|
||||
<td>{$aLang.profile_date_last}:</td>
|
||||
<td>{date_format date=$oSession->getDateLast()}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</table>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,107 +0,0 @@
|
|||
{include file='header.tpl' menu='topic_action'}
|
||||
|
||||
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
document.addEvent('domready', function() {
|
||||
new Autocompleter.Request.LS.JSON($('topic_tags'), aRouter['ajax']+'autocompleter/tag/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
|
||||
'indicatorClass': 'autocompleter-loading', // class added to the input during request
|
||||
'minLength': 2, // We need at least 1 character
|
||||
'selectMode': 'pick', // Instant completion
|
||||
'multiple': true // Tag support, by default comma separated
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
<div class="topic" style="display: none;">
|
||||
<div class="content" id="text_preview"></div>
|
||||
</div>
|
||||
|
||||
|
||||
{if $sEvent=='add'}
|
||||
<h2>{$aLang.topic_question_create}</h2>
|
||||
{else}
|
||||
<h2>{$aLang.topic_question_edit}</h2>
|
||||
{/if}
|
||||
|
||||
{hook run='add_topic_question_begin'}
|
||||
<form action="" method="POST" enctype="multipart/form-data">
|
||||
{hook run='form_add_topic_question_begin'}
|
||||
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
|
||||
<p><label for="blog_id">{$aLang.topic_create_blog}</label><br />
|
||||
<select name="blog_id" id="blog_id" onChange="ajaxBlogInfo(this.value);" class="input-wide">
|
||||
<option value="0">{$aLang.topic_create_blog_personal}</option>
|
||||
{foreach from=$aBlogsAllow item=oBlog}
|
||||
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
|
||||
{/foreach}
|
||||
</select></p>
|
||||
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
ajaxBlogInfo($('blog_id').value);
|
||||
</script>
|
||||
|
||||
<p><label for="topic_title">{$aLang.topic_question_create_title}:</label><br />
|
||||
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-wide" {if $bEditDisabled}disabled{/if} /><br />
|
||||
<span class="note">{$aLang.topic_question_create_title_notice}</span></p>
|
||||
|
||||
{$aLang.topic_question_create_answers}:
|
||||
|
||||
<ul class="question-list">
|
||||
{if count($_aRequest.answer)>=2}
|
||||
{foreach from=$_aRequest.answer item=sAnswer}
|
||||
<li>
|
||||
<input type="text" value="{$sAnswer}" name="answer[]" class="input-200" {if $bEditDisabled}disabled{/if} />
|
||||
<input type="button" name="drop_answer" value=" - " onClick="dropField(this);" {if $bEditDisabled}disabled{/if}>
|
||||
<input type="button" value=" + " onClick="addField(this);" {if $bEditDisabled}disabled{/if}>
|
||||
</li>
|
||||
{/foreach}
|
||||
{else}
|
||||
<li>
|
||||
<input type="text" value="" name="answer[]" class="input-200" {if $bEditDisabled}disabled{/if} />
|
||||
<input type="button" name="drop_answer" value=" - " onClick="dropField(this);" {if $bEditDisabled}disabled{/if}>
|
||||
<input type="button" value=" + " onClick="addField(this);" {if $bEditDisabled}disabled{/if}>
|
||||
</li>
|
||||
<li>
|
||||
<input type="text" value="" name="answer[]" class="input-200" {if $bEditDisabled}disabled{/if} />
|
||||
<input type="button" name="drop_answer" value=" - " onClick="dropField(this);" {if $bEditDisabled}disabled{/if}>
|
||||
<input type="button" value=" + " onClick="addField(this);" {if $bEditDisabled}disabled{/if}>
|
||||
</li>
|
||||
{/if}
|
||||
</ul>
|
||||
|
||||
{if !$bEditDisabled}
|
||||
{literal}<script>checkFieldForLast();</script>{/literal}
|
||||
{/if}
|
||||
|
||||
<p><label for="topic_text">{$aLang.topic_question_create_text}:</label><br />
|
||||
<textarea name="topic_text" id="topic_text" rows="20" class="input-wide">{$_aRequest.topic_text}</textarea></p>
|
||||
|
||||
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label><br />
|
||||
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.topic_create_tags_notice}</span></p>
|
||||
|
||||
<p><label for=""><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if} />
|
||||
{$aLang.topic_create_forbid_comment}</label><br />
|
||||
<span class="note">{$aLang.topic_create_forbid_comment_notice}</span></p>
|
||||
|
||||
{if $oUserCurrent->isAdministrator()}
|
||||
<p><label for=""><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if} />
|
||||
{$aLang.topic_create_publish_index}</label><br />
|
||||
<span class="note">{$aLang.topic_create_publish_index_notice}</span></p>
|
||||
{/if}
|
||||
|
||||
{hook run='form_add_topic_question_end'}
|
||||
|
||||
<p class="buttons">
|
||||
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" />
|
||||
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('topic_text',true); return false;" />
|
||||
<input type="submit" name="submit_topic_save" value="{$aLang.topic_create_submit_save}" />
|
||||
</p>
|
||||
</form>
|
||||
{hook run='add_topic_question_end'}
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,8 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
|
||||
<h2>{$aLang.registration_activate_ok}</h2>
|
||||
<a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,10 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
|
||||
<h2>{$aLang.registration_confirm_header}</h2>
|
||||
{$aLang.registration_confirm_text}<br /><br />
|
||||
|
||||
<a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,38 +0,0 @@
|
|||
{assign var="noSidebar" value=true}
|
||||
{include file='header.tpl'}
|
||||
|
||||
|
||||
<div class="center">
|
||||
<form action="{router page='registration'}" method="POST">
|
||||
<h2>{$aLang.registration}</h2>
|
||||
|
||||
{hook run='form_registration_begin'}
|
||||
|
||||
<p><label>{$aLang.registration_login}<br />
|
||||
<input type="text" name="login" value="{$_aRequest.login}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.registration_login_notice}</span></label></p>
|
||||
|
||||
<p><label>{$aLang.registration_mail}<br />
|
||||
<input type="text" name="mail" value="{$_aRequest.mail}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.registration_mail_notice}</span></label></p>
|
||||
|
||||
<p><label>{$aLang.registration_password}<br />
|
||||
<input type="password" name="password" value="" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.registration_password_notice}</span></label></p>
|
||||
|
||||
<p><label>{$aLang.registration_password_retry}<br />
|
||||
<input type="password" value="" id="repass" name="password_confirm" class="input-wide" /></label></p>
|
||||
|
||||
{$aLang.registration_captcha}<br />
|
||||
<img src="{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}" onclick="this.src='{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}&n='+Math.random();" />
|
||||
|
||||
<p><input type="text" name="captcha" value="" maxlength="3" class="input-100" /></p>
|
||||
|
||||
{hook run='form_registration_end'}
|
||||
|
||||
<input type="submit" name="submit_register" value="{$aLang.registration_submit}" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,17 +0,0 @@
|
|||
{assign var="noSidebar" value=true}
|
||||
{include file='header.tpl'}
|
||||
|
||||
|
||||
<div class="center">
|
||||
<form action="{router page='registration'}invite/" method="POST">
|
||||
<h2>{$aLang.registration_invite}</h2>
|
||||
|
||||
<p><label>{$aLang.registration_invite_code}<br />
|
||||
<input type="text" name="invite_code" class="input-200" /></label></p>
|
||||
|
||||
<input type="submit" name="submit_invite" value="{$aLang.registration_invite_check}" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,8 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
|
||||
<h2>{$aLang.registration_ok}</h2>
|
||||
<a href="{cfg name='path.root.web'}">{$aLang.site_go_main}</a>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,26 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<channel>
|
||||
<title>{$aChannel.title}</title>
|
||||
<link>{$aChannel.link}</link>
|
||||
<atom:link href="{$PATH_WEB_CURRENT}/" rel="self" type="application/rss+xml" />
|
||||
<description><![CDATA[{$aChannel.description}]]></description>
|
||||
<language>{$aChannel.language}</language>
|
||||
<managingEditor>{$aChannel.managingEditor} ({cfg name='path.root.web'})</managingEditor>
|
||||
<webMaster>{$aChannel.managingEditor} ({cfg name='path.root.web'})</webMaster>
|
||||
<copyright>{cfg name='path.root.web'}</copyright>
|
||||
<generator>{$aChannel.generator}</generator>
|
||||
{foreach from=$aItems item=oItem}
|
||||
<item>
|
||||
<title>{$oItem.title|escape:'html'}</title>
|
||||
<guid isPermaLink="true">{$oItem.guid}</guid>
|
||||
<link>{$oItem.link}</link>
|
||||
<dc:creator>{$oItem.author}</dc:creator>
|
||||
<description><![CDATA[{$oItem.description}]]></description>
|
||||
<pubDate>{date_format date=$oItem.pubDate format="r"}</pubDate>
|
||||
<category>{$oItem.category|replace:',':'</category>
|
||||
<category>'}</category>
|
||||
</item>
|
||||
{/foreach}
|
||||
</channel>
|
||||
</rss>
|
|
@ -1,11 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
|
||||
<h2>{$aLang.search}</h2>
|
||||
<form action="{router page='search'}topics/" method="GET">
|
||||
<input type="text" value="" name="q" />
|
||||
<input type="submit" value="{$aLang.search_submit}" />
|
||||
</form>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,18 +0,0 @@
|
|||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
||||
<ShortName>{cfg name='view.name'}</ShortName>
|
||||
<Description>{$sHtmlTitle}</Description>
|
||||
<Contact>{$sAdminMail}</Contact>
|
||||
<Url type="text/html" template="{router page='search'}topics/?q={literal}{searchTerms}{/literal}" />
|
||||
<LongName>{$sHtmlDescription}</LongName>
|
||||
<Image height="64" width="64" type="image/png">{cfg name='path.static.skin'}/images/logo.png</Image>
|
||||
<Image height="16" width="16" type="image/vnd.microsoft.icon">{cfg name='path.static.skin'}/images/favicon.ico</Image>
|
||||
<Developer>{cfg name='view.name'} ({cfg name='path.root.web'})</Developer>
|
||||
<Attribution>
|
||||
© «{cfg name='view.name'}»
|
||||
</Attribution>
|
||||
<SyndicationRight>open</SyndicationRight>
|
||||
<AdultContent>false</AdultContent>
|
||||
<Language>ru-ru</Language>
|
||||
<OutputEncoding>UTF-8</OutputEncoding>
|
||||
<InputEncoding>UTF-8</InputEncoding>
|
||||
</OpenSearchDescription>
|
|
@ -1,32 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
|
||||
<h2>{$aLang.search_results}: {$aReq.q|escape:'html'}</h2>
|
||||
|
||||
<ul class="switcher">
|
||||
{foreach from=$aRes.aCounts item=iCount key=sType name="sTypes"}
|
||||
<li {if $aReq.sType == $sType}class="active"{/if}>
|
||||
<a href="{router page='search'}{$sType}/?q={$aReq.q|escape:'html'}">
|
||||
{$iCount}
|
||||
{if $sType=="topics"}
|
||||
{$aLang.search_results_count_topics}
|
||||
{elseif $sType=="comments"}
|
||||
{$aLang.search_results_count_comments}
|
||||
{/if}
|
||||
</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
{if $bIsResults}
|
||||
{if $aReq.sType == 'topics'}
|
||||
{include file='topic_list.tpl'}
|
||||
{elseif $aReq.sType == 'comments'}
|
||||
{include file='comment_list.tpl'}
|
||||
{/if}
|
||||
{else}
|
||||
{$aLang.search_results_empty}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,22 +0,0 @@
|
|||
{include file='header.tpl' menu='settings'}
|
||||
|
||||
|
||||
<h2>{$aLang.settings_invite}</h2>
|
||||
|
||||
<form action="" method="POST" enctype="multipart/form-data">
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
|
||||
<p>
|
||||
{$aLang.settings_invite_available}: <strong>{if $oUserCurrent->isAdministrator()}{$aLang.settings_invite_many}{else}{$iCountInviteAvailable}{/if}</strong><br />
|
||||
{$aLang.settings_invite_used}: <strong>{$iCountInviteUsed}</strong>
|
||||
</p>
|
||||
|
||||
<p><label for="invite_mail">{$aLang.settings_invite_mail}:</label><br />
|
||||
<input type="text" name="invite_mail" id="invite_mail" class="input-200" /><br />
|
||||
<span class="note">{$aLang.settings_invite_mail_notice}</span></p>
|
||||
|
||||
<input type="submit" value="{$aLang.settings_invite_submit}" name="submit_invite" />
|
||||
</form>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,122 +0,0 @@
|
|||
{include file='header.tpl' menu='settings'}
|
||||
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
document.addEvent('domready', function() {
|
||||
var inputCity = $('profile_city');
|
||||
|
||||
new Autocompleter.Request.LS.JSON(inputCity, aRouter['ajax']+'autocompleter/city/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
|
||||
'indicatorClass': 'autocompleter-loading', // class added to the input during request
|
||||
'minLength': 2, // We need at least 1 character
|
||||
'selectMode': 'pick', // Instant completion
|
||||
'multiple': false // Tag support, by default comma separated
|
||||
});
|
||||
|
||||
|
||||
var inputCountry = $('profile_country');
|
||||
|
||||
new Autocompleter.Request.LS.JSON(inputCountry, aRouter['ajax']+'autocompleter/country/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
|
||||
'indicatorClass': 'autocompleter-loading', // class added to the input during request
|
||||
'minLength': 2, // We need at least 1 character
|
||||
'selectMode': 'pick', // Instant completion
|
||||
'multiple': false // Tag support, by default comma separated
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
<h2>{$aLang.settings_profile_edit}</h2>
|
||||
<form action="" method="POST" enctype="multipart/form-data">
|
||||
|
||||
{hook run='form_settings_profile_begin'}
|
||||
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
|
||||
<p>
|
||||
<label for="profile_name">{$aLang.settings_profile_name}:</label><br />
|
||||
<input type="text" name="profile_name" id="profile_name" value="{$oUserCurrent->getProfileName()|escape:'html'}" class="input-200" /><br />
|
||||
<span class="note">{$aLang.settings_profile_name_notice}</span>
|
||||
</p>
|
||||
<p>
|
||||
<label for="mail">{$aLang.settings_profile_mail}:</label><br />
|
||||
<input type="text" name="mail" id="mail" value="{$oUserCurrent->getMail()|escape:'html'}" class="input-200" /><br />
|
||||
<span class="note">{$aLang.settings_profile_mail_notice}</span>
|
||||
</p>
|
||||
<p>
|
||||
{$aLang.settings_profile_sex}:<br />
|
||||
<label><input type="radio" name="profile_sex" id="profile_sex_m" value="man" {if $oUserCurrent->getProfileSex()=='man'}checked{/if} class="checkbox" />{$aLang.settings_profile_sex_man}</label><br />
|
||||
<label><input type="radio" name="profile_sex" id="profile_sex_w" value="woman" {if $oUserCurrent->getProfileSex()=='woman'}checked{/if} class="checkbox" />{$aLang.settings_profile_sex_woman}</label><br />
|
||||
<label><input type="radio" name="profile_sex" id="profile_sex_o" value="other" {if $oUserCurrent->getProfileSex()=='other'}checked{/if} class="checkbox" />{$aLang.settings_profile_sex_other}</label>
|
||||
</p>
|
||||
<p>
|
||||
<label for="">{$aLang.settings_profile_birthday}:</label><br />
|
||||
<select name="profile_birthday_day">
|
||||
<option value="">{$aLang.date_day}</option>
|
||||
{section name=date_day start=1 loop=32 step=1}
|
||||
<option value="{$smarty.section.date_day.index}" {if $smarty.section.date_day.index==$oUserCurrent->getProfileBirthday()|date_format:"%d"}selected{/if}>{$smarty.section.date_day.index}</option>
|
||||
{/section}
|
||||
</select>
|
||||
<select name="profile_birthday_month">
|
||||
<option value="">{$aLang.date_month}</option>
|
||||
{section name=date_month start=1 loop=13 step=1}
|
||||
<option value="{$smarty.section.date_month.index}" {if $smarty.section.date_month.index==$oUserCurrent->getProfileBirthday()|date_format:"%m"}selected{/if}>{$aLang.month_array[$smarty.section.date_month.index][0]}</option>
|
||||
{/section}
|
||||
</select>
|
||||
<select name="profile_birthday_year">
|
||||
<option value="">{$aLang.date_year}</option>
|
||||
{section name=date_year start=1940 loop=2000 step=1}
|
||||
<option value="{$smarty.section.date_year.index}" {if $smarty.section.date_year.index==$oUserCurrent->getProfileBirthday()|date_format:"%Y"}selected{/if}>{$smarty.section.date_year.index}</option>
|
||||
{/section}
|
||||
</select>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="profile_country">{$aLang.settings_profile_country}:</label><br /><input type="text" id="profile_country" name="profile_country" value="{$oUserCurrent->getProfileCountry()|escape:'html'}" /><br />
|
||||
<label for="profile_city">{$aLang.settings_profile_city}:</label><br /><input type="text" id="profile_city" name="profile_city" value="{$oUserCurrent->getProfileCity()|escape:'html'}" /><br />
|
||||
</p>
|
||||
|
||||
<p><label for="profile_icq">{$aLang.settings_profile_icq}:</label><br /><input type="text" name="profile_icq" id="profile_icq" value="{$oUserCurrent->getProfileIcq()|escape:'html'}"/></p>
|
||||
|
||||
<p>
|
||||
<label for="profile_site">{$aLang.settings_profile_site}:</label><br />
|
||||
<label for="profile_site"><input type="text" style="margin-bottom: 5px;" id="profile_site" name="profile_site" value="{$oUserCurrent->getProfileSite()|escape:'html'}" /> — {$aLang.settings_profile_site_url}</label><br />
|
||||
<label for="profile_site_name"><input type="text" id="profile_site_name" name="profile_site_name" value="{$oUserCurrent->getProfileSiteName()|escape:'html'}" /> — {$aLang.settings_profile_site_name}</label>
|
||||
</p>
|
||||
|
||||
{if count($aUserFields)}
|
||||
{foreach from=$aUserFields item=oField}
|
||||
<p><label for="profile_user_field_{$oField->getId()}">{$oField->getTitle()|escape:'html'}:</label><br /><input type="text" class="w300" name="profile_user_field_{$oField->getId()}" id="profile_user_field_{$oField->getId()}" value="{$oField->getValue()|escape:'html'}"/></p>
|
||||
{/foreach}
|
||||
{/if}
|
||||
<p>
|
||||
<label for="profile_about">{$aLang.settings_profile_about}:</label><br />
|
||||
<textarea class="input-300" name="profile_about" id="profile_about">{$oUserCurrent->getProfileAbout()|escape:'html'}</textarea>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="password_now">{$aLang.settings_profile_password_current}:</label><br /><input type="password" name="password_now" id="password_now" value="" /><br />
|
||||
<label for="password">{$aLang.settings_profile_password_new}:</label><br /><input type="password" id="password" name="password" value="" /><br />
|
||||
<label for="password_confirm">{$aLang.settings_profile_password_confirm}:</label><br /><input type="password" id="password_confirm" name="password_confirm" value="" />
|
||||
</p>
|
||||
|
||||
{if $oUserCurrent->getProfileAvatar()}
|
||||
<img src="{$oUserCurrent->getProfileAvatarPath(100)}" />
|
||||
<img src="{$oUserCurrent->getProfileAvatarPath(64)}" />
|
||||
<img src="{$oUserCurrent->getProfileAvatarPath(24)}" /><br />
|
||||
<input type="checkbox" id="avatar_delete" name="avatar_delete" value="on" class="checkbox" /><label for="avatar_delete">{$aLang.settings_profile_avatar_delete}</label><br /><br />
|
||||
{/if}
|
||||
<p><label for="avatar">{$aLang.settings_profile_avatar}:</label><br /><input type="file" id="avatar" name="avatar"/></p>
|
||||
|
||||
{if $oUserCurrent->getProfileFoto()}
|
||||
<img src="{$oUserCurrent->getProfileFoto()}" /><br />
|
||||
<input type="checkbox" id="foto_delete" name="foto_delete" value="on" class="checkbox" /><label for="foto_delete">{$aLang.settings_profile_foto_delete}</label><br /><br />
|
||||
{/if}
|
||||
<p><label for="foto">{$aLang.settings_profile_foto}:</label><br /><input type="file" id="foto" name="foto" /></p>
|
||||
|
||||
{hook run='form_settings_profile_end'}
|
||||
<p><input type="submit" value="{$aLang.settings_profile_submit}" name="submit_profile_edit" /></p>
|
||||
</form>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,27 +0,0 @@
|
|||
{include file='header.tpl' menu='settings'}
|
||||
|
||||
|
||||
<h2>{$aLang.settings_tuning}</h2>
|
||||
|
||||
<strong>{$aLang.settings_tuning_notice}</strong>
|
||||
|
||||
<form action="{router page='settings'}tuning/" method="POST" enctype="multipart/form-data">
|
||||
|
||||
{hook run='form_settings_tuning_begin'}
|
||||
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
<p>
|
||||
<label><input {if $oUserCurrent->getSettingsNoticeNewTopic()}checked{/if} type="checkbox" id="settings_notice_new_topic" name="settings_notice_new_topic" value="1" class="checkbox" />{$aLang.settings_tuning_notice_new_topic}</label><br />
|
||||
<label><input {if $oUserCurrent->getSettingsNoticeNewComment()}checked{/if} type="checkbox" id="settings_notice_new_comment" name="settings_notice_new_comment" value="1" class="checkbox" />{$aLang.settings_tuning_notice_new_comment}</label><br />
|
||||
<label><input {if $oUserCurrent->getSettingsNoticeNewTalk()}checked{/if} type="checkbox" id="settings_notice_new_talk" name="settings_notice_new_talk" value="1" class="checkbox" />{$aLang.settings_tuning_notice_new_talk}</label><br />
|
||||
<label><input {if $oUserCurrent->getSettingsNoticeReplyComment()}checked{/if} type="checkbox" id="settings_notice_reply_comment" name="settings_notice_reply_comment" value="1" class="checkbox" />{$aLang.settings_tuning_notice_reply_comment}</label><br />
|
||||
<label><input {if $oUserCurrent->getSettingsNoticeNewFriend()}checked{/if} type="checkbox" id="settings_notice_new_friend" name="settings_notice_new_friend" value="1" class="checkbox" />{$aLang.settings_tuning_notice_new_friend}</label>
|
||||
</p>
|
||||
|
||||
{hook run='form_settings_tuning_end'}
|
||||
|
||||
<input type="submit" name="submit_settings_tuning" value="{$aLang.settings_tuning_submit}" />
|
||||
</form>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,34 +0,0 @@
|
|||
{if count($aStreamEvents)}
|
||||
{foreach from=$aStreamEvents item=oStreamEvent}
|
||||
{assign var=oTarget value=$oStreamEvent->getTarget()}
|
||||
<li class="stream-item-type-{$oStreamEvent->getEventType()}">
|
||||
<a href="{$oStreamEvent->getUser()->getUserWebPath()}"><img src="{$oStreamEvent->getUser()->getProfileAvatarPath(48)}" alt="avatar" class="avatar" /></a>
|
||||
<span class="date" title="{date_format date=$oStreamEvent->getDateAdded()}">{date_format date=$oStreamEvent->getDateAdded() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}</span>
|
||||
|
||||
<a href="{$oStreamEvent->getUser()->getUserWebPath()}"><strong>{$oStreamEvent->getUser()->getLogin()}</strong></a>
|
||||
|
||||
{if $oStreamEvent->getEventType() == 'add_topic'}
|
||||
{$aLang.stream_list_event_add_topic} <a href="{$oTarget->getUrl()}">{$oTarget->getTitle()|escape:'html'}</a>
|
||||
{elseif $oStreamEvent->getEventType() == 'add_comment'}
|
||||
{$aLang.stream_list_event_add_comment} <a href="{$oTarget->getTarget()->getUrl()}#comment{$oTarget->getId()}">{$oTarget->getTarget()->getTitle()|escape:'html'}</a>
|
||||
<div class="stream-comment-preview">{$oTarget->getText()|strip_tags|truncate:200}</div>
|
||||
{elseif $oStreamEvent->getEventType() == 'add_blog'}
|
||||
{$aLang.stream_list_event_add_blog} <a href="{$oTarget->getUrlFull()}">{$oTarget->getTitle()|escape:'html'}</a>
|
||||
{elseif $oStreamEvent->getEventType() == 'vote_blog'}
|
||||
{$aLang.stream_list_event_vote_blog} <a href="{$oTarget->getUrlFull()}">{$oTarget->getTitle()|escape:'html'}</a>
|
||||
{elseif $oStreamEvent->getEventType() == 'vote_topic'}
|
||||
{$aLang.stream_list_event_vote_topic} <a href="{$oTarget->getUrl()}">{$oTarget->getTitle()|escape:'html'}</a>
|
||||
{elseif $oStreamEvent->getEventType() == 'vote_comment'}
|
||||
{$aLang.stream_list_event_vote_comment} <a href="{$oTarget->getTarget()->getUrl()}#comment{$oTarget->getId()}">{$oTarget->getTarget()->getTitle()|escape:'html'}</a>
|
||||
{elseif $oStreamEvent->getEventType() == 'vote_user'}
|
||||
{$aLang.stream_list_event_vote_user} <a href="{$oTarget->getUserWebPath()}">{$oTarget->getLogin()}</a>
|
||||
{elseif $oStreamEvent->getEventType() == 'join_blog'}
|
||||
{$aLang.stream_list_event_join_blog} <a href="{$oTarget->getUrlFull()}">{$oTarget->getTitle()|escape:'html'}</a>
|
||||
{elseif $oStreamEvent->getEventType() == 'add_friend'}
|
||||
{$aLang.stream_list_event_add_friend} <a href="{$oTarget->getUserWebPath()}">{$oTarget->getLogin()}</a>
|
||||
{else}
|
||||
{hook run="stream_list_event_`$oStreamEvent->getEventType()`" oStreamEvent=$oStreamEvent}
|
||||
{/if}
|
||||
</li>
|
||||
{/foreach}
|
||||
{/if}
|
|
@ -1,20 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
|
||||
|
||||
<h2 class="stream-header">{$aLang.stream_personal_title}</h2>
|
||||
|
||||
{if count($aStreamEvents)}
|
||||
<ul class="stream-list" id="stream-list">
|
||||
{include file='actions/ActionStream/events.tpl'}
|
||||
</ul>
|
||||
|
||||
{if !$bDisableGetMoreButton}
|
||||
<input type="hidden" id="stream_last_id" value="{$iStreamLastId}" />
|
||||
<a class="stream-get-more" id="stream_get_more" href="javascript:lsStream.getMore()">{$aLang.stream_get_more} ↓</a>
|
||||
{/if}
|
||||
{else}
|
||||
{$aLang.stream_no_events}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,20 +0,0 @@
|
|||
{include file='header.tpl' menu="blog"}
|
||||
|
||||
|
||||
{literal}
|
||||
<script>
|
||||
function submitTags(sTag) {
|
||||
window.location=aRouter['tag']+encodeURIComponent(sTag)+'/';
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
<form action="" method="GET" onsubmit="return submitTags(this.tag.value);">
|
||||
<input type="text" name="tag" value="{$sTag|escape:'html'}" />
|
||||
</form>
|
||||
<br />
|
||||
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
|
@ -1,109 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
{include file='menu.talk.tpl'}
|
||||
|
||||
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
document.addEvent('domready', function() {
|
||||
new Autocompleter.Request.LS.JSON($('talk_users'), aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
|
||||
'indicatorClass': 'autocompleter-loading', // class added to the input during request
|
||||
'minLength': 1, // We need at least 1 character
|
||||
'selectMode': 'pick', // Instant completion
|
||||
'multiple': true // Tag support, by default comma separated
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
{if $oConfig->GetValue('view.tinymce')}
|
||||
<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/tinymce/tiny_mce.js"></script>
|
||||
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
tinyMCE.init({
|
||||
mode : "textareas",
|
||||
theme : "advanced",
|
||||
theme_advanced_toolbar_location : "top",
|
||||
theme_advanced_toolbar_align : "left",
|
||||
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,pagebreak,code",
|
||||
theme_advanced_buttons2 : "",
|
||||
theme_advanced_buttons3 : "",
|
||||
theme_advanced_statusbar_location : "bottom",
|
||||
theme_advanced_resizing : true,
|
||||
theme_advanced_resize_horizontal : 0,
|
||||
theme_advanced_resizing_use_cookie : 0,
|
||||
theme_advanced_path : false,
|
||||
object_resizing : true,
|
||||
force_br_newlines : true,
|
||||
forced_root_block : '', // Needed for 3.x
|
||||
force_p_newlines : false,
|
||||
plugins : "lseditor,safari,inlinepopups,media,pagebreak",
|
||||
convert_urls : false,
|
||||
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
|
||||
language : TINYMCE_LANG,
|
||||
inline_styles:false,
|
||||
formats : {
|
||||
underline : {inline : 'u', exact : true},
|
||||
strikethrough : {inline : 's', exact : true}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
{else}
|
||||
{include file='window_load_img.tpl' sToLoad='talk_text'}
|
||||
{/if}
|
||||
|
||||
<div class="topic" style="display: none;">
|
||||
<div class="content" id="text_preview"></div>
|
||||
</div>
|
||||
|
||||
<div class="topic">
|
||||
<h2>{$aLang.talk_create}</h2>
|
||||
|
||||
<form action="" method="POST" enctype="multipart/form-data">
|
||||
{hook run='form_add_talk_begin'}
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
|
||||
<p><label for="talk_users">{$aLang.talk_create_users}:</label><br />
|
||||
<input type="text" class="input-wide" id="talk_users" name="talk_users" value="{$_aRequest.talk_users}" /></p>
|
||||
|
||||
<p><label for="talk_title">{$aLang.talk_create_title}:</label><br />
|
||||
<input type="text" class="input-wide" id="talk_title" name="talk_title" value="{$_aRequest.talk_title}" /></p>
|
||||
|
||||
<p><div class="note"></div><label for="talk_text">{$aLang.talk_create_text}:</label>
|
||||
{if !$oConfig->GetValue('view.tinymce')}
|
||||
<div class="panel-form">
|
||||
<select onchange="lsPanel.putTagAround('talk_text',this.value); this.selectedIndex=0; return false;">
|
||||
<option value="">{$aLang.panel_title}</option>
|
||||
<option value="h4">{$aLang.panel_title_h4}</option>
|
||||
<option value="h5">{$aLang.panel_title_h5}</option>
|
||||
<option value="h6">{$aLang.panel_title_h6}</option>
|
||||
</select>
|
||||
<select onchange="lsPanel.putList('talk_text',this); return false;">
|
||||
<option value="">{$aLang.panel_list}</option>
|
||||
<option value="ul">{$aLang.panel_list_ul}</option>
|
||||
<option value="ol">{$aLang.panel_list_ol}</option>
|
||||
</select>
|
||||
<a href="#" onclick="lsPanel.putTagAround('talk_text','b'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/bold.png" title="{$aLang.panel_b}" /></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('talk_text','i'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/italic.png" title="{$aLang.panel_i}" /></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('talk_text','u'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/underline.png" title="{$aLang.panel_u}" /></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('talk_text','s'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/strikethrough.png" title="{$aLang.panel_s}" /></a>
|
||||
|
||||
<a href="#" onclick="lsPanel.putTagUrl('talk_text','{$aLang.panel_url_promt}'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/link.png" title="{$aLang.panel_url}" /></a>
|
||||
<a href="#" onclick="lsPanel.putQuote('talk_text'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/quote.png" title="{$aLang.panel_quote}" /></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('talk_text','code'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/code.png" title="{$aLang.panel_code}" /></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('talk_text','video'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/video.png" title="{$aLang.panel_video}" /></a>
|
||||
|
||||
<a href="#" onclick="showImgUploadForm(); return false;"><img src="{cfg name='path.static.skin'}/images/panel/img.png" title="{$aLang.panel_image}" /></a>
|
||||
</div>
|
||||
{/if}
|
||||
<textarea name="talk_text" id="talk_text" rows="12" class="input-wide">{$_aRequest.talk_text}</textarea></p>
|
||||
{hook run='form_add_talk_end'}
|
||||
<p><input type="submit" value="{$aLang.talk_create_submit}" name="submit_talk_add" />
|
||||
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('talk_text',false); return false;" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,149 +0,0 @@
|
|||
<div class="block">
|
||||
<h2>{$aLang.talk_blacklist_title}</h2>
|
||||
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
document.addEvent('domready', function() {
|
||||
new Autocompleter.Request.LS.JSON(
|
||||
$('talk_blacklist_add'),
|
||||
aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY,
|
||||
{
|
||||
'indicatorClass': 'autocompleter-loading',
|
||||
'minLength': 1,
|
||||
'selectMode': 'pick',
|
||||
'multiple': true
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
function deleteFromBlackList(element) {
|
||||
element.getParent('li').fade(0.7);
|
||||
idTarget = element.get('id').replace('blacklist_item_','');
|
||||
|
||||
new Request.JSON({
|
||||
url: aRouter['talk']+'ajaxdeletefromblacklist/',
|
||||
noCache: true,
|
||||
data: { idTarget: idTarget, security_ls_key: LIVESTREET_SECURITY_KEY },
|
||||
onSuccess: function(result){
|
||||
if (!result) {
|
||||
msgErrorBox.alert('Error','Please try again later');
|
||||
element.getParent().fade(1);
|
||||
}
|
||||
if (result.bStateError) {
|
||||
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
|
||||
element.getParent().fade(1);
|
||||
} else {
|
||||
element.getParent('li').destroy();
|
||||
|
||||
if($('blackList').getElements('li').length==0) {
|
||||
$('blackList').destroy();
|
||||
$('list_uncheck_all').setProperty('style','display:none');
|
||||
}
|
||||
}
|
||||
},
|
||||
onFailure: function(){
|
||||
msgErrorBox.alert('Error','Please try again later');
|
||||
}
|
||||
}).send();
|
||||
return true;
|
||||
}
|
||||
function addListItem(sId,sLogin) {
|
||||
if($('blackListBlock').getElements('li').length==0) {
|
||||
$('list_uncheck_all').removeProperty('style');
|
||||
list=new Element('ul', {'class':'list',id:'blackList'});
|
||||
$('blackListBlock').adopt(list);
|
||||
}
|
||||
|
||||
oSpan=new Element('a',
|
||||
{
|
||||
'href' : '#',
|
||||
'class' : 'user',
|
||||
'text' : sLogin
|
||||
}
|
||||
);
|
||||
oLink=new Element('a',
|
||||
{
|
||||
'id' : 'blacklist_item_'+sId,
|
||||
'href' : "#",
|
||||
'class' : 'delete',
|
||||
'text' : lsLang.get('delete'),
|
||||
'events': {
|
||||
'click': function() {
|
||||
deleteFromBlackList(this);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
oItem=new Element('li');
|
||||
$('blackList').adopt(oItem.adopt(oSpan).appendText(' - ').adopt(oLink));
|
||||
}
|
||||
function addToBlackList() {
|
||||
sUsers=$('talk_blacklist_add').get('value');
|
||||
if(sUsers.length<2) {
|
||||
msgErrorBox.alert('Error','Пользователь не указан');
|
||||
return false;
|
||||
}
|
||||
$('talk_blacklist_add').set('value','');
|
||||
|
||||
new Request.JSON({
|
||||
url: aRouter['talk']+'ajaxaddtoblacklist/',
|
||||
noCache: true,
|
||||
data: { users: sUsers, security_ls_key: LIVESTREET_SECURITY_KEY },
|
||||
onSuccess: function(result){
|
||||
if (!result) {
|
||||
msgErrorBox.alert('Error','Please try again later');
|
||||
}
|
||||
if (result.bStateError) {
|
||||
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
|
||||
} else {
|
||||
var aUsers = result.aUsers;
|
||||
aUsers.each(function(item,index) {
|
||||
if(item.bStateError){
|
||||
msgErrorBox.alert(item.sMsgTitle, item.sMsg);
|
||||
} else {
|
||||
addListItem(item.sUserId,item.sUserLogin);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
onFailure: function(){
|
||||
msgErrorBox.alert('Error','Please try again later');
|
||||
}
|
||||
}).send();
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
<form onsubmit="addToBlackList(); return false;">
|
||||
<p><label for="talk_blacklist_add">{$aLang.talk_balcklist_add_label}:</label><br />
|
||||
<input type="text" id="talk_blacklist_add" name="add" value="" class="input-wide" /></p>
|
||||
</form>
|
||||
|
||||
|
||||
<div class="block-content" id="blackListBlock">
|
||||
{if $aUsersBlacklist}
|
||||
{literal}
|
||||
<script>
|
||||
window.addEvent('domready', function() {
|
||||
$('list_uncheck_all').addEvents({
|
||||
'click': function(){
|
||||
$('blackList').getElements('a').each(function(item,index){
|
||||
deleteFromBlackList(item);
|
||||
});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
<ul class="list" id="blackList">
|
||||
{foreach from=$aUsersBlacklist item=oUser}
|
||||
<li><a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a> - <a href="#" id="blacklist_item_{$oUser->getId()}" onclick="deleteFromBlackList(this); return false;" class="delete">{$aLang.blog_delete}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="bottom"><a href="#" id="list_uncheck_all" {if !$aUsersBlacklist}style="display:none;"{/if}>{$aLang.talk_balcklist_delete_all}</a></div>
|
||||
</div>
|
|
@ -1,56 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
{include file='menu.talk.tpl'}
|
||||
|
||||
|
||||
<h2>{$aLang.talk_favourite_inbox}</h2>
|
||||
|
||||
{if $aTalks}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td width="150">{$aLang.talk_inbox_target}</td>
|
||||
<td width="20"></td>
|
||||
<td>{$aLang.talk_inbox_title}</td>
|
||||
<td width="170" align="center">{$aLang.talk_inbox_date}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$aTalks item=oTalk}
|
||||
{assign var="oTalkUserAuthor" value=$oTalk->getTalkUser()}
|
||||
<tr>
|
||||
<td>
|
||||
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
|
||||
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
|
||||
{assign var="oUser" value=$oTalkUser->getUser()}
|
||||
<a href="{$oUser->getUserWebPath()}" class="user {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}">{$oUser->getLogin()}</a>
|
||||
{/if}
|
||||
{/foreach}
|
||||
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="#" onclick="lsFavourite.toggle({$oTalk->getId()},this,'talk'); return false;" class="favorite {if $oTalk->getIsFavourite()}active{/if}"></a>
|
||||
</td>
|
||||
<td>
|
||||
{if $oTalkUserAuthor->getCommentCountNew() or !$oTalkUserAuthor->getDateLast()}
|
||||
<a href="{router page='talk'}read/{$oTalk->getId()}/"><strong>{$oTalk->getTitle()|escape:'html'}</strong></a>
|
||||
{else}
|
||||
<a href="{router page='talk'}read/{$oTalk->getId()}/">{$oTalk->getTitle()|escape:'html'}</a>
|
||||
{/if}
|
||||
|
||||
{if $oTalk->getCountComment()}
|
||||
{$oTalk->getCountComment()} {if $oTalkUserAuthor->getCommentCountNew()}+{$oTalkUserAuthor->getCommentCountNew()}{/if}
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center">{date_format date=$oTalk->getDate()}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{else}
|
||||
{$aLang.talk_favourite_empty}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='paging.tpl' aPaging="$aPaging"}
|
||||
{include file='footer.tpl'}
|
|
@ -1,78 +0,0 @@
|
|||
<div class="block">
|
||||
<h2>{$aLang.talk_filter_title}</h2>
|
||||
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
document.addEvent('domready', function() {
|
||||
new Autocompleter.Request.LS.JSON(
|
||||
$('talk_filter_sender'),
|
||||
aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY,
|
||||
{
|
||||
'indicatorClass': 'autocompleter-loading',
|
||||
'minLength': 1,
|
||||
'selectMode': 'pick',
|
||||
'multiple': false
|
||||
}
|
||||
);
|
||||
new vlaDatePicker(
|
||||
$('talk_filter_start'),
|
||||
{
|
||||
separator: '.',
|
||||
leadingZero: true,
|
||||
twoDigitYear: false,
|
||||
alignX: 'center',
|
||||
alignY: 'top',
|
||||
offset: { y: 3 },
|
||||
filePath: DIR_WEB_ROOT+'/engine/lib/external/MooTools_1.2/plugs/vlaCal-v2.1/inc/',
|
||||
prefillDate: false,
|
||||
startMonday: true
|
||||
}
|
||||
);
|
||||
new vlaDatePicker(
|
||||
$('talk_filter_end'),
|
||||
{
|
||||
separator: '.',
|
||||
leadingZero: true,
|
||||
twoDigitYear: false,
|
||||
alignX: 'center',
|
||||
alignY: 'top',
|
||||
offset: { y: 3 },
|
||||
filePath: DIR_WEB_ROOT+'/engine/lib/external/MooTools_1.2/plugs/vlaCal-v2.1/inc/',
|
||||
prefillDate: false,
|
||||
startMonday: true
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
function eraseFilterForm() {
|
||||
$$("#talk_filter_sender, #talk_filter_keyword, #talk_filter_start, #talk_filter_end").each(
|
||||
function(item,index){
|
||||
return item.set('value','');
|
||||
}
|
||||
);
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
<div class="block-content">
|
||||
<form action="{router page='talk'}" method="GET" name="talk_filter_form">
|
||||
<p><label for="talk_filter_sender">{$aLang.talk_filter_label_sender}:</label><br />
|
||||
<input type="text" id="talk_filter_sender" name="sender" value="{$_aRequest.sender}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.talk_filter_notice_sender}</span></p>
|
||||
|
||||
<p><label for="talk_filter_keyword">{$aLang.talk_filter_label_keyword}:</label><br />
|
||||
<input type="text" id="talk_filter_keyword" name="keyword" value="{$_aRequest.keyword}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.talk_filter_notice_keyword}</span></p>
|
||||
|
||||
<p><label for="talk_filter_start">{$aLang.talk_filter_label_date}:</label><br />
|
||||
<input type="text" id="talk_filter_start" name="start" value="{$_aRequest.start}" style="width: 43%" readonly="readonly" /> —
|
||||
<input type="text" id="talk_filter_end" name="end" value="{$_aRequest.end}" style="width: 43%" readonly="readonly" /><br />
|
||||
<span class="note">{$aLang.talk_filter_notice_date}</span></p>
|
||||
|
||||
<input type="submit" name="submit_talk_filter" value="{$aLang.talk_filter_submit}" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="bottom"><a href="#" onclick="return eraseFilterForm();">{$aLang.talk_filter_erase_form}</a> | <a href="{router page='talk'}">{$aLang.talk_filter_erase}</a></div>
|
||||
</div>
|
|
@ -1,82 +0,0 @@
|
|||
<div class="block">
|
||||
<h2>{$aLang.block_friends}</h2>
|
||||
|
||||
{if $aUsersFriend}
|
||||
<div class="block-content">
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
function friendToogle(element) {
|
||||
login=element.getNext('a').get('text');
|
||||
to=$('talk_users')
|
||||
.getProperty('value')
|
||||
.split(',')
|
||||
.map(function(item,index){
|
||||
return item.trim();
|
||||
}).filter(function(item,index){
|
||||
return item.length>0;
|
||||
});
|
||||
$('talk_users').setProperty(
|
||||
'value',
|
||||
(element.getProperty('checked'))
|
||||
? to.include(login).join(',')
|
||||
: to.erase(login).join(',')
|
||||
);
|
||||
}
|
||||
window.addEvent('domready', function() {
|
||||
// сканируем список друзей
|
||||
var lsCheckList=$('friends')
|
||||
.getElements('input[type=checkbox]')
|
||||
.addEvents({
|
||||
'click': function(){
|
||||
return friendToogle(this);
|
||||
}
|
||||
});
|
||||
// toogle checkbox`а при клике на ссылку-логин
|
||||
$('friends').getElements('a').addEvents({
|
||||
'click': function() {
|
||||
checkbox=this.getPrevious('input[type=checkbox]');
|
||||
checkbox.setProperty('checked',!checkbox.getProperty('checked'));
|
||||
friendToogle(checkbox);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
// выделить всех друзей
|
||||
$('friend_check_all').addEvents({
|
||||
'click': function(){
|
||||
lsCheckList.each(function(item,index){
|
||||
if(!item.getProperty('checked')) {
|
||||
item.setProperty('checked',true);
|
||||
friendToogle(item);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
// снять выделение со всех друзей
|
||||
$('friend_uncheck_all').addEvents({
|
||||
'click': function(){
|
||||
lsCheckList.each(function(item,index){
|
||||
if(item.getProperty('checked')) {
|
||||
item.setProperty('checked',false);
|
||||
friendToogle(item);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
<ul class="list" id="friends">
|
||||
{foreach from=$aUsersFriend item=oFriend}
|
||||
<li><label><input type="checkbox" name="friend[{$oFriend->getId()}]" class="checkbox" /><a href="#">{$oFriend->getLogin()}</a></label></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="bottom"><a href="#" id="friend_check_all">{$aLang.block_friends_check}</a> | <a href="#" id="friend_uncheck_all">{$aLang.block_friends_uncheck}</a></div>
|
||||
|
||||
{else}
|
||||
{$aLang.block_friends_empty}
|
||||
{/if}
|
||||
</div>
|
|
@ -1,57 +0,0 @@
|
|||
{include file='header.tpl' noShowSystemMessage=false}
|
||||
{include file='menu.talk.tpl'}
|
||||
|
||||
|
||||
<form action="{router page='talk'}" method="post" id="form_talks_list">
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td width="20"><input type="checkbox" name="" onclick="checkAllTalk(this);"></td>
|
||||
<td width="150">{$aLang.talk_inbox_target}</td>
|
||||
<td width="20"></td>
|
||||
<td>{$aLang.talk_inbox_title}</td>
|
||||
<td width="170" align="center">{$aLang.talk_inbox_date}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$aTalks item=oTalk}
|
||||
{assign var="oTalkUserAuthor" value=$oTalk->getTalkUser()}
|
||||
<tr>
|
||||
<td><input type="checkbox" name="talk_del[{$oTalk->getId()}]" class="form_talks_checkbox" /></td>
|
||||
<td>
|
||||
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
|
||||
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
|
||||
{assign var="oUser" value=$oTalkUser->getUser()}
|
||||
<a href="{$oUser->getUserWebPath()}" class="user {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}">{$oUser->getLogin()}</a>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="#" onclick="lsFavourite.toggle({$oTalk->getId()},this,'talk'); return false;" class="favorite {if $oTalk->getIsFavourite()}active{/if}"></a>
|
||||
</td>
|
||||
<td>
|
||||
{if $oTalkUserAuthor->getCommentCountNew() or !$oTalkUserAuthor->getDateLast()}
|
||||
<a href="{router page='talk'}read/{$oTalk->getId()}/"><strong>{$oTalk->getTitle()|escape:'html'}</strong></a>
|
||||
{else}
|
||||
<a href="{router page='talk'}read/{$oTalk->getId()}/">{$oTalk->getTitle()|escape:'html'}</a>
|
||||
{/if}
|
||||
|
||||
{if $oTalk->getCountComment()}
|
||||
{$oTalk->getCountComment()} {if $oTalkUserAuthor->getCommentCountNew()}+{$oTalkUserAuthor->getCommentCountNew()}{/if}
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center">{date_format date=$oTalk->getDate()}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<input type="submit" name="submit_talk_del" value="{$aLang.talk_inbox_delete}" onclick="return ($$('.form_talks_checkbox:checked').length==0)?false:confirm('{$aLang.talk_inbox_delete_confirm}');" />
|
||||
</form>
|
||||
|
||||
|
||||
{include file='paging.tpl' aPaging="$aPaging"}
|
||||
{include file='footer.tpl'}
|
|
@ -1,39 +0,0 @@
|
|||
{include file='header.tpl'}
|
||||
{include file='menu.talk.tpl'}
|
||||
|
||||
{assign var="oUser" value=$oTalk->getUser()}
|
||||
|
||||
|
||||
<div class="topic">
|
||||
<h2 class="title">{$oTalk->getTitle()|escape:'html'}</h2>
|
||||
|
||||
<ul class="actions">
|
||||
<li class="delete"><a href="{router page='talk'}delete/{$oTalk->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" onclick="return confirm('{$aLang.talk_inbox_delete_confirm}');" class="delete">{$aLang.talk_inbox_delete}</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="content">
|
||||
{$oTalk->getText()}
|
||||
</div>
|
||||
|
||||
<ul class="info">
|
||||
<li class="username"><a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a></li>
|
||||
<li class="date">{date_format date=$oTalk->getDate()}</li>
|
||||
<li><a href="#" onclick="lsFavourite.toggle({$oTalk->getId()},this,'talk'); return false;" class="favorite {if $oTalk->getIsFavourite()}active{/if}"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{assign var="oTalkUser" value=$oTalk->getTalkUser()}
|
||||
|
||||
{if !$bNoComments}
|
||||
{include
|
||||
file='comment_tree.tpl'
|
||||
iTargetId=$oTalk->getId()
|
||||
sTargetType='talk'
|
||||
iCountComment=$oTalk->getCountComment()
|
||||
sDateReadLast=$oTalkUser->getDateLast()
|
||||
sNoticeCommentAdd=$aLang.topic_comment_add
|
||||
bNoCommentFavourites=true}
|
||||
{/if}
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,132 +0,0 @@
|
|||
<div class="block">
|
||||
<h2>{$aLang.talk_speaker_title}</h2>
|
||||
|
||||
{if $oTalk->getUserId()==$oUserCurrent->getId() or $oUserCurrent->isAdministrator()}
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
document.addEvent('domready', function() {
|
||||
new Autocompleter.Request.LS.JSON(
|
||||
$('talk_speaker_add'),
|
||||
aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY,
|
||||
{
|
||||
'indicatorClass': 'autocompleter-loading',
|
||||
'minLength': 1,
|
||||
'selectMode': 'pick',
|
||||
'multiple': true
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
function deleteFromTalk(element,idTalk) {
|
||||
element.getParent('li').fade(0.7);
|
||||
idTarget = element.get('id').replace('speaker_item_','');
|
||||
|
||||
new Request.JSON({
|
||||
url: aRouter['talk']+'ajaxdeletetalkuser/',
|
||||
noCache: true,
|
||||
data: { idTarget:idTarget,idTalk:idTalk, security_ls_key: LIVESTREET_SECURITY_KEY },
|
||||
onSuccess: function(result){
|
||||
if (!result) {
|
||||
msgErrorBox.alert('Error','Please try again later');
|
||||
element.getParent().fade(1);
|
||||
}
|
||||
if (result.bStateError) {
|
||||
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
|
||||
element.getParent().fade(1);
|
||||
} else {
|
||||
element.getParent('li').destroy();
|
||||
}
|
||||
},
|
||||
onFailure: function(){
|
||||
msgErrorBox.alert('Error','Please try again later');
|
||||
}
|
||||
}).send();
|
||||
return true;
|
||||
}
|
||||
function addListItem(sId,sLogin,sUserLink,sTalkId) {
|
||||
oUser=new Element('a',
|
||||
{
|
||||
'class' : 'user',
|
||||
'text' : sLogin,
|
||||
'href' : sUserLink
|
||||
}
|
||||
);
|
||||
oLink=new Element('a',
|
||||
{
|
||||
'id' : 'speaker_item_'+sId,
|
||||
'href' : "#",
|
||||
'class' : 'delete',
|
||||
'events': {
|
||||
'click': function() {
|
||||
deleteFromTalk(this,sTalkId);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
oItem=new Element('li');
|
||||
$('speakerList').adopt(oItem.adopt(oUser,oLink));
|
||||
}
|
||||
function addToTalk(idTalk) {
|
||||
sUsers=$('talk_speaker_add').get('value');
|
||||
if(sUsers.length<2) {
|
||||
msgErrorBox.alert('Error','Пользователь не указан');
|
||||
return false;
|
||||
}
|
||||
$('talk_speaker_add').set('value','');
|
||||
new Request.JSON({
|
||||
url: aRouter['talk']+'ajaxaddtalkuser/',
|
||||
noCache: true,
|
||||
data: { users: sUsers, idTalk: idTalk, security_ls_key: LIVESTREET_SECURITY_KEY },
|
||||
onSuccess: function(result){
|
||||
if (!result) {
|
||||
msgErrorBox.alert('Error','Please try again later');
|
||||
}
|
||||
if (result.bStateError) {
|
||||
msgErrorBox.alert(result.sMsgTitle,result.sMsg);
|
||||
} else {
|
||||
var aUsers = result.aUsers;
|
||||
aUsers.each(function(item,index) {
|
||||
if(item.bStateError){
|
||||
msgErrorBox.alert(item.sMsgTitle, item.sMsg);
|
||||
} else {
|
||||
addListItem(item.sUserId,item.sUserLogin,item.sUserLink,idTalk);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
onFailure: function(){
|
||||
msgErrorBox.alert('Error','Please try again later');
|
||||
}
|
||||
}).send();
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
<div class="block-content">
|
||||
<form onsubmit="addToTalk({$oTalk->getId()}); return false;">
|
||||
<p><label for="talk_speaker_add">{$aLang.talk_speaker_add_label}:</label><br />
|
||||
<input type="text" id="talk_speaker_add" name="add" value="" class="input-wide" /></p>
|
||||
</form>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="block-content" id="speakerListBlock">
|
||||
{if $oTalk->getTalkUsers()}
|
||||
<ul class="list" id="speakerList">
|
||||
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
|
||||
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
|
||||
{assign var="oUser" value=$oTalkUser->getUser()}
|
||||
{if $oTalkUser->getUserActive()!=$TALK_USER_DELETE_BY_AUTHOR}
|
||||
<li>
|
||||
<a class="user {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}" href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a> -
|
||||
{if $oTalkUser->getUserActive()==$TALK_USER_ACTIVE and ($oTalk->getUserId()==$oUserCurrent->getId() or $oUserCurrent->isAdministrator())}<a href="#" id="speaker_item_{$oTalkUser->getUserId()}" onclick="deleteFromTalk(this,{$oTalk->getId()}); return false;" class="delete">{$aLang.blog_delete}</a>{/if}
|
||||
</li>
|
||||
{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
|
@ -1,6 +0,0 @@
|
|||
{include file='header.tpl' menu='blog'}
|
||||
|
||||
<h2>{$aLang.top_blogs}</h2>
|
||||
|
||||
{include file='blog_list.tpl'}
|
||||
{include file='footer.tpl'}
|
|
@ -1,15 +0,0 @@
|
|||
{include file='header.tpl' menu="blog"}
|
||||
|
||||
|
||||
<h2>{$aLang.top_comments}</h2>
|
||||
|
||||
<ul class="switcher">
|
||||
<li {if $aParams[0] and $aParams[0]=='24h'}class="active"{/if}><a href="{router page='top'}comment/24h/">{$aLang.blog_menu_top_period_24h}</a></li>
|
||||
<li {if $aParams[0] and $aParams[0]=='7d'}class="active"{/if}><a href="{router page='top'}comment/7d/">{$aLang.blog_menu_top_period_7d}</a></li>
|
||||
<li {if $aParams[0] and $aParams[0]=='30d'}class="active"{/if}><a href="{router page='top'}comment/30d/">{$aLang.blog_menu_top_period_30d}</a></li>
|
||||
<li {if $aParams[0] and $aParams[0]=='all'}class="active"{/if}><a href="{router page='top'}comment/all/">{$aLang.blog_menu_top_period_all}</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
{include file='comment_list.tpl'}
|
||||
{include file='footer.tpl'}
|
|
@ -1,15 +0,0 @@
|
|||
{include file='header.tpl' menu="blog"}
|
||||
|
||||
|
||||
<h2>{$aLang.top_topics}</h2>
|
||||
|
||||
<ul class="switcher">
|
||||
<li {if $aParams[0] and $aParams[0]=='24h'}class="active"{/if}><a href="{router page='top'}topic/24h/">{$aLang.blog_menu_top_period_24h}</a></li>
|
||||
<li {if $aParams[0] and $aParams[0]=='7d'}class="active"{/if}><a href="{router page='top'}topic/7d/">{$aLang.blog_menu_top_period_7d}</a></li>
|
||||
<li {if $aParams[0] and $aParams[0]=='30d'}class="active"{/if}><a href="{router page='top'}topic/30d/">{$aLang.blog_menu_top_period_30d}</a></li>
|
||||
<li {if $aParams[0] and $aParams[0]=='all'}class="active"{/if}><a href="{router page='top'}topic/all/">{$aLang.blog_menu_top_period_all}</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
|
@ -1,153 +0,0 @@
|
|||
{include file='header.tpl' menu='topic_action'}
|
||||
|
||||
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
document.addEvent('domready', function() {
|
||||
new Autocompleter.Request.LS.JSON($('topic_tags'), aRouter['ajax']+'autocompleter/tag/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
|
||||
'indicatorClass': 'autocompleter-loading', // class added to the input during request
|
||||
'minLength': 2, // We need at least 1 character
|
||||
'selectMode': 'pick', // Instant completion
|
||||
'multiple': true // Tag support, by default comma separated
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
{if $oConfig->GetValue('view.tinymce')}
|
||||
<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/tinymce/tiny_mce.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
{literal}
|
||||
tinyMCE.init({
|
||||
mode : "textareas",
|
||||
theme : "advanced",
|
||||
theme_advanced_toolbar_location : "top",
|
||||
theme_advanced_toolbar_align : "left",
|
||||
theme_advanced_buttons1 : "lshselect,bold,italic,underline,strikethrough,|,bullist,numlist,|,undo,redo,|,lslink,unlink,lsvideo,lsimage,pagebreak,code",
|
||||
theme_advanced_buttons2 : "",
|
||||
theme_advanced_buttons3 : "",
|
||||
theme_advanced_statusbar_location : "bottom",
|
||||
theme_advanced_resizing : true,
|
||||
theme_advanced_resize_horizontal : 0,
|
||||
theme_advanced_resizing_use_cookie : 0,
|
||||
theme_advanced_path : false,
|
||||
object_resizing : true,
|
||||
force_br_newlines : true,
|
||||
inline_styles:false,
|
||||
formats : {
|
||||
underline : {inline : 'u', exact : true},
|
||||
strikethrough : {inline : 's', exact : true}
|
||||
},
|
||||
forced_root_block : '', // Needed for 3.x
|
||||
force_p_newlines : false,
|
||||
plugins : "lseditor,safari,inlinepopups,media,pagebreak",
|
||||
convert_urls : false,
|
||||
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
|
||||
pagebreak_separator :"<cut>",
|
||||
media_strict : false,
|
||||
language : TINYMCE_LANG
|
||||
});
|
||||
{/literal}
|
||||
</script>
|
||||
|
||||
{else}
|
||||
{include file='window_load_img.tpl' sToLoad='topic_text'}
|
||||
{/if}
|
||||
|
||||
|
||||
|
||||
<div class="topic" style="display: none;">
|
||||
<div class="content" id="text_preview"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="profile-user">
|
||||
{if $sEvent=='add'}
|
||||
<h2>{$aLang.topic_topic_create}</h2>
|
||||
{else}
|
||||
<h2>{$aLang.topic_topic_edit}</h2>
|
||||
{/if}
|
||||
|
||||
{hook run='add_topic_topic_begin'}
|
||||
<form action="" method="POST" enctype="multipart/form-data">
|
||||
{hook run='form_add_topic_topic_begin'}
|
||||
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
|
||||
<p><label for="blog_id">{$aLang.topic_create_blog}</label><br />
|
||||
<select name="blog_id" id="blog_id" onChange="ajaxBlogInfo(this.value);" class="input-300">
|
||||
<option value="0">{$aLang.topic_create_blog_personal}</option>
|
||||
{foreach from=$aBlogsAllow item=oBlog}
|
||||
<option value="{$oBlog->getId()}" {if $_aRequest.blog_id==$oBlog->getId()}selected{/if}>{$oBlog->getTitle()|escape:'html'}</option>
|
||||
{/foreach}
|
||||
</select></p>
|
||||
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
ajaxBlogInfo($('blog_id').value);
|
||||
</script>
|
||||
|
||||
<p><label for="topic_title">{$aLang.topic_create_title}:</label><br />
|
||||
<input type="text" id="topic_title" name="topic_title" value="{$_aRequest.topic_title}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.topic_create_title_notice}</span></p>
|
||||
|
||||
<label for="topic_text">{$aLang.topic_create_text}{if !$oConfig->GetValue('view.tinymce')} ({$aLang.topic_create_text_notice}){/if}:</label>
|
||||
{if !$oConfig->GetValue('view.tinymce')}
|
||||
<div class="panel-form">
|
||||
{hook run='form_add_topic_panel_begin'}
|
||||
<select onchange="lsPanel.putTagAround('topic_text',this.value); this.selectedIndex=0; return false;">
|
||||
<option value="">{$aLang.panel_title}</option>
|
||||
<option value="h4">{$aLang.panel_title_h4}</option>
|
||||
<option value="h5">{$aLang.panel_title_h5}</option>
|
||||
<option value="h6">{$aLang.panel_title_h6}</option>
|
||||
</select>
|
||||
<select onchange="lsPanel.putList('topic_text',this); return false;">
|
||||
<option value="">{$aLang.panel_list}</option>
|
||||
<option value="ul">{$aLang.panel_list_ul}</option>
|
||||
<option value="ol">{$aLang.panel_list_ol}</option>
|
||||
</select>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','b'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/bold.png" title="{$aLang.panel_b}" /></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','i'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/italic.png" title="{$aLang.panel_i}" /></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','u'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/underline.png" title="{$aLang.panel_u}" /></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','s'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/strikethrough.png" title="{$aLang.panel_s}" /></a>
|
||||
|
||||
<a href="#" onclick="lsPanel.putTagUrl('topic_text','{$aLang.panel_url_promt}'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/link.png" title="{$aLang.panel_url}" /></a>
|
||||
<a href="#" onclick="lsPanel.putTagUser('topic_text','{$aLang.panel_user_promt}'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/user.png" title="{$aLang.panel_user}" /></a>
|
||||
<a href="#" onclick="lsPanel.putQuote('topic_text'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/quote.png" title="{$aLang.panel_quote}" /></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','code'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/code.png" title="{$aLang.panel_code}" /></a>
|
||||
<a href="#" onclick="lsPanel.putTagAround('topic_text','video'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/video.png" title="{$aLang.panel_video}" /></a>
|
||||
|
||||
<a href="#" onclick="showImgUploadForm(); return false;"><img src="{cfg name='path.static.skin'}/images/panel/img.png" title="{$aLang.panel_image}" /></a>
|
||||
<a href="#" onclick="lsPanel.putText('topic_text','<cut>'); return false;"><img src="{cfg name='path.static.skin'}/images/panel/cut.png" title="{$aLang.panel_cut}" /></a>
|
||||
{hook run='form_add_topic_panel_end'}
|
||||
</div>
|
||||
{/if}
|
||||
<textarea name="topic_text" id="topic_text" rows="20" class="input-wide">{$_aRequest.topic_text}</textarea><br /><br />
|
||||
|
||||
<p><label for="topic_tags">{$aLang.topic_create_tags}:</label><br />
|
||||
<input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="input-wide" /><br />
|
||||
<span class="note">{$aLang.topic_create_tags_notice}</span></p>
|
||||
|
||||
<p><label for=""><input type="checkbox" id="topic_forbid_comment" name="topic_forbid_comment" class="checkbox" value="1" {if $_aRequest.topic_forbid_comment==1}checked{/if} />
|
||||
{$aLang.topic_create_forbid_comment}</label><br />
|
||||
<span class="note">{$aLang.topic_create_forbid_comment_notice}</span></p>
|
||||
|
||||
{if $oUserCurrent->isAdministrator()}
|
||||
<p><label for=""><input type="checkbox" id="topic_publish_index" name="topic_publish_index" class="checkbox" value="1" {if $_aRequest.topic_publish_index==1}checked{/if} />
|
||||
{$aLang.topic_create_publish_index}</label><br />
|
||||
<span class="note">{$aLang.topic_create_publish_index_notice}</span></p>
|
||||
{/if}
|
||||
|
||||
{hook run='form_add_topic_topic_end'}
|
||||
|
||||
<input type="submit" name="submit_topic_publish" value="{$aLang.topic_create_submit_publish}" />
|
||||
<input type="submit" name="submit_preview" value="{$aLang.topic_create_submit_preview}" onclick="$('text_preview').getParent('div').setStyle('display','block'); ajaxTextPreview('topic_text',false); return false;" />
|
||||
<input type="submit" name="submit_topic_save" value="{$aLang.topic_create_submit_save}" />
|
||||
</form>
|
||||
{hook run='add_topic_topic_end'}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,3 +0,0 @@
|
|||
{include file='header.tpl' menu='topic_action'}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
|
@ -1,3 +0,0 @@
|
|||
{include file='header.tpl' menu='topic_action'}
|
||||
{include file='topic_list.tpl'}
|
||||
{include file='footer.tpl'}
|
|
@ -1,16 +0,0 @@
|
|||
{include file='header.tpl' menu='blog'}
|
||||
|
||||
|
||||
{include file='topic_list.tpl'}
|
||||
|
||||
{if count($aTopics)}
|
||||
{if !$bDisableGetMoreButton}
|
||||
<div id="userfeed_loaded_topics"></div>
|
||||
<input type="hidden" id="userfeed_last_id" value="{$iUserfeedLastId}" />
|
||||
<a class="stream-get-more" id="userfeed_get_more" href="javascript:lsUserfeed.getMore()">{$aLang.userfeed_get_more} ↓</a>
|
||||
{/if}
|
||||
{else}
|
||||
<p style="margin-left:30px">{$aLang.userfeed_no_events}</p>
|
||||
{/if}
|
||||
|
||||
{include file='footer.tpl'}
|
|
@ -1,10 +0,0 @@
|
|||
<div class="block">
|
||||
<h2>{$aLang.block_blog_info}</h2>
|
||||
<p id="block_blog_info"></p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="block">
|
||||
<h2>{$aLang.block_blog_info_note}</h2>
|
||||
<p>{$aLang.block_blog_info_note_text}</p>
|
||||
</div>
|
|
@ -1,27 +0,0 @@
|
|||
<div class="block blogs">
|
||||
<h2>{$aLang.block_blogs}</h2>
|
||||
|
||||
<ul class="switcher">
|
||||
<li class="active"><a href="#" id="block_blogs_top" onclick="lsBlockBlogs.toggle(this,'blogs_top'); return false;">{$aLang.block_blogs_top}</a></li>
|
||||
{if $oUserCurrent}
|
||||
<li><a href="#" id="block_blogs_join" onclick="lsBlockBlogs.toggle(this,'blogs_join'); return false;">{$aLang.block_blogs_join}</a></li>
|
||||
<li><a href="#" id="block_blogs_self" onclick="lsBlockBlogs.toggle(this,'blogs_self'); return false;">{$aLang.block_blogs_self}</a></li>
|
||||
{/if}
|
||||
</ul>
|
||||
|
||||
<div class="block-content">
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
var lsBlockBlogs;
|
||||
window.addEvent('domready', function() {
|
||||
lsBlockBlogs=new lsBlockLoaderClass();
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
{$sBlogsTop}
|
||||
</div>
|
||||
|
||||
<div class="bottom">
|
||||
<a href="{router page='blogs'}">{$aLang.block_blogs_all}</a>
|
||||
</div>
|
||||
</div>
|
|
@ -1,9 +0,0 @@
|
|||
<ul class="list">
|
||||
{foreach from=$aBlogs item=oBlog}
|
||||
<li>
|
||||
<a href="{router page='blog'}{$oBlog->getUrl()}/">{$oBlog->getTitle()|escape:'html'}</a>
|
||||
{if $oBlog->getType()=='close'}<img src="{cfg name='path.static.skin'}/images/lock.png" alt="[x]" title="{$aLang.blog_closed}" />{/if}
|
||||
<span class="rating">{$oBlog->getRating()}</span>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
|
@ -1,23 +0,0 @@
|
|||
<div class="block stream">
|
||||
<h2>{$aLang.block_stream}</h2>
|
||||
|
||||
<ul class="switcher">
|
||||
<li class="active"><a href="#" id="block_stream_comment" onclick="lsBlockStream.toggle(this,'comment_stream'); return false;">{$aLang.block_stream_comments}</a></li>
|
||||
<li><a href="#" id="block_stream_topic" onclick="lsBlockStream.toggle(this,'topic_stream'); return false;">{$aLang.block_stream_topics}</a></li>
|
||||
{hook run='block_stream_nav_item'}
|
||||
</ul>
|
||||
|
||||
<div class="block-content">
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
var lsBlockStream;
|
||||
window.addEvent('domready', function() {
|
||||
lsBlockStream=new lsBlockLoaderClass();
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
{$sStreamComments}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
{if $oUserCurrent}
|
||||
{literal}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
document.addEvent('domready', function() {
|
||||
new Autocompleter.Request.LS.JSON($('stream_users_complete'), aRouter['ajax']+'autocompleter/user/?security_ls_key='+LIVESTREET_SECURITY_KEY, {
|
||||
'indicatorClass': 'autocompleter-loading', // class added to the input during request
|
||||
'minLength': 1, // We need at least 1 character
|
||||
'selectMode': 'pick', // Instant completion
|
||||
'multiple': false, // Tag support, by default comma separated
|
||||
});
|
||||
$('stream_users_complete').addEvent('keydown', function (event) {
|
||||
if (event.key == 'enter') {
|
||||
lsStream.appendUser()
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
|
||||
<div class="block stream-settings">
|
||||
<h2>{$aLang.stream_block_config_title}</h2>
|
||||
|
||||
<p class="sp-note">{$aLang.stream_settings_note_filter}</p>
|
||||
|
||||
<ul class="stream-settings-filter">
|
||||
{foreach from=$aStreamEventTypes key=sType item=aEventType}
|
||||
{if !($oConfig->get('module.stream.disable_vote_events') && substr($sType, 0, 4) == 'vote')}
|
||||
<li>
|
||||
<label>
|
||||
<input class="streamEventTypeCheckbox input-checkbox"
|
||||
type="checkbox"
|
||||
id="strn_et_{$sType}"
|
||||
{if in_array($sType, $aStreamTypesList)}checked="checked"{/if}
|
||||
onClick="lsStream.switchEventType('{$sType}')" />
|
||||
{assign var=langKey value="stream_event_type_`$sType`"}
|
||||
{$aLang.$langKey}
|
||||
</label>
|
||||
</li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>{$aLang.stream_block_users_title}</h3>
|
||||
|
||||
<p class="sp-note">{$aLang.stream_settings_note_follow_user}</p>
|
||||
|
||||
<div class="stream-settings-userlist">
|
||||
<p><input type="text" id="stream_users_complete" autocomplete="off" />
|
||||
<a href="javascript:lsStream.appendUser()">{$aLang.stream_block_config_append}</a></p>
|
||||
{if count($aStreamSubscribedUsers)}
|
||||
<ul id="userfeed_block_users_list">
|
||||
{foreach from=$aStreamSubscribedUsers item=oUser}
|
||||
{assign var=iUserId value=$oUser->getId()}
|
||||
{if !isset($aStreamFriends.$iUserId)}
|
||||
<li><input class="streamUserCheckbox input-checkbox"
|
||||
type="checkbox"
|
||||
id="strm_u_{$iUserId}"
|
||||
checked="checked"
|
||||
onClick="if ($(this).get('checked')) { lsStream.subscribe({$iUserId}) } else { lsStream.unsubscribe({$iUserId}) } " />
|
||||
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
|
||||
</li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</ul>
|
||||
{else}
|
||||
<ul id="stream_block_users_list"></ul>
|
||||
<p id="stream_no_subscribed_users">{$aLang.stream_no_subscribed_users}</p>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
|
||||
{if count($aStreamFriends)}
|
||||
<h3>{$aLang.stream_block_users_friends}</h3>
|
||||
|
||||
<p class="sp-note">{$aLang.stream_settings_note_follow_friend}</p>
|
||||
|
||||
<ul class="stream-settings-friends">
|
||||
{foreach from=$aStreamFriends item=oUser}
|
||||
{assign var=iUserId value=$oUser->getId()}
|
||||
<li><input class="streamUserCheckbox input-checkbox"
|
||||
type="checkbox"
|
||||
id="strm_u_{$iUserId}"
|
||||
{if isset($aStreamSubscribedUsers.$iUserId)} checked="checked"{/if}
|
||||
onClick="if ($(this).get('checked')) { lsStream.subscribe({$iUserId}) } else { lsStream.unsubscribe({$iUserId}) } " />
|
||||
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
|
@ -1,18 +0,0 @@
|
|||
<ul class="list">
|
||||
{foreach from=$aComments item=oComment name="cmt"}
|
||||
{assign var="oUser" value=$oComment->getUser()}
|
||||
{assign var="oTopic" value=$oComment->getTarget()}
|
||||
{assign var="oBlog" value=$oTopic->getBlog()}
|
||||
|
||||
<li>
|
||||
<a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a> →
|
||||
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a> →
|
||||
<a href="{if $oConfig->GetValue('module.comment.nested_per_page')}{router page='comments'}{else}{$oTopic->getUrl()}#comment{/if}{$oComment->getId()}">{$oTopic->getTitle()|escape:'html'}</a>
|
||||
{$oTopic->getCountComment()}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
<div class="bottom">
|
||||
<a href="{router page='comments'}">{$aLang.block_stream_comments_all}</a>
|
||||
</div>
|
|
@ -1,18 +0,0 @@
|
|||
<ul class="list">
|
||||
{foreach from=$oTopics item=oTopic name="cmt"}
|
||||
{assign var="oUser" value=$oTopic->getUser()}
|
||||
{assign var="oBlog" value=$oTopic->getBlog()}
|
||||
|
||||
<li>
|
||||
<a href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a> →
|
||||
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a> →
|
||||
<a href="{$oTopic->getUrl()}">{$oTopic->getTitle()|escape:'html'}</a>
|
||||
{$oTopic->getCountComment()}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
<div class="bottom">
|
||||
<a href="{router page='new'}">{$aLang.block_stream_topics_all}</a>
|
||||
</div>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<div class="block">
|
||||
<ul class="cloud">
|
||||
{foreach from=$aTags item=oTag}
|
||||
<li><a class="w{$oTag->getSize()}" rel="tag" href="{router page='tag'}{$oTag->getText()|escape:'url'}/">{$oTag->getText()|escape:'html'}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
|
@ -1,10 +0,0 @@
|
|||
{if $aCityList && count($aCityList)>0}
|
||||
<div class="block">
|
||||
<h2>{$aLang.block_city_tags}</h2>
|
||||
<ul class="cloud">
|
||||
{foreach from=$aCityList item=aCity}
|
||||
<li><a class="w{$aCity.size}" rel="tag" href="{router page='people'}city/{$aCity.name|escape:'url'}/" >{$aCity.name|escape:'html'}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
|
@ -1,10 +0,0 @@
|
|||
{if $aCountryList && count($aCountryList)>0}
|
||||
<div class="block">
|
||||
<h2>{$aLang.block_country_tags}</h2>
|
||||
<ul class="cloud">
|
||||
{foreach from=$aCountryList item=aCountry}
|
||||
<li><a class="w{$aCountry.size}" rel="tag" href="{router page='people'}country/{$aCountry.name|escape:'url'}/">{$aCountry.name|escape:'html'}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
|
@ -1,23 +0,0 @@
|
|||
{if $oUserCurrent}
|
||||
<div class="block stream-settings">
|
||||
<h2>{$aLang.userfeed_block_blogs_title}</h2>
|
||||
|
||||
<p class="sp-note">{$aLang.userfeed_settings_note_follow_blogs}</p>
|
||||
|
||||
{if count($aUserfeedBlogs)}
|
||||
<ul class="stream-settings-blogs">
|
||||
{foreach from=$aUserfeedBlogs item=oBlog}
|
||||
{assign var=iBlogId value=$oBlog->getId()}
|
||||
<li><input class="userfeedBlogCheckbox input-checkbox"
|
||||
type="checkbox"
|
||||
{if isset($aUserfeedSubscribedBlogs.$iBlogId)} checked="checked"{/if}
|
||||
onClick="if ($(this).get('checked')) { lsUserfeed.subscribe('blogs',{$iBlogId}) } else { lsUserfeed.unsubscribe('blogs',{$iBlogId}) } " />
|
||||
<a href="{$oBlog->getUrlFull()}">{$oBlog->getTitle()|escape:'html'}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{else}
|
||||
<p>{$aLang.userfeed_no_blogs}</p>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue